এই পর্বে যা শিখবেন
- ইন্টারনেটের মূল protocol কেন সবাইকে বিশ্বাস করত, আর তার দাম কী
- স্তর ধরে ঝুঁকির মানচিত্র, প্রতিটি ঝুঁকির পাশে প্রতিরক্ষা আর ধরার উপায়
- BCP 38, DAI, DHCP snooping, port security আর RPKI কী আটকায়, কী আটকায় না
- DNS আর TCP-র ঝুঁকিতে সংখ্যার হিসাব, আর কেন TLS শেষ দেয়াল
- On-path attacker কীভাবে authentication-এর সামনে হেরে যায়
- রক্ষকের চোখে reconnaissance, আর একটি baseline hardening চেকলিস্ট
১ · ইন্টারনেট কেন সবাইকে বিশ্বাস করত
পুরোনো দিনের একটি মহল্লা ভাবুন। সবাই সবাইকে চেনে। পিয়ন চিঠি দেওয়ার সময় খামের ওপর প্রেরকের নাম যাচাই করেন না। কেউ “আমি রহিম চাচা” বললে সেটাই মেনে নেওয়া হয়। মহল্লা ছোট থাকলে এই বিশ্বাস সস্তা আর কাজের। কিন্তু সেই মহল্লায় যদি শহরের সবাই ঢুকে পড়ে?
ইন্টারনেটের সাথে ঠিক এটাই হয়েছে। প্রথম দিকের network ছিল গবেষক আর বিশ্ববিদ্যালয়ের ছোট দল। নকশার লক্ষ্য ছিল টিকে থাকা আর নানা network জোড়া দেওয়া। David Clark-এর ১৯৮৮ সালের প্রবন্ধে DARPA Internet-এর লক্ষ্যের তালিকায় নিরাপত্তা আলাদা লক্ষ্য হিসেবে নেই। ফলে তিনটি অভ্যাস protocol-এর ভেতরে থেকে গেছে:
- প্রেরকই নিজের পরিচয় লেখে। IP header-এর source address, ARP-এর “এই IP আমার”, BGP-র “এই prefix আমার”, সবই দাবি। প্রমাণ নয়।
- প্রথম উত্তরই মেনে নেওয়া হয়। DHCP আর DNS-এ যে উত্তর মেলে আর আগে আসে, সাধারণত সেটাই গৃহীত হয়।
- লেখা খোলা থাকে। মূল protocol-এ বিষয়বস্তু encrypt হতো না। পথের যে কেউ পড়তে পারত।
১৯৮৫ সালে Robert T. Morris Bell Labs-এর একটি প্রতিবেদনে TCP/IP-র দুর্বলতা দেখান। ১৯৮৯ সালে Steven Bellovin “Security Problems in the TCP/IP Protocol Suite” প্রবন্ধে একে একে source routing, routing protocol, DNS আর ঠিকানা-ভিত্তিক বিশ্বাসের সমস্যা তুলে ধরেন। এই পর্বের প্রায় সব ঝুঁকি সেই সময়েই চেনা ছিল। সমস্যা অজানা ছিল না। আসল বাধা হলো, পুরো ইন্টারনেট একসাথে বদলানো যায় না।
এই পর্বের ভিত্তি দুটি পর্ব আগে থেকেই আছে। নিরাপত্তার সাধারণ ছবি আছে Computer Networks কোর্সের নেটওয়ার্ক নিরাপত্তার ভিত্তি-তে। আর DHCP ও ARP কীভাবে কাজ করে, তা আছে DHCP আর ARP পর্বে। এখানে সংক্ষেপে মনে করিয়ে দিই। DHCP নতুন যন্ত্রকে IP, gateway আর DNS-এর ঠিকানা দেয়। ARP একটি IP-র জন্য LAN-এর MAC address খুঁজে দেয়। বাকিটা ওই দুই পর্বেই পাবেন। আমরা এখানে রক্ষকের প্রশ্ন ধরব: কী ভাঙে, কে আটকায়, আর কীভাবে জানবেন।
Network নিরাপত্তার মূল প্রশ্ন একটিই: এই দাবিটি কে যাচাই করছে? যে দাবি কেউ যাচাই করে না, সেটি জাল করা যায়। প্রতিরক্ষা মানে দুটি কাজের একটি। হয় পথেই দাবি যাচাই করা (যেমন switch বা router), নয়তো দুই প্রান্তে cryptography দিয়ে পরিচয় প্রমাণ করা (যেমন TLS).
২ · স্তরে স্তরে ঝুঁকির মানচিত্র
আলাদা আলাদা হামলার নাম মুখস্থ করলে দ্রুত গুলিয়ে যায়। তার চেয়ে স্তর ধরে ভাবা সহজ। প্রতিটি স্তরে প্রশ্ন একই: কোন দাবি জাল হতে পারে, আর সেখানে কে পাহারা দেয়। পর্ব ৪-এর STRIDE-এর ভাষায় এখানে মূলত spoofing, tampering, information disclosure আর denial of service দেখা যায়।
প্রতিটি স্তরে ঝুঁকি আর তার জোড়া প্রতিরক্ষা
Threats by layer, each paired with its defence
একটি স্পষ্ট কথা: ARP কোন স্তরের, তা নিয়ে বই ভেদে মতভেদ আছে। কেউ L2, কেউ L2 আর L3-র মাঝে ধরেন। DHCP আসলে UDP-র ওপর চলা application protocol, তবে তার ঝুঁকি আর প্রতিরক্ষা থাকে LAN-এ। তাই মানচিত্রে একে L2-তে রাখা হয়েছে। মানচিত্র ভাবার জন্য, স্তরের নাম মুখস্থের জন্য নয়।
এবার একটি কাল্পনিক অফিসের জন্য একই মানচিত্র কোডে দেখুন। প্রতিটি ঝুঁকির পাশে দরকারি প্রতিরক্ষার তালিকা আছে। deployed-এ আছে অফিসটি আসলে কী চালু করেছে। Run চাপলে আপনি পাবেন ফাঁকের রিপোর্ট। আসল network-এ কিছুই যায় না।
// Threat -> layer -> defence report for a made-up office. No network.
const MAP = [
{ threat: 'open Wi-Fi sniffing', layer: 'L1-2', fix: ['WPA3', 'TLS'] },
{ threat: 'rogue DHCP server', layer: 'L2', fix: ['DHCP snooping'] },
{ threat: 'ARP spoofing', layer: 'L2', fix: ['DAI', 'TLS'] },
{ threat: 'MAC flooding', layer: 'L2', fix: ['port security'] },
{ threat: 'IP spoofing', layer: 'L3', fix: ['BCP 38'] },
{ threat: 'BGP hijack', layer: 'L3', fix: ['RPKI ROV', 'TLS'] },
{ threat: 'TCP injection', layer: 'L4', fix: ['TLS'] },
{ threat: 'DNS cache poisoning', layer: 'L7', fix: ['DNSSEC', 'TLS'] },
];
// What this toy office has really switched on today.
const deployed = new Set(['TLS', 'WPA3', 'port security']);
const row = { full: 0, partial: 0, gap: 0 };
for (const m of MAP) {
const have = m.fix.filter(f => deployed.has(f));
const state = have.length === m.fix.length ? 'full'
: have.length > 0 ? 'partial' : 'gap';
row[state]++;
const missing = m.fix.filter(f => !deployed.has(f)).join(', ') || '-';
console.log(`${m.layer.padEnd(5)}${m.threat.padEnd(21)}${state.padEnd(8)}${missing}`);
}
console.log(`\nfull=${row.full} partial=${row.partial} gap=${row.gap} of ${MAP.length}`);
// If TLS alone were removed, how many threats lose their only cover?
const lost = MAP.filter(m => {
const have = m.fix.filter(f => deployed.has(f));
return have.length === 1 && have[0] === 'TLS';
}).map(m => m.threat);
console.log('only TLS stands here: ' + lost.join('; '));আউটপুটের শেষ দুই লাইন হলো full=3 partial=3 gap=2 of 8 আর only TLS stands here: ARP spoofing; BGP hijack; TCP injection; DNS cache poisoning. দুটি বড় ফাঁক হলো rogue DHCP server আর IP spoofing: সেখানে কিছুই চালু নেই। আর চারটি ঝুঁকিতে TLS একাই দাঁড়িয়ে। এই অফিসে কোনো সার্ভিস TLS ছাড়া চললে বা কেউ certificate সতর্কবার্তা উপেক্ষা করলে ওই চারটি ঝুঁকি খোলা হয়ে যায়। এই একা-দেয়ালের অবস্থাই পর্ব ৩-এর defense in depth এড়াতে বলে।
৩ · Eavesdropping — খোলা পথে আড়ি পাতা
চায়ের দোকানে জোরে বলা কথা পাশের টেবিলের সবাই শোনে। Eavesdropping মানে পথের ডেটা চুপচাপ পড়া। এতে ডেটা বদলায় না, তাই ভুক্তভোগী টেরও পান না। এটি confidentiality-র ওপর সরাসরি আঘাত, আর শোনা হয় নিঃশব্দে, তাই ধরাও কঠিন। এজন্য এখানে প্রতিরোধই প্রধান ভরসা।
কেন শোনা সম্ভব
- Shared medium: Wi-Fi-র বাতাস মহল্লার মাইকের মতো। নাগালের ভেতরের সব radio একই সংকেত পায়। পুরোনো hub-ও প্রতিটি frame সব port-এ পাঠাত।
- Switched LAN: Switch frame শুধু গন্তব্যের port-এ দেয়, তাই পাশের কম্পিউটার সাধারণত অন্যের traffic পায় না। কিন্তু এটি সুরক্ষা নকশা নয়, সুবিধার ফল। Switch-এর টেবিল ভরে গেলে বা ARP বিষিয়ে গেলে সেই সুবিধা হারাতে পারে।
- খোলা Wi-Fi: Password ছাড়া Wi-Fi-তে radio-র ওপর সাধারণত কোনো encryption থাকে না। আর সবার জানা password দিলে অন্য ব্যবহারকারীও একই network-এ আপনার পাশে থাকেন। হোটেল, ক্যাফে আর হোস্টেলে ঝুঁকি এখান থেকেই আসে।
- পথের যন্ত্র: Router, ISP আর মাঝের লিংকের যেকোনো জায়গায় traffic দেখা যায়। কাছের ঝুঁকি বেশি আলোচিত, কিন্তু পথ পুরোটাই লম্বা।
সমাধান: encryption, আর সে কতদূর রক্ষা করে
পোস্টকার্ড পিয়ন পড়তে পারেন। তালাবন্ধ বাক্সে রাখলে বাক্স দেখা যায়, ভেতরের চিঠি দেখা যায় না। কিন্তু বাক্সের ওপরের ঠিকানা, ওজন আর কখন গেল, এসব তবু দেখা যায়। এই বাইরের তথ্যই traffic metadata.
| Encryption | কোন অংশ রক্ষা করে | কী দেখা যায় তবু |
|---|---|---|
| WPA3 বা WPA2 | শুধু যন্ত্র থেকে access point পর্যন্ত বাতাসের পথ | Access point-এর পর সব খোলা, যদি ওপরের স্তরে encryption না থাকে |
| MACsec (IEEE 802.1AE) | তারের প্রতিটি LAN লিংক | প্রতিটি যন্ত্রের ভেতরে ডেটা খোলা হয় |
| VPN | আপনার যন্ত্র থেকে VPN server পর্যন্ত | VPN server-এর পর ঝুঁকি থাকে; বিশ্বাস ISP থেকে VPN সেবাদাতার কাছে সরে যায় |
| TLS | Application থেকে application, দুই প্রান্তের মাঝের পুরো পথ | গন্তব্য IP, সময়, আকার, প্রায়ই SNI-তে সাইটের নাম |
লক্ষ করুন, লিংক-স্তরের encryption পথের একটি টুকরো ঢাকে, আর end-to-end encryption পুরো পথ ঢাকে। বিস্তারিত Wi-Fi সুরক্ষা আসবে পর্ব ২৭-এ, আর VPN পর্ব ২৫-এ। রক্ষকের জন্য নিয়মটি সহজ: কোনো সংবেদনশীল ডেটা network-কে বিশ্বাস করে খোলা পাঠাবেন না। ধরে নিন পথ শত্রুর হাতে থাকতে পারে। এটি zero trust-এর ভাবনাও।
অন্যের traffic ধরা বা পড়া, এমনকি কৌতূহলে, আইনি আর নৈতিক সীমা ভাঙে। Packet দেখা শিখবেন পর্ব ২৪-এ, শুধু নিজের network-এ বা লিখিত অনুমতি নিয়ে। সীমাটি বিস্তারিত আছে পর্ব ৬-এ।
৪ · IP spoofing আর ingress filtering
খামের ওপর প্রেরকের ঘরে যে কেউ অন্যের ঠিকানা লিখতে পারে। পোস্ট অফিস সাধারণত যাচাই করে না। IP spoofing ঠিক তাই: packet-এর source address-এ অন্য কারো ঠিকানা বসানো। Router শুধু গন্তব্য দেখে পথ বেছে নেয়, উৎস নিয়ে মাথা ঘামায় না।
কেন এটি ক্ষতিকর, আর কোথায় কাজ করে না
- উৎস লুকায়: DDoS-এ হামলার যন্ত্র ধরা কঠিন হয়।
- Reflection: জাল উৎস হিসেবে শিকারের ঠিকানা থাকলে অন্য server-এর উত্তর শিকারের কাছে যায়। উত্তর অনুরোধের চেয়ে বড় হলে বোঝাও বাড়ে। প্রতিরক্ষা আসবে পর্ব ২৮-এ।
- ঠিকানা-ভিত্তিক বিশ্বাস ভাঙে: “এই IP থেকে এলে login লাগবে না” ধরনের নিয়ম পুরোনো, কিন্তু আজও মেলে।
একটি সীমাও জানা দরকার। জাল উৎস দিলে উত্তর জাল-ঠিকানায় যায়, প্রেরকের কাছে আসে না। তাই পূর্ণ TCP সংযোগ জাল ঠিকানায় সাধারণত গড়া যায় না। Spoofing মূলত UDP-র মতো এক-বার্তার protocol আর flood-এ কাজে লাগে।
প্রতিরক্ষা: উৎসের কাছেই আটকানো
পাড়ার পোস্ট অফিস জানে কোন ঠিকানা তার এলাকার। এলাকার বাইরের প্রেরক-ঠিকানার চিঠি কেউ জমা দিলে সেখানেই ফেরত দেওয়া যায়। Ingress filtering এই কাজটিই করে। ISP-র edge router জানে কোন গ্রাহককে কোন prefix দেওয়া হয়েছে। সেই গ্রাহকের লিংকে অন্য উৎসের packet এলে ফেলে দেয়। এই নিয়ম লেখা আছে RFC 2827-এ (BCP 38, মে ২০০০, Ferguson ও Senie). পরে RFC 3704 (BCP 84, ২০০৪) একে বহু-সংযোগের network-এ প্রসারিত করে, আর সেখানে uRPF-এর ধরনগুলো আলোচিত হয়।
প্রতিষ্ঠানের নিজের সীমানায় একই কাজের আরেক নাম egress filtering: আপনার network থেকে বাইরে শুধু আপনার prefix-এর উৎস যাবে। একই নিয়ম, শুধু দেখার দিক আলাদা। নিচে ধাপগুলো দেখুন।
- গ্রাহকের লিংক
198.51.100.0/24বরাদ্দ prefix - জাল packet
src 203.0.113.9অন্যের ঠিকানা - Edge router
prefix মিলছে?উৎস যাচাই - ফল
DROPলগে গণনা
from customer link
src = 198.51.100.20
dst = 203.0.113.9
198.51.100.20 in 198.51.100.0/24 ? yes -> PASS
from customer link src = 203.0.113.9 (অন্য কারো ঠিকানা) dst = 192.0.2.53
allowed source = 198.51.100.0/24
203.0.113.9 in 198.51.100.0/24 ? no
DROP source is not yours
counter antispoof +1
192.0.2.53 কিছুই পেল না
203.0.113.9 কোনো অবাঞ্ছিত উত্তর পেল না
packet পৌঁছে যেত 192.0.2.53-এ
উত্তর যেত 203.0.113.9-এ (যে কিছুই চায়নি)
আসল প্রেরককে দেখা যেত না
- বৈধ packet. গ্রাহকের লিংকে prefix
198.51.100.0/24বরাদ্দ। উৎস198.51.100.20এই prefix-এর ভেতরে, তাই packet চলে যায়। - জাল উৎস। একই লিংকে এলো উৎস
203.0.113.9, যা এই গ্রাহকের ঠিকানাই নয়। Packet বানানো সহজ, কারণ source address প্রেরকই লেখে। - যাচাই। Edge router উৎস মেলায় বরাদ্দ prefix-এর সাথে।
203.0.113.9সেই prefix-এ নেই। এই প্রশ্ন শুধু উৎসের কাছের router-ই নিশ্চিতভাবে করতে পারে। - Drop আর গণনা। Packet ফেলে দেওয়া হলো, counter বাড়ল।
192.0.2.53কিছুই পেল না,203.0.113.9-ও কোনো উত্তর পেল না। - Filter না থাকলে কী হতো। Packet পৌঁছাত, উত্তর যেত নির্দোষ
203.0.113.9-এ, আর আসল প্রেরক আড়ালেই থাকত। এই একটি পরীক্ষার দাম সামান্য, লাভ অন্য সবার।
একই নিয়ম কোডে। এখানে দুই দিকের যাচাই আছে: গ্রাহকের দিক থেকে আসা packet-এর উৎস অবশ্যই prefix-এর ভেতরে, আর ইন্টারনেটের দিক থেকে আসা packet-এর উৎস prefix-এর বাইরে। Packet এখানে শুধু JavaScript object.
// Toy edge router: BCP 38 style source check. Packets are plain objects.
const ip = s => s.split('.').reduce((n, o) => n * 256 + Number(o), 0);
function inPrefix(addr, cidr) {
const [net, bits] = cidr.split('/');
const size = 2 ** (32 - Number(bits));
return Math.floor(ip(addr) / size) === Math.floor(ip(net) / size);
}
const CUSTOMER = '198.51.100.0/24'; // the only source this link may use
function check(p) {
const mine = inPrefix(p.src, CUSTOMER);
if (p.from === 'customer' && !mine) return 'DROP source is not yours';
if (p.from === 'internet' && mine) return 'DROP outsider claims inside';
return 'PASS';
}
const packets = [
{ from: 'customer', src: '198.51.100.20', dst: '203.0.113.9' },
{ from: 'customer', src: '203.0.113.9', dst: '192.0.2.53' },
{ from: 'customer', src: '192.0.2.7', dst: '203.0.113.9' },
{ from: 'customer', src: '198.51.100.99', dst: '203.0.113.9' },
{ from: 'internet', src: '203.0.113.9', dst: '198.51.100.20' },
{ from: 'internet', src: '198.51.100.20', dst: '198.51.100.21' },
];
let pass = 0, drop = 0;
for (const p of packets) {
const verdict = check(p);
verdict === 'PASS' ? pass++ : drop++;
console.log(`${p.from.padEnd(9)}${p.src.padEnd(15)}${verdict}`);
}
console.log(`pass=${pass} drop=${drop}`);
console.log('note: 198.51.100.99 passed. The filter checks the prefix,');
console.log('not which host inside the prefix really sent the packet.');ফল pass=3 drop=3. দ্বিতীয় আর তৃতীয় লাইনে DROP source is not yours হলো BCP 38. ষষ্ঠ লাইনের DROP outsider claims inside হলো উল্টো দিকের নিয়ম: বাইরে থেকে কেউ ভেতরের ঠিকানা দাবি করছে। কিন্তু চতুর্থ লাইন খেয়াল করুন: 198.51.100.99 পাস করেছে। এটি একই prefix-এর ঠিকানা, তাই কে সত্যিই পাঠিয়েছে, filter জানে না। Filter জাল ঠিকানার পরিসর কমায়, ব্যক্তিকে প্রমাণ করে না। Prefix-এর ভেতরের যাচাই করে LAN-এর IP source guard ধরনের সুবিধা। আর আসল ঠিকানা থেকে আসা flood এই নিয়মে আটকায় না।
# উদাহরণ: নিজের edge router-এর জন্য nftables নিয়ম, চালানোর কোড নয়।
# lan0 ভেতরের দিক, wan0 বাইরের দিক; prefix আপনার নিজের বসবে।
table inet antispoof {
chain forward {
type filter hook forward priority 0; policy accept;
iifname "lan0" ip saddr != 198.51.100.0/24 counter drop
iifname "wan0" ip saddr 198.51.100.0/24 counter drop
}
}এই উদাহরণ শুধু উৎস-যাচাই দেখায়। পুরো firewall নীতি নয়, সেটি পর্ব ২২-এর বিষয়। Counter বাড়তে থাকলে বুঝবেন ভেতরের কোনো যন্ত্র ভুল উৎসে packet পাঠাচ্ছে: ভুল configuration, নাকি আক্রান্ত যন্ত্র, সেটি খুঁজে দেখতে হবে।
৫ · LAN-এর বিশ্বাস — ARP spoofing, ভুয়া DHCP আর port security
এবার মহল্লার ভেতরে আসি। ARP মানে পাড়ায় চিৎকার করে জিজ্ঞেস করা, “192.0.2.1 কার?” যে উত্তর দেয়, সবাই তাকেই মেনে নেয়। উত্তর যাচাইয়ের কোনো নিয়ম নেই। ARP-এর মূল নকশা RFC 826 (১৯৮২) একটি বিশ্বস্ত LAN ধরে নিয়েছিল।
ARP spoofing এই বিশ্বাসের ভুল ব্যবহার। ধারণাটি সরল: একটি যন্ত্র দাবি করে, gateway-র IP তার MAC-এ। যাদের ARP cache এই দাবি মেনে নিল, তাদের বাইরের traffic ওই যন্ত্রের দিকে যায়। ফলাফল হতে পারে traffic ফেলে দেওয়া (network বন্ধ), অথবা পড়ে আসল gateway-তে পাঠানো (MITM). ঝুঁকি একই LAN বা VLAN-এর মধ্যে সীমিত। কারণ ARP router পার হয় না।
প্রতিরক্ষা: দারোয়ানের রেজিস্টার খাতা
একটি বড় ভবনে দারোয়ানের খাতায় লেখা থাকে কোন ফ্ল্যাটে কে থাকেন। কেউ এসে “আমি ৩বি-র মালিক” বললে দারোয়ান খাতা দেখেন, মুখের কথা নয়। Switch-এর খাতার নাম binding table. তিনটি প্রতিরক্ষা একে ঘিরে কাজ করে:
DHCP snooping
Switch-এর port দুই ভাগে: trusted (আসল DHCP-র দিকে) আর untrusted (ব্যবহারকারীর দিকে)। Untrusted port থেকে server-ধরনের DHCP বার্তা ফেলে দেয়। সফল বরাদ্দ দেখে খাতা ভরে: MAC, IP, VLAN, port.
ঠেকায়: ভুয়া DHCP serverDynamic ARP Inspection
Untrusted port-এ আসা প্রতিটি ARP-এর IP আর MAC-এর জোড়া খাতার সাথে মেলায়। না মিললে ফেলে দেয় আর log করে।
ঠেকায়: ARP spoofingPort security
একটি port-এ কয়টি MAC চলবে, তার সীমা বসায়। সীমা পেরোলে বাড়তি frame ফেলে দেয় বা port বন্ধ করে।
ঠেকায়: MAC flooding, অচেনা যন্ত্রRogue DHCP server নতুন যন্ত্রকে ভুল gateway বা ভুল DNS দিতে পারে। বহু ক্ষেত্রে কারণ নিরীহ: কেউ বাসার router এনে অফিসের তারে লাগিয়েছেন। DHCP snooping দুই ক্ষেত্রেই একই কাজ করে। MAC flooding-এ অসংখ্য ভুয়া MAC দিয়ে switch-এর টেবিল ভরে দেওয়া হয়, তখন switch অনেক frame সব port-এ ছড়াতে পারে। Port security এখানে সীমা বসায়। আর 802.1X অচেনা যন্ত্রকে port-এ ঢোকার আগেই থামায়। এই তিনের সাথে VLAN ভাগ আর Wi-Fi-র client isolation ক্ষতির পরিধি ছোট রাখে।
নিচের stepper আগে স্বাভাবিক ARP দেখায়, তারপর একটি জাল reply কীভাবে থামে। Dynamic ARP Inspection (DAI) এখানে মূল চরিত্র।
- Host A
who-has .1?broadcast - Gateway
uplinktrusted port - জাল reply
port p7untrusted - খাতা দেখা
binding tableDAI - DROP
log + alertcache অক্ষত
ARP request: who has 192.0.2.1? cache: (empty)
192.0.2.1 is at 02:00:00:00:00:01
cache: 192.0.2.1 -> 02:00:00:00:00:01
192.0.2.1 is at 02:00:00:00:00:77
cache: 192.0.2.1 -> 02:00:00:00:00:01
192.0.2.10 02:00:00:00:00:0a p1 192.0.2.77 02:00:00:00:00:77 p7 192.0.2.1 p7-এর জন্য কোনো binding নেই
DROP port=p7 ip=192.0.2.1 mac=02:00:00:00:00:77 cache: 192.0.2.1 -> 02:00:00:00:00:01 (অপরিবর্তিত)
- প্রশ্ন। Host A gateway
192.0.2.1-এর MAC জানে না, তার cache খালি। তাই সে LAN-জুড়ে broadcast করে জিজ্ঞেস করে। - আসল উত্তর। Gateway আছে trusted uplink-এর দিকে, তাই switch তার উত্তর সরাসরি ছাড়ে। Cache-এ বসল
02:00:00:00:00:01. - একটি জাল দাবি। Port p7 থেকে কেউ দাবি করল, gateway-র IP তার MAC
02:00:00:00:00:77-এ। Inspection ছাড়া Host A এটি মেনে নিতে পারত। - খাতা দেখা। Port p7 untrusted, তাই DAI binding table খোঁজে। খাতায় p7-এর নামে আছে শুধু
192.0.2.77; gateway-র IP-র কোনো binding নেই। - Drop আর log. Frame ফেলে দেওয়া হলো, alert তৈরি হলো। Host A-এর cache আগের মতোই
02:00:00:00:00:01. রক্ষক এবার p7 কোথায়, তা খুঁজবেন।
এবার সিমুলেটর। একই পাঁচটি ARP বার্তা দুবার চলে: inspection বন্ধ রেখে আর চালু রেখে। সবই memory-র ভেতরের খেলনা, কোনো আসল frame তৈরি হয় না।
// Toy switch: ARP inspection against a trusted binding table. In memory only.
const GW = '192.0.2.1', GW_MAC = '02:00:00:00:00:01';
const binding = { // learned from DHCP (or written by the admin)
'192.0.2.10': { mac: '02:00:00:00:00:0a', port: 'p1' },
'192.0.2.77': { mac: '02:00:00:00:00:77', port: 'p7' },
};
const TRUSTED = new Set(['uplink']); // the gateway lives behind this port
const arps = [
{ port: 'uplink', ip: GW, mac: GW_MAC, note: 'real gateway' },
{ port: 'p1', ip: '192.0.2.10', mac: '02:00:00:00:00:0a', note: 'normal host' },
{ port: 'p7', ip: GW, mac: '02:00:00:00:00:77', note: 'forged reply' },
{ port: 'p1', ip: '192.0.2.77', mac: '02:00:00:00:00:0a', note: 'wrong owner' },
{ port: 'p9', ip: '192.0.2.50', mac: '02:00:00:00:00:50', note: 'static printer' },
];
function allowed(a) {
if (TRUSTED.has(a.port)) return [true, 'trusted port'];
const b = binding[a.ip];
if (!b) return [false, 'no binding'];
if (b.mac !== a.mac || b.port !== a.port) return [false, 'binding mismatch'];
return [true, 'matches binding'];
}
function run(inspect) {
const cache = {}; let dropped = 0; // cache: what hosts on this LAN would believe
console.log(`--- inspection ${inspect ? 'ON' : 'OFF'} ---`);
for (const a of arps) {
const [ok, why] = inspect ? allowed(a) : [true, 'no check'];
if (ok) cache[a.ip] = a.mac; else dropped++;
console.log(`${a.note.padEnd(15)}${(ok ? 'accept' : 'DROP').padEnd(7)}${why}`);
}
const mac = cache[GW];
console.log(`gateway -> ${mac} ${mac === GW_MAC ? '(correct)' : '(WRONG)'}, dropped=${dropped}`);
}
run(false);
run(true);Inspection বন্ধ থাকলে ফল gateway -> 02:00:00:00:00:77 (WRONG), dropped=0: শেষ দাবিই জিতেছে। চালু থাকলে gateway -> 02:00:00:00:00:01 (correct), dropped=3. wrong owner লাইনের binding mismatch দেখায়, অন্যের IP দাবি করলেও ধরা পড়ে। কিন্তু static printer-ও DROP হলো! সে DHCP নেয় না, তাই খাতায় নেই। এটি একটি false positive, আর বাস্তবে DAI চালুর পরের সবচেয়ে পরিচিত সমস্যা। তাই চালুর আগে static যন্ত্রের তালিকা বানিয়ে তাদের binding হাতে লিখতে হয়, আর আগে শুধু log করে দেখা ভালো।
Alert থেকে সিদ্ধান্ত: log পড়া
প্রতিরক্ষা চালু করা অর্ধেক কাজ। বাকি অর্ধেক হলো তার log পড়া। নিচের Bash block একটি বানানো switch log-এর গণনা করে। Log-এর ফরম্যাট কাল্পনিক; আসল switch-এ vendor অনুযায়ী আলাদা হবে।
# Review of a fixed, made-up switch log. Nothing here touches a real network.
cat > switch.log <<'EOF'
09:58:02 sw1 INFO link-up port=p3
10:01:14 sw1 DHCP-SNOOP drop=OFFER port=p12 vlan=10 mac=02:00:00:00:00:c4
10:01:16 sw1 DHCP-SNOOP drop=OFFER port=p12 vlan=10 mac=02:00:00:00:00:c4
10:01:19 sw1 DHCP-SNOOP drop=ACK port=p12 vlan=10 mac=02:00:00:00:00:c4
10:03:40 sw1 INFO link-up port=p5
10:07:02 sw1 ARP-INSPECT drop=reply port=p7 vlan=10 ip=192.0.2.1 mac=02:00:00:00:00:77
10:07:03 sw1 ARP-INSPECT drop=reply port=p7 vlan=10 ip=192.0.2.1 mac=02:00:00:00:00:77
10:07:05 sw1 ARP-INSPECT drop=reply port=p7 vlan=10 ip=192.0.2.1 mac=02:00:00:00:00:77
10:07:06 sw1 ARP-INSPECT drop=reply port=p7 vlan=10 ip=192.0.2.1 mac=02:00:00:00:00:77
10:09:31 sw1 ARP-INSPECT drop=request port=p9 vlan=10 ip=192.0.2.50 mac=02:00:00:00:00:50
10:12:45 sw1 INFO link-up port=p8
EOF
echo "== alerts by type =="
awk '$3=="DHCP-SNOOP" || $3=="ARP-INSPECT" {print $3}' switch.log | sort | uniq -c
echo "== alerts by type and port =="
awk '$3!="INFO" {print $3, $5}' switch.log | sort | uniq -c | sort -rn
echo "== who claimed the gateway 192.0.2.1? =="
grep 'ip=192.0.2.1 ' switch.log | awk '{print $5, $8}' | sort -u
echo "== ports with 3 or more alerts (look at these first) =="
awk '$3!="INFO" {n[$5]++} END {for (p in n) if (n[p] >= 3) print p, n[p]}' switch.log | sortগণনায় এলো 5 ARP-INSPECT আর 3 DHCP-SNOOP. শেষ অংশ বলছে port=p12 3 আর port=p7 4, এই দুই port আগে দেখতে হবে। p12 থেকে OFFER আর ACK আসছে, অর্থাৎ সেখানে কেউ DHCP server চালাচ্ছে; প্রথম সন্দেহ হলো ভুলে লাগানো router. p7 বারবার gateway-র ঠিকানা দাবি করছে, যা বেশি গুরুতর। আর p9-এর একটি alert সম্ভবত static printer; মাত্র 1টি বলে তালিকার নিচে। গণনা শুধু অগ্রাধিকার ঠিক করে, দোষী প্রমাণ করে না। পরের কাজ port-এর যন্ত্রটি খুঁজে মালিকের সাথে কথা বলা, আর দরকার হলে port আলাদা করা। Log সংরক্ষণ আর correlation আসবে পর্ব ৫৫ ও পর্ব ৫৬-এ।
৬ · নাম, সংযোগ আর পথ — DNS, TCP আর BGP
LAN পেরিয়ে এবার ইন্টারনেট। এখানে তিনটি বিশ্বাস আছে: নাম থেকে ঠিকানা (DNS), চলমান সংযোগ (TCP), আর পথের ঘোষণা (BGP). প্রতিটির ঝুঁকি আলাদা, কিন্তু শেষ ফল প্রায়ই একই: traffic ভুল জায়গায় যায়।
DNS spoofing আর cache poisoning
মোবাইলে রাখা নম্বরের তালিকায় কেউ “ব্যাংক” নামের নম্বর বদলে দিলে আপনি নিজের অজান্তেই ভুল নম্বরে ফোন করবেন। DNS-এর ঝুঁকি এমনই। DNS spoofing মানে জাল উত্তর দেওয়া। DNS cache poisoning আরও বড়: জাল উত্তর একটি resolver-এর cache-এ বসে গেলে তার সব ব্যবহারকারী ভুল ঠিকানা পান।
UDP-তে resolver চেনে উত্তরকে মূলত দুটি সংখ্যায়: ১৬-bit transaction ID আর প্রশ্ন পাঠানোর UDP port. রক্ষকের চোখে হিসাবটি সরল। সংখ্যা যত এলোমেলো, অন্ধভাবে মেলানো তত কঠিন।
শুধু ID: সম্ভাবনা ২১৬ = ৬৫,৫৩৬টি। ধরা যাক একটি উত্তরের দৌড়ে অনুমান পৌঁছায় ১০,০০০টি। মিলে যাওয়ার সম্ভাবনা ১০,০০০ ÷ ৬৫,৫৩৬ ≈ ১৫.২৬%.
ID আর এলোমেলো port: ধরে নিন port-এর পরিসর ২৮,০০০টি। মোট ৬৫,৫৩৬ × ২৮,০০০ = ১,৮৩৫,০০৮,০০০ (প্রায় ২৩০.৮)। একই ১০,০০০ অনুমানে সম্ভাবনা ≈ ০.০০০৫৪%. একটি সংখ্যা এলোমেলো করায় কাজ ২৮,০০০ গুণ কঠিন হলো, আর কোনো protocol বদলাতে হলো না।
২০০৮ সালে Dan Kaminsky একটি নকশাগত DNS দুর্বলতা প্রকাশ করেন। তখন বহু vendor সমন্বিতভাবে source port randomization ছড়িয়ে দেন, RFC 5452 (২০০৯) এই শক্তিশালী আচরণ লিখে রাখে। তবে এটি সম্ভাবনা কমায়, প্রমাণ দেয় না। প্রমাণ দেয় DNSSEC: zone-এর signature দিয়ে উত্তর যাচাই। বিস্তারিত পর্ব ২৬-এ। আর যদি DNS ভুলও বলে, ঠিকমতো যাচাই করা TLS ভুয়া সাইটকে সেখানে থামায়, কারণ ভুয়া server-এর কাছে আসল নামের certificate নেই।
TCP session-এর ঝুঁকি
TCP সংযোগ চিহ্নিত হয় দুই ঠিকানা, দুই port আর sequence number দিয়ে। এখানে কোনো cryptography নেই। যে পথে বসে আছে, সে এগুলো দেখতে পায়। তাই সে সংযোগ কেটে দিতে পারে (TCP reset) বা খোলা লেখায় ডেটা ঢোকাতে পারে (session hijacking).
পথের বাইরের কেউ হলে তাকে অন্ধভাবে অনুমান করতে হয়। সংখ্যার হিসাব দেখুন। Sequence space ২৩২, আর গ্রহণযোগ্য window ধরুন ৬৫,৫৩৫। তাহলে একটি অনুমান window-তে পড়ার সম্ভাবনা প্রায় ৬৫,৫৩৭ ভাগের ১ ভাগ। এটিও খুব বড় বাধা নয়। তাই RFC 5961 (২০১০) নিয়ম কড়া করেছে: RST-এর sequence একদম প্রত্যাশিত না হলে TCP সংযোগ না কেটে challenge ACK পাঠায়। আর RFC 6528 প্রাথমিক sequence number-কে অনুমান-অযোগ্য রাখতে বলে, যে নিয়ম এখন RFC 9293 (২০২২)-এর অংশ।
এসব কৌশল সম্ভাবনা কমায়, কিন্তু পথের মাঝের কারো সামনে TCP নিজে অসহায়। TLS প্রতিটি record-এ AEAD tag বসায়। ঢোকানো ডেটার tag মিলবে না, তাই application তা গ্রহণই করবে না। তবে TLS চলে TCP-র ওপরে। জাল reset সংযোগ কেটে দিতে পারে। অর্থাৎ TLS গোপনীয়তা আর integrity রক্ষা করে, availability পুরো নয়।
BGP hijack আর RPKI
ঢাকা শহরের কোনো মোড়ে কেউ ভুয়া সাইনবোর্ড লাগাল, “গাবতলীর পথ এদিকে।” যারা বিশ্বাস করল, তারা ভুল পথে গেল। BGP-এ প্রতিটি autonomous system প্রতিবেশীদের জানায় কোন prefix-এ কোন পথে যাওয়া যায়, আর মূল protocol এই ঘোষণা প্রমাণ চায় না। BGP hijack মানে এমন prefix ঘোষণা করা, যা আপনার নয়। ভুলে ঘটলে তাকে সাধারণত route leak বা ভুল ঘোষণা বলা হয়; মাঝের সীমারেখা সব সময় স্পষ্ট নয়। বিস্তারিত গঠন আছে BGP পর্বে।
২০০৮ সালের ফেব্রুয়ারিতে Pakistan Telecom-এর একটি অননুমোদিত prefix ঘোষণা উপরের provider হয়ে ছড়িয়ে পড়ে, ফলে YouTube-এর traffic প্রায় দুই ঘণ্টা ধরে ভুল পথে যায় (RIPE NCC-র case study). নির্দিষ্টতর prefix জিতে যাওয়াই ছিল কারণ। আসল সমস্যা ছিল: উপরের provider সেই ঘোষণা যাচাই না করেই ছড়িয়েছিল।
প্রতিরক্ষা হলো RPKI (RFC 6480, ২০১২)। Prefix-এর মালিক একটি স্বাক্ষরিত ROA প্রকাশ করেন: “এই prefix ঘোষণা করতে পারে এই AS.” Router route origin validation (RFC 6811, ২০১৩) করে ফল পায়: valid, invalid বা not found. সাধারণ নীতি হলো invalid route ফেলে দেওয়া। একে বাসের রুট পারমিটের সিলমোহর ভাবতে পারেন: এই রুটে এই কোম্পানি চালাতে পারে কি না, সেটুকুই মেলানো হয়। সীমাও এখানেই: RPKI origin যাচাই করে, পুরো পথ নয়। তাই সাথে প্রতিবেশীর prefix filter আর route monitoring চালু রাখতে হয়। রুট ঘোষণা করা সবার কাজ নয়, তাই বেশিরভাগ প্রতিষ্ঠানের করণীয় সহজ: নিজের prefix-এর ROA বানানো, ISP-কে জিজ্ঞেস করা তারা invalid route ফেলে কি না, আর নিজের prefix নজরে রাখা।
৭ · On-path attacker — authentication কীভাবে তাকে হারায়
আগের সব ঝুঁকির একটি সাধারণ গন্তব্য আছে। ভুয়া Wi-Fi, ARP spoofing, ভুয়া DHCP, DNS poisoning বা BGP hijack, পথ যেটাই হোক, শেষে কেউ দুই পক্ষের পথে বসে যায়। পুরোনো নাম man-in-the-middle, আজকের RFC-গুলোতে প্রায়ই on-path attacker. এই নামটি সঠিক, কারণ সে বিশেষ কোনো “মাঝে” নয়, শুধু পথে আছে।
অনেক পথ, এক গন্তব্য: পথের মাঝে বসা
Many routes to one on-path position, and the TLS tunnel past it
এখানে পর্ব ১০-এর একটি কথা ফিরে আসে: শুধু key exchange নিজে পরিচয় দেয় না। মাঝের কেউ দুই দিকে আলাদা করে Diffie-Hellman করলে দুই পক্ষই তার সাথে encrypted কথা বলবে। Encryption আছে, নিরাপত্তা নেই। পরিচয়ের প্রমাণ আসে পর্ব ১১-এর digital signature আর certificate থেকে, আর সবকিছু একসাথে জোড়ে পর্ব ১২-এর TLS handshake. নিচের stepper দুটি চেষ্টা দেখায়, দুটিই ব্যর্থ। লক্ষ করুন, কোনটি কোথায় থামল।
- Client
example.comTLS শুরু - পথের মাঝে
on-pathনিজের certificate - যাচাই ১
name + chainClient - যাচাই ২
signatureClient - ফল
abortডেটা যায়নি
TLS 1.3 ClientHello server_name = example.com key_share = client-share-A
Certificate subject = not-example.test issuer = unknown-local-ca example.com-এর আসল private key তার কাছে নেই
chain ends in trust store? NO name matches example.com? NO result: certificate error, stop
certificate = real example.com (chain OK) key_share = swapped CertificateVerify over transcript? NO VALID SIGNATURE
TLS alert, connection closed
password, cookie: কিছুই যায়নি
তবু দেখতে পায়: IP, সময়, আকার
তবু পারে: সংযোগ কেটে দিতে
- ClientHello. Client
example.com-এর সাথে TLS শুরু করে। এখনো শুধু handshake-এর বার্তা, কোনো গোপন ডেটা নেই। পথে কেউ বসে আছে, client তা জানে না। - চেষ্টা ১: নিজের certificate. পথের মানুষ server সেজে নিজের certificate দেখায়। তার কাছে
example.com-এর আসল private key নেই, তাই অন্য নাম আর অচেনা issuer-এর certificate ছাড়া উপায় নেই। - Chain আর নাম ব্যর্থ। Client দেখে chain তার trust store-এ শেষ হয়নি, নামও মেলেনি। এখানেই browser বড় সতর্কবার্তা দেখায়। আপনি থামলে হামলা শেষ।
- চেষ্টা ২: আসল certificate. এবার আসল certificate ফরোয়ার্ড করা হলো, কিন্তু key_share বদলানো হলো। TLS 1.3-এ server পুরো handshake-এর ওপর CertificateVerify signature দেয়। Private key ছাড়া বদলানো handshake-এর জন্য বৈধ signature বানানো যায় না, তাই যাচাই ব্যর্থ।
- ফল। Handshake বাতিল। Password বা cookie কিছুই যায়নি। পথের মানুষ এখনো IP, সময় আর আকার দেখতে পায়, আর সংযোগ কেটেও দিতে পারে। অর্থাৎ সে আর পড়তে বা বদলাতে পারে না, কিন্তু বন্ধ করতে পারে।
এই দেয়াল তিনভাবে ভাঙতে পারে, আর তিনটিই মানুষের বা ব্যবস্থাপনার ভুল: (১) ব্যবহারকারী সতর্কবার্তা উপেক্ষা করলেন; (২) কোডে কেউ certificate যাচাই বন্ধ করে দিলেন (verify=False); (৩) যন্ত্রের trust store-এ কেউ অচেনা root বসালেন। প্রথমবার http দিয়ে ঢোকার ফাঁক HSTS দিয়ে বন্ধ করতে হয়, কারণ সেখানে downgrade সম্ভব। প্রতিষ্ঠানে বৈধ TLS inspection থাকলে সেটি ইচ্ছাকৃত মধ্যস্থতা, যা ব্যবহারকারীকে জানাতে হয় আর নীতিতে লিখতে হয়।
কোথায় authentication বসাবেন
- Browser আর API: TLS, certificate যাচাই চালু, HSTS.
- Service থেকে service: mTLS, যেখানে দুই পক্ষই নিজের পরিচয় প্রমাণ করে।
- Admin login: SSH-এ host key যাচাই। “প্রথমবার yes” চাপার আগে fingerprint মেলান।
- মানুষের login: Origin-এর সাথে বাঁধা passkey. পর্ব ১৬-এ দেখেছেন, ভুয়া সাইটে এটি কাজই করে না, তাই on-path relay-ও ফল পায় না।
৮ · Reconnaissance, রক্ষকের চোখে — আপনার network কী দেখায়
পর্ব ৫-এর reconnaissance ধাপে আক্রমণকারী তথ্য জোগাড় করে। ইন্টারনেটে খোলা port-এর স্বয়ংক্রিয় খোঁজ সব সময়ই চলছে, তাই কোনো সার্ভিস “কেউ জানে না” ভাবা ভুল। এই পর্বে আমরা খোঁজার উপায় শিখব না, শিখব রক্ষকের প্রশ্নটি: বাইরে থেকে আমার কী দেখা যায়, আর তার কতটা না দেখালেও চলে?
একটি বাড়ির কথা ভাবুন। যত দরজা আর জানালা রাস্তায় খোলে, পাহারার কাজ তত বেশি। অব্যবহৃত দরজা ইট দিয়ে বন্ধ করাই সস্তা নিরাপত্তা। এটিই attack surface কমানো।
| কী প্রকাশ পায় | কেন গুরুত্বপূর্ণ | রক্ষকের কাজ |
|---|---|---|
| খোলা সার্ভিস | প্রতিটিই একটি প্রবেশপথ; পুরোনো সংস্করণে ঝুঁকি বেশি | যা দরকার নেই বন্ধ; বাকিগুলো patch |
| Management interface | Router, switch, database-এর admin পাতা Internet-এ থাকার কারণ নেই | আলাদা network, VPN বা bastion, MFA |
| DNS নাম আর subdomain | ভুলে যাওয়া staging সাইট প্রায়ই দুর্বল থাকে | নামের তালিকা, পুরোনো record মোছা |
| Certificate Transparency | আপনার নামের certificate প্রকাশ্য log-এ থাকে | নিজের নাম নজরে রাখা (পর্ব ১১) |
| Version banner, error পাতা | কোন software, কোন সংস্করণ বলে দেয় | অপ্রয়োজনীয় তথ্য না দেখানো; তবে এটি মূল প্রতিরক্ষা নয় |
| কর্মীর তথ্য, job post | কোন product চলে, কে দায়িত্বে | দরকারের বেশি না বলা; সচেতনতা |
শুরু করবেন asset inventory দিয়ে: কোন যন্ত্র, কোন ঠিকানা, কোন সার্ভিস, মালিক কে। তালিকায় না থাকা জিনিস রক্ষা করা যায় না। তারপর নিয়মিত যাচাই। প্রতিষ্ঠানের অনুমোদন নিয়ে নিজের ঠিকানার exposure দেখার সেবা বা নিরাপত্তা দলের নির্ধারিত প্রক্রিয়া ব্যবহার করুন। পরীক্ষার পরিধি আগে লিখে নিন; সেই কাজ পর্ব ৫০-এর নিয়মে চলে।
লুকানো আর সুরক্ষিত এক কথা নয়। Port নম্বর বদলে SSH রাখলে log-এর গোলমাল কমতে পারে, কিন্তু সুরক্ষা আসে key-ভিত্তিক login আর সীমিত access থেকে। পর্ব ৩-এর security through obscurity এখানেও মনে রাখুন। Attack surface কমানো মানে সত্যিই বন্ধ করা, শুধু আড়াল করা নয়।
৯ · Baseline hardening আর অনুমোদনের সীমা
এই চেকলিস্ট একটি ছোট বা মাঝারি প্রতিষ্ঠানের শুরু। সব একদিনে নয়, আর চালুর আগে log-only ধাপে দেখে নিন। কোনটি আগে করবেন, তা ঠিক হবে আপনার threat model দিয়ে।
Host-এর দিকেও ছোট একটি baseline দেওয়া যায়। নিচের ফাইল আপনার নিজের Linux server-এর জন্য:
# উদাহরণ: /etc/sysctl.d/90-net-baseline.conf (নিজের Linux host)
# এই ফাইলে মন্তব্য নিজের লাইনে লিখতে হয়, মানের পাশে নয়।
# উৎস যাচাই (strict)
net.ipv4.conf.all.rp_filter = 1
# ICMP redirect না মানা
net.ipv4.conf.all.accept_redirects = 0
# host-এ দরকার নেই
net.ipv4.conf.all.send_redirects = 0
# source routing না মানা
net.ipv4.conf.all.accept_source_route = 0
# অসম্ভব উৎসের packet log করা
net.ipv4.conf.all.log_martians = 1
# SYN flood-এ সুরক্ষা
net.ipv4.tcp_syncookies = 1এগুলো host-এর ভেতরের উৎস-যাচাই আর পুরোনো ফিচার বন্ধের নিয়ম। rp_filter = 1 asymmetric routing-এ বৈধ traffic-ও ফেলতে পারে; তখন 2 (loose) ব্যবহার হয়। পরিবর্তনের আগে কোনো test যন্ত্রে দেখে নিন। পুরো host hardening আসবে পর্ব ৩০-এ।
অনুমোদনের সীমা: এই পর্বের সব প্রতিরক্ষা পরীক্ষা করবেন নিজের network বা ল্যাবে, অথবা মালিকের লিখিত অনুমতি নিয়ে নির্ধারিত সীমার মধ্যে। ক্যাফে, হোস্টেল, কর্মস্থল বা বিশ্ববিদ্যালয়ের network “দেখতে” গিয়ে অনুমতি ছাড়া traffic ধরা, ঠিকানা জাল করা বা scan করা আইনি ঝুঁকি। বৈধ পরীক্ষা কীভাবে হয়, তা আছে পর্ব ৬-এ আর আসবে পর্ব ৫০-এ।
আরও গভীরে: IPv6-এ ARP নেই, আছে Neighbor Discovery, আর তার ঝুঁকিও একই ধরনের। Router Advertisement-এর জন্য RA Guard (RFC 6105) আর DHCPv6-এর জন্য DHCPv6-Shield (RFC 7610) এই পর্বের ধারণার IPv6 রূপ। BGP-র পুরো পথ রক্ষার জন্য BGPsec (RFC 8205, ২০১৭) আছে, তবে ব্যাপক প্রচলন হয়নি; ASPA নিয়ে IETF-এ কাজ চলছে। TLS 1.3-এ handshake-এর বড় অংশ encrypted, আর ECH SNI-ও ঢাকার চেষ্টা করে। TCP-AO (RFC 5925) router-দের BGP session রক্ষায় পুরোনো TCP MD5-এর উত্তরসূরি।
পরীক্ষা ও ইন্টারভিউতে এই বিষয়ে প্রায়ই যা জিজ্ঞেস করা হয়:
- BCP 38 কী? — RFC 2827; edge-এ source address যাচাই, যাতে জাল উৎসের packet network-এ না ঢোকে।
- DHCP snooping আর DAI-এর সম্পর্ক? — Snooping binding table বানায়, DAI সেই টেবিল দিয়ে ARP যাচাই করে।
- Eavesdropping আর MITM-এর পার্থক্য? — প্রথমটি নীরব শোনা; দ্বিতীয়টি পথে বসে দুই পক্ষের সাথে কথা, বদলানোও সম্ভব।
- TLS থাকলে on-path attacker কী পারে? — পড়তে বা বদলাতে পারে না; metadata দেখে, সংযোগ কেটে দিতে পারে।
- RPKI কী প্রমাণ করে না? — পুরো AS path; এটি শুধু origin AS যাচাই করে।
১০ · AI-এর যুগে network নিরাপত্তা
AI network config পড়তে, log সাজাতে আর ধারণা বোঝাতে ভালো সাহায্য করে। কিন্তু সে আপনার network দেখে না। একটি ভুল নিয়ম পুরো অফিসের সংযোগ বন্ধ করতে পারে। তাই AI-এর উত্তর একটি খসড়া, সিদ্ধান্ত নয়।
| AI প্রায়ই যা বলে | সমস্যা | কীভাবে যাচাই করবেন |
|---|---|---|
“Certificate error? verify=False দিন” | আপনি নিজেই MITM-এর দরজা খুললেন | Trust store বা CA ঠিক করুন, যাচাই বন্ধ নয় |
| “MAC filtering দিলে Wi-Fi নিরাপদ” | MAC পরিচয়ের প্রমাণ নয়, সহজে জাল হয় | WPA3 বা 802.1X-এর নথি পড়ুন |
| “DAI সব VLAN-এ এখনই চালু করুন” | Static যন্ত্র আর আসল সার্ভিস বন্ধ হতে পারে | আগে তালিকা, log-only আর ছোট VLAN |
| “Gateway MAC বদলেছে, মানে হামলা” | Failover (VRRP) বা যন্ত্র বদলেও এমন হয় | পরিবর্তন লগ আর port মিলিয়ে দেখুন |
| বানানো RFC, CVE বা vendor কমান্ড | দেখতে বিশ্বাসযোগ্য, আসলে নেই | rfc-editor.org আর vendor-এর নথিতে মেলান |
| “VPN দিলে সব ঝুঁকি শেষ” | পথের এক টুকরো ঢাকে, বিশ্বাস সরে মাত্র | নিজের threat model-এ হিসাব করুন |
AI-কে log দেখানোর আগে আসল IP, MAC, নাম আর কোনো password বা secret সরিয়ে দিন। নিচের কাঠামোয় প্রতিরক্ষার প্রশ্ন করুন:
AI-এর পরামর্শ চালুর আগে চেকলিস্ট
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিয়ে নিজে কিছুক্ষণ ভাবুন, তারপর “→ উত্তর” চাপুন।
প্র ০১ইন্টারনেটের নকশাকাররা কি ভুল করেছিলেন? নিরাপত্তা শুরু থেকেই রাখা যেত না?
“ভুল” শব্দটি পুরো ছবি দেয় না। David Clark তাঁর ১৯৮৮ সালের প্রবন্ধ “The Design Philosophy of the DARPA Internet Protocols”-এ লক্ষ্যগুলো অগ্রাধিকার ধরে লেখেন: ব্যর্থতার পরও টিকে থাকা, নানা সেবা, নানা network জোড়া, বিকেন্দ্রীকৃত ব্যবস্থাপনা, খরচ-দক্ষতা। প্রতিকূল ব্যবহারকারীর কথা সেখানে আলাদা লক্ষ্য হিসেবে নেই। ব্যবহারকারীরা ছিলেন পরিচিত গবেষক, আর যন্ত্র ছিল দামি, দুর্বল। প্রতিটি packet-এ cryptography তখন কঠিন ছিল। সরকারি রপ্তানি নিয়মও encryption-কে জটিল করেছিল। সেই সময়ের প্রকৌশলীরা তাঁদের সামনের সমস্যার সমাধান করছিলেন, আর একটি ছোট বিশ্বস্ত দলের জন্য সেই সিদ্ধান্ত যুক্তিসঙ্গত ছিল।
আবার সতর্কতা একদম ছিল না, তাও নয়। ১৯৮৫ সালে Morris আর ১৯৮৯ সালে Bellovin সমস্যাগুলো লিখে দেখান। কিন্তু ততদিনে protocol ছড়িয়ে গেছে। একবার লক্ষ লক্ষ যন্ত্রে চলে গেলে নিয়ম বদলানো কঠিন: সবাইকে একসাথে বদলাতে হয়, আর একজন না বদলালে সংযোগ ভাঙে।
ইতিহাস তাই দেখায়, নিরাপত্তা বদলে নয়, ওপরে যোগ হয়েছে। Netscape-এর SSL ১৯৯০-এর দশকের মাঝামাঝি, TLS পরে, DNSSEC RFC 4033 (২০০৫), RPKI RFC 6480 (২০১২)। IPv6-এ IPsec প্রথমে আবশ্যিক ছিল, পরে RFC 6434 (২০১১) একে সুপারিশে নামায়, কারণ বাস্তবে নিরাপত্তা application-স্তরে TLS দিয়েই ছড়াল। ২০১৪ সালে IETF RFC 7258 লিখে ঘোষণা করে, ব্যাপক নজরদারি একটি হামলা, আর নতুন protocol-কে তা মাথায় রাখতে হবে। QUIC এই শিক্ষার ফল: encryption সেখানে শুরু থেকেই বাধ্যতামূলক।
মূল উপলব্ধি: পরে যোগ করা নিরাপত্তা শুরুর নকশার চেয়ে দামি। তাই আজ নিজের সিস্টেমের নকশায় “এই দাবি কে যাচাই করবে?” প্রথম দিনেই জিজ্ঞেস করুন। এটিই secure by design-এর ভাবনা।
প্র ০২BCP 38 ২০০০ সালের নিয়ম। পঁচিশ বছরের বেশি পরেও জাল উৎসের packet ইন্টারনেটে চলে কেন?
এটি প্রযুক্তির চেয়ে অর্থনীতির প্রশ্ন বেশি। RFC 2827 প্রকাশিত হয় মে ২০০০-এ, আর নিয়মটি খুব সরল। তবু সব জায়গায় চালু হয়নি। কারণ খরচ যে দেয়, সুবিধা পায় অন্যজন।
একটি ISP filter বসালে তার গ্রাহকের network থেকে জাল packet বের হয় না। সুবিধা পায় ইন্টারনেটের বাকি সবাই, যারা reflection হামলা থেকে বাঁচে। কিন্তু খরচ তার নিজের: router-এর কাজ, configuration, ভুল নিয়মে গ্রাহকের অভিযোগ, multihoming-এর জটিলতা। অর্থনীতির ভাষায় এটি একটি externality: কারখানার ধোঁয়ার উল্টো। পাশের মহল্লার পাহারার টাকা আপনাকে দিতে হলে যেমন উৎসাহ কমে।
কারিগরি বাধাও আছে। Strict uRPF multihomed network-এ বৈধ traffic ফেলতে পারে, কারণ যাওয়া আর আসার পথ আলাদা হতে পারে। তাই RFC 3704 নানা ধরন দেয়, আর RFC 8704 (২০২০) বাড়তি পদ্ধতি যোগ করে। পুরোনো router-এর সীমাও ছিল।
অগ্রগতি হচ্ছে সামাজিক চাপে। MANRS একটি কমিউনিটি উদ্যোগ, যেখানে network অপারেটররা anti-spoofing আর routing filter মেনে চলার অঙ্গীকার করেন। CAIDA-র Spoofer প্রকল্প পরিমাপ করে কোন network জাল উৎস বের হতে দেয়। এতে নাম-পরিচয়ের একটি চাপ তৈরি হয়। পরিমাপের সংখ্যা সময়ের সাথে বদলায়, তাই তাদের সর্বশেষ প্রকাশনা দেখে নেওয়াই ঠিক। কেনাকাটার সময় ISP-কে জিজ্ঞেস করাও একটি ছোট চাপ: আপনারা কি জাল উৎস আটকান, আর invalid route ফেলেন?
মূল উপলব্ধি: নিরাপত্তা শুধু প্রযুক্তিগত নয়। কে খরচ দেয় আর কে লাভ পায়, সেটি না মেলালে সহজ সমাধানও বছরের পর বছর আটকে থাকে। তাই নিজের network-এ BCP 38 মানা ইন্টারনেটের প্রতি একটি নাগরিক দায়িত্বের মতো।
প্র ০৩সব কিছু TLS হলে DAI, DHCP snooping আর 802.1X-এর দরকার কী? আর উল্টোটা?
দুই দিকের যুক্তিই শক্তিশালী, তাই এটি ভালো প্রশ্ন। Zero trust ভাবনা বলে: network-কে বিশ্বাস করবেন না, প্রতিটি সংযোগে পরিচয় যাচাই করুন। এই যুক্তিতে LAN-এ কে কী করল, তাতে গোপন ডেটার ক্ষতি হওয়ার কথা নয়।
কিন্তু বাস্তব তিন জায়গায় আটকায়। প্রথমত availability: TLS সংযোগ বন্ধ ঠেকায় না। একটি ভুয়া DHCP বা ARP গোলমাল পুরো ফ্লোরের network বন্ধ করে দিতে পারে, যেখানে কারো কোনো গোপন তথ্য চুরি হয়নি, তবু কাজ বন্ধ। দ্বিতীয়ত অসম্পূর্ণতা: প্রিন্টার, ক্যামেরা, পুরোনো যন্ত্র, শিল্প-নিয়ন্ত্রণ যন্ত্র আর কিছু internal সার্ভিস আজও সব TLS চালায় না। তৃতীয়ত metadata আর দৃশ্যমানতা: কোন যন্ত্র কার সাথে কথা বলছে, তা ফাঁস হয়। আর DAI-এর log নিজেই একটি মূল্যবান সংকেত: কোনো port-এ gateway দাবি করা মানে সেখানে আক্রান্ত যন্ত্র থাকতে পারে, যা lateral movement-এর আগের ধাপ হতে পারে।
উল্টোটাও সত্য। LAN যত ভালোই পাহারা দিন, ডেটা অফিসের বাইরে গেলেই সেই সুরক্ষা শেষ। Laptop ক্যাফেতে গেলে আপনার switch নেই। তাই শুধু LAN প্রতিরক্ষা দিয়ে ডেটা রক্ষা হয় না। ভেতরের কেউ বা আক্রান্ত একটি যন্ত্রও সেই পাহারার ভেতরেই থাকে, আর “ভেতরে মানেই নিরাপদ” ধারণা বহু ঘটনায় ভুল প্রমাণিত হয়েছে।
এই দুই স্তর আলাদা প্রশ্নের উত্তর দেয়। TLS বলে, “এই ডেটা নিরাপদ।” LAN প্রতিরক্ষা বলে, “এই network চলছে, আর অস্বাভাবিকতা চোখে পড়ছে।” পর্ব ৩-এর defense in depth ঠিক এই অর্থেই।
মূল উপলব্ধি: নিরাপত্তা নিয়ন্ত্রণ বিচার করুন CIA-র তিনটি দিক ধরে। TLS C আর I রক্ষা করে; LAN প্রতিরক্ষা A আর দৃশ্যমানতা দেয়। একটি দিয়ে অন্যটি বাদ দেওয়া ভুল হিসাব।
প্র ০৪২০১৮ সালের Route 53 ঘটনা কী শেখায়? RPKI কি একাই যথেষ্ট ছিল?
২৪ এপ্রিল ২০১৮-তে প্রায় দুই ঘণ্টা ধরে Amazon Route 53-এর DNS ঠিকানার নির্দিষ্টতর prefix অন্য একটি নেটওয়ার্ক থেকে ঘোষিত হয়। প্রকাশিত রিপোর্ট অনুযায়ী কিছু ব্যবহারকারীর DNS প্রশ্ন ভুল জায়গায় যায়, আর একটি cryptocurrency wallet সাইটের নাম ভুয়া সাইটের ঠিকানায় মিলে যায়। AWS জানায়, তাদের সিস্টেম নিজে আক্রান্ত হয়নি; সমস্যাটি ছিল একটি upstream প্রদানকারীর দিকের ঘোষণায়।
ঘটনাটি এই পর্বের প্রায় সব কথা এক জায়গায় আনে। BGP hijack ভুল জায়গায় DNS পাঠাল, DNS ভুল ঠিকানা দিল, ব্যবহারকারী পৌঁছালেন on-path-এর মতো একটি অবস্থানে। শেষ দেয়াল কী ছিল? TLS. ভুয়া সাইটের কাছে আসল নামের বিশ্বস্ত certificate ছিল না; রিপোর্ট অনুযায়ী self-signed certificate দেখানো হয়, আর browser সতর্কবার্তা দেয়। তবু কিছু ব্যবহারকারী সতর্কবার্তা পার হয়ে যান, আর ক্ষতি হয়। ক্ষতির অঙ্ক নিয়ে রিপোর্টগুলোতে ভিন্নতা আছে, তাই এখানে নির্দিষ্ট সংখ্যা দিচ্ছি না।
এখন প্রশ্ন, RPKI কি থামাত? প্রযোজ্য prefix-এর ROA থাকলে আর পথের router-গুলো invalid ফেলে দিলে সম্ভবত অনেকটা থামাত। কিন্তু দুটি “যদি” আছে: ROA প্রকাশ, আর অন্যদের যাচাই চালু। এছাড়া RPKI origin দেখে, পুরো পথ নয়। তাই অন্য রকম কৌশলে এটি যথেষ্ট নয়।
রক্ষকের শিক্ষা তিনটি: নিজের prefix-এর ROA প্রকাশ করুন আর নির্দিষ্টতর ঘোষণা নজরে রাখুন; DNSSEC থাকলে জাল DNS উত্তর যাচাইয়ে ধরা পড়ার সুযোগ বাড়ে; আর ব্যবহারকারীকে শেখান যে certificate সতর্কবার্তা থামার সংকেত। Passkey-র মতো origin-বাঁধা login থাকলে শেষ ধাপও কঠিন হতো।
মূল উপলব্ধি: একটি স্তর ভাঙলেও পরের স্তর ধরতে পারে, যদি মানুষ আর সফটওয়্যার তার সংকেত মানে। Certificate সতর্কবার্তা উপেক্ষা করা মানে শেষ দেয়াল নিজের হাতে সরানো।
প্র ০৫খোলা Wi-Fi কি এখনো আগের মতো ভয়ের? সাধারণ মানুষকে কী পরামর্শ দেওয়া ঠিক?
ঝুঁকি বদলেছে, শেষ হয়নি। ২০১০ সালের দিকে একটি browser extension প্রকাশ্যে দেখিয়ে দেয়, খোলা Wi-Fi-তে অনেক জনপ্রিয় সাইটের session cookie খোলা লেখায় ঘোরে। এর পর বড় বড় সাইট পুরো সাইটে HTTPS চালুর দিকে দ্রুত এগোয়। ২০১৩ সালের নজরদারি-সংক্রান্ত প্রকাশনার পর সেই গতি আরও বাড়ে, আর ২০১৪ সালে IETF-এর RFC 7258 এই মত স্পষ্ট করে। Let's Encrypt-এর মতো বিনামূল্যের CA HTTPS-কে সহজ করে। ফলে আজ ক্যাফেতে বসে ব্যাংকের সাইটে ঢুকলে পথের কেউ সাধারণত বিষয়বস্তু পড়তে পারে না।
তাহলে কি ঝুঁকি নেই? আছে, তবে ধরন আলাদা। একটি evil twin বা ভুয়া hotspot আপনাকে ভুয়া login পাতায় নিতে পারে, যেখানে আপনি নিজে তথ্য দেন। Captive portal-এর “সতর্কবার্তা উপেক্ষা করুন” ধরনের নির্দেশ বিপজ্জনক অভ্যাস তৈরি করে। Unpatched ফোন বা ল্যাপটপে একই network-এর পাশের যন্ত্র সরাসরি পৌঁছাতে পারে। পুরোনো অ্যাপ বা IoT হয়তো TLS ঠিকমতো যাচাই করে না। আর DNS ও metadata খোলা থাকতে পারে। অর্থাৎ বিষয়বস্তু সাধারণত নিরাপদ, কিন্তু আপনি কোন সাইটে গেলেন, আর আপনার যন্ত্র কতটা আপডেট, সেই প্রশ্ন রয়ে যায়।
তাই “Public Wi-Fi কখনো নয়” পরামর্শটি পুরোনো ও অবাস্তব, আবার “HTTPS আছে, চিন্তা নেই”-ও অতিসরল। বাস্তবসম্মত পরামর্শ: সিস্টেম আর অ্যাপ আপডেট রাখুন; browser-এ HTTPS-only চালু রাখুন; certificate সতর্কবার্তা পার হবেন না; অচেনা Wi-Fi-তে অ্যাপ ইনস্টল বা নতুন login পাতায় password দেবেন না; দরকারে মোবাইল ডেটা ব্যবহার করুন; MFA, বিশেষত passkey রাখুন; অফিসের ডেটায় প্রতিষ্ঠানের অনুমোদিত VPN বা ZTNA ব্যবহার করুন।
মূল উপলব্ধি: ঝুঁকির পরামর্শ সময়ের সাথে বদলায়। পুরোনো ভয় মুখস্থ না করে প্রশ্ন করুন: আজ এখানে কোন দাবি অযাচিত, আর কোন স্তর আমাকে রক্ষা করছে?
অনুশীলন
হিসাব করুন, নকশা করুন, ফলাফল আগে থেকে বলুন, আর শুধু নিজের যন্ত্রে দেখুন।
-
সংখ্যার হিসাব: একটি resolver ১৬-bit transaction ID আর ১৬,০০০টি এলোমেলো UDP port ব্যবহার করে। (ক) মোট সম্ভাব্য জোড়া কত? (খ) শুধু ID-র তুলনায় কত গুণ কঠিন? (গ) একটি দৌড়ে ১০,০০০ অনুমান পৌঁছালে মিলে যাওয়ার সম্ভাবনা কত?
(ক) ৬৫,৫৩৬ × ১৬,০০০ = ১,০৪৮,৫৭৬,০০০ (প্রায় ২৩০)। (খ) ১৬,০০০ গুণ। (গ) ১০,০০০ ÷ ১,০৪৮,৫৭৬,০০০ ≈ ০.০০০০০৯৫৪ = প্রায় ০.০০০৯৫%. লক্ষ করুন, port-এর পরিসর ২৮,০০০ থেকে ১৬,০০০ হলে ঝুঁকি প্রায় ১.৭৫ গুণ বাড়ে। এটি সম্ভাবনা, প্রমাণ নয়। সত্যতার প্রমাণ দেয় DNSSEC.
-
নকশা ও সমালোচনা: ৩০ জনের একটি কাল্পনিক কোচিং সেন্টারে সবাই একই Wi-Fi ব্যবহার করে, তার password দেয়ালে লেখা। একই network-এ আছে হিসাবের কম্পিউটার, CCTV আর একটি managed switch. মালিক বলেন, “password আছে, তাই নিরাপদ।” তিনটি ঝুঁকি বলুন, আর কম খরচে কী কী বদলাবেন, ক্রম দিয়ে লিখুন।
ঝুঁকি: সবার জানা password মানে যে কেউ LAN-এ; ফলে ARP আর ভুয়া DHCP-র ঝুঁকি। CCTV আর হিসাবের কম্পিউটার একই VLAN-এ, তাই একটি আক্রান্ত ফোন থেকে সরাসরি পৌঁছানো যায়। আর কে কখন ঢুকেছে, তার কোনো হিসাব নেই।
ক্রম: (১) ছাত্র আর অতিথিদের আলাদা SSID ও VLAN, client isolation চালু, password নিয়মিত বদল। (২) হিসাব আর CCTV আলাদা VLAN-এ, এর মধ্যে default deny. (৩) Switch-এ DHCP snooping, ব্যবহারকারীর port-এ port security. (৪) Router-এর default password বদল, firmware আপডেট, management interface শুধু ভেতর থেকে। (৫) হিসাবের সফটওয়্যারে MFA আর backup.
প্রথম ধাপেই ঝুঁকির বড় অংশ কমে। DAI পরে চালান, আগে CCTV-র মতো static যন্ত্রের তালিকা বানিয়ে।
-
ফলাফল আগে বলুন: Binding table-এ আছে শুধু
192.0.2.20 / mac :20 / port p2. Trusted port শুধুuplink. DAI চালু। ক্রমে চারটি ARP এলো: (১) p2 দাবি করে 192.0.2.20 = :20; (২) p3 দাবি করে 192.0.2.1 = :33; (৩) p2 দাবি করে 192.0.2.21 = :20; (৪) uplink দাবি করে 192.0.2.1 = :01. শেষে cache-এ কী থাকবে, আর dropped কত?(১) খাতার সাথে মেলে: accept. (২) p3-র জন্য 192.0.2.1-এর binding নেই: DROP. (৩) 192.0.2.21-এর binding নেই: DROP; port ঠিক হলেও অন্য IP দাবি চলে না। (৪) trusted port: accept.
শেষ অবস্থা:
192.0.2.20 -> :20,192.0.2.1 -> :01,dropped=2. -
নিজের যন্ত্রে দেখুন: নিজের কম্পিউটারে Terminal বা Command Prompt খুলে
arp -aলিখুন। এটি শুধু আপনার যন্ত্রের নিজের ARP cache দেখায়, network-এ কিছু খোঁজে না। Gateway-র ঠিকানা আর MAC চিনে লিখে রাখুন। তারপর আপনার router-এর পাতায় (নিজের router) দেখুন Wi-Fi কোন সুরক্ষা ব্যবহার করছে, আর remote management চালু কি না।আপনি একটি gateway entry দেখবেন, সাথে কিছু broadcast আর multicast entry. একটি MAC যদি অনেক IP-র পাশে দেখেন, তা নিজে থেকে হামলার প্রমাণ নয়, কারণ router বা proxy ARP-ও এমন দেখাতে পারে। Router-এ WPA3 বা অন্তত WPA2 থাকা ভালো। WEP বা open থাকলে বদলান। Remote management দরকার না হলে বন্ধ রাখুন, default password বদলান, firmware আপডেট করুন। এই কাজগুলো শুধু নিজের যন্ত্র আর নিজের router-এ করুন।
নিজেকে যাচাই করুন
ভুল হলে কারণসহ ব্যাখ্যা পাবেন, আবার চেষ্টাও করতে পারবেন।
ক্রমDHCP snooping আর DAI-এর ধাপগুলো সঠিক ক্রমে সাজান (▲▼ চেপে সরান)
- নতুন যন্ত্র আসল DHCP server থেকে IP পায়
- Switch সেই সফল বরাদ্দ binding table-এ লেখে
- Untrusted port-এ একটি ARP বার্তা আসে
- DAI তার IP আর MAC binding table-এ মেলায়
- না মিললে frame ফেলে দিয়ে log তৈরি হয়
একটি IPv4 packet-এর source address সাধারণত কে ঠিক করে, আর পথের router কি নিয়মমতো তা প্রমাণ করে?
- ISP প্রতিটি packet-এ ঠিকানা লেখে এবং প্রমাণ করে
- প্রেরক নিজেই লেখে; মূল IP-তে কোনো প্রমাণ নেই
- গন্তব্য server ঠিক করে দেয়
- DNS server বসায় আর যাচাই করে
BCP 38 ধরনের ingress filtering কোথায় বসালে সবচেয়ে কার্যকর?
- ইন্টারনেটের core router-এ
- গন্তব্য server-এর firewall-এ
- গ্রাহকের দিকের edge router-এ, উৎসের কাছে
- প্রতিটি web application-এর code-এ
Dynamic ARP Inspection untrusted port-এর ARP বার্তা কীসের সাথে মিলিয়ে যাচাই করে?
- DHCP snooping থেকে বানানো binding table
- প্রতিটি host-এর ARP cache
- DNS resolver-এর cache
- Server-এর TLS certificate
ক্যাফের Wi-Fi-তে ব্যাংকের সাইট খুলতে গিয়ে browser বড় certificate সতর্কবার্তা দেখাল। সবচেয়ে ভালো সিদ্ধান্ত কোনটি?
- “Advanced” চেপে এগিয়ে যাওয়া, সাইট তো চেনা
- Incognito window-এ একই পাতা খুলে login করা
- Browser-এর certificate যাচাই বন্ধ করা
- পাতা বন্ধ করে বিশ্বস্ত সংযোগে পরে চেষ্টা করা
RPKI route origin validation সরাসরি কী যাচাই করে?
- ঘোষিত পুরো AS path সত্য কি না
- Prefix ঘোষণাকারী origin AS অনুমোদিত কি না
- ওয়েবসাইটের TLS certificate বৈধ কি না
- পথের সব packet encrypted কি না
একটি DNS resolver ১৬-bit transaction ID আর ২৮,০০০টি এলোমেলো source port ব্যবহার করে। অন্ধভাবে মেলানোর জন্য মোট সম্ভাব্য জোড়া কত?
- ৬৫,৫৩৬
- ৯৩,৫৩৬
- ১,৮৩৫,০০৮,০০০
- ৪,২৯৪,৯৬৭,২৯৬
শব্দকোষ
লেখার মধ্যে ডটেড দাগ দেওয়া শব্দে মাউস রাখুন বা চাপুন, অর্থ দেখাবে। এই পর্বের সব নতুন শব্দ এখানে একসাথে:
মনে রাখুন
- মূল protocol-এ পরিচয় একটি দাবি, প্রমাণ নয়। প্রশ্ন সব সময়: কে যাচাই করছে?
- পথে যাচাই: BCP 38 (IP), DAI (ARP), DHCP snooping, port security, RPKI (BGP).
- Eavesdropping-এর উত্তর encryption; তবু IP, সময় আর আকারের metadata দেখা যায়।
- On-path attacker-কে হারায় authentication: certificate, signature আর origin-বাঁধা login. সতর্কবার্তা উপেক্ষা করবেন না।
- Attack surface কমান, log পড়ুন, আর পরীক্ষা করুন শুধু নিজের network-এ বা লিখিত অনুমতিতে।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পর্ব ২২ · Firewall আর segmentation — নিয়ম, zone আর lateral movement ঠেকানোপরবর্তী পর্বসীমানা আর zone দিয়ে ক্ষতি আটকানো।
- সাইবার নিরাপত্তা · কোর্স হোম৮০টি পর্বপুরো কোর্সের রোডম্যাপ।
- DHCP আর ARP — ঠিকানা পাওয়া আর MAC খোঁজাভিত্তিDORA, ARP cache আর switch-এর config উদাহরণ।
- নেটওয়ার্ক নিরাপত্তার ভিত্তিভিত্তিCIA, AAA, নকশার নীতি আর zone-এর সাধারণ ছবি।
- প্রচলিত আক্রমণ আর প্রতিরক্ষাপাশের ট্র্যাকSpoofing-এর ধরন, MITM আর DDoS-এর network-পক্ষের ছবি।
- BGP আর ইন্টারনেটের গঠনগভীরে যানAS, peering আর RPKI-র বিস্তারিত।