1.12
Firewall, Forward বনাম Reverse Proxy, ও VPN
Network-এর প্রহরী ও মধ্যস্থতাকারী: কোনটি কী লুকায়, অনুমতি দেয়, আটকায় ও সুরক্ষা দেয়।
38 মিনিট পড়া + Animation
টিপস: ডটেড-আন্ডারলাইন করা যেকোনো শব্দে ট্যাপ বা Hover করলে তার অর্থ দেখবে।
এই Lesson শেষে তুমি পারবে
- Firewall কী পরীক্ষা করে, Rule-এর ক্রম ও “Default Deny” কেন গুরুত্বপূর্ণ, এবং Stateful Firewall কীভাবে উত্তরগুলো ভেতরে ঢুকতে দেয় তা ব্যাখ্যা করতে।
- Network Firewall, WAF, IDS ও IPS-এর পার্থক্য বলতে, এবং একটি সহজ DMZ ডিজাইন করতে।
- Ephemeral Port-এর ক্লাসিক ভুল ছাড়া Cloud-এর Security Group ও NACL কনফিগার করতে।
- Forward ও Reverse Proxy ব্যাখ্যা করতে: কে কার প্রতিনিধি, কে কাকে লুকায়, আর HTTPS কীভাবে Proxy পার হয় (CONNECT)।
- Production-এ Reverse Proxy কী করে বর্ণনা করতে: Health Check-সহ Load Balancing, TLS Termination, Caching, Routing, Rate Limiting, X-Forwarded-For, এবং API Gateway কোথায় বসে।
- VPN Tunnel কীভাবে কাজ করে, প্রধান Protocol, Remote-access বনাম Site-to-site, এবং VPN ঠিক কী লুকায় আর কী লুকায় না তা ব্যাখ্যা করতে।
- Network-এর প্রতিটা Layer-এর চেনা আক্রমণ আর সেই Layer-এ কাজ করা প্রতিরক্ষার নাম বলতে, আর Zero Trust ও mTLS কেন Network-এর সীমানা পাহারার চেয়ে এক ধাপ এগিয়ে তা বোঝাতে।
#তিন মধ্যস্থতাকারী, তিনটি আলাদা কাজ
তোমার ডিভাইস আর Server-এর মাঝে প্রায়ই এমন কিছু মেশিন থাকে যারা চূড়ান্ত গন্তব্য নয়, তবুও তোমার Traffic সামলায়। যে তিনটির সঙ্গে সবখানে দেখা হবে:
| মধ্যস্থতাকারী | তার প্রশ্ন | সাধারণ অবস্থান |
|---|---|---|
| Firewall | “এই Traffic কি Allowed?” | প্রতিটি Network-এর সীমানায়, এবং প্রতিটি কম্পিউটারে |
| Proxy | “তোমার হয়ে Request-টা আমি করে দেব?” | Client-এর সামনে (Forward Proxy) বা Server-এর সামনে (Reverse Proxy) |
| VPN | “অবিশ্বস্ত Network-এর ওপর দিয়ে কীভাবে গোপনে নিয়ে যাব?” | একটি ডিভাইস (বা অফিস) ও VPN Server-এর মাঝে |
এরা প্রায়ই একসঙ্গে থাকে: প্রতিষ্ঠানের Network-এর সীমানায় Firewall, কর্মীরা Forward Proxy দিয়ে Browse করে, Website থাকে Reverse Proxy-র পেছনে, আর দূরের কর্মীরা VPN দিয়ে Connect করে। মাথায় এদের কাজ আলাদা রাখো, তাহলে এই মিশ্রণ বোঝা সহজ হবে।
#Firewall
Firewall হলো একটি Network Security System, যা পূর্বনির্ধারিত নিরাপত্তার নিয়মের (Security Rules) ভিত্তিতে Incoming ও Outgoing Traffic পরীক্ষা করে এবং তা Allow বা Block করে।
[Unfiltered internet] ──► [Firewall: rule inspection] ──► [Secured internal network]
│
(block / drop)
#Packet Filtering: Rule, ক্রম ও Default Deny
Firewall-এর সবচেয়ে মৌলিক কাজ হলো Packet Filtering। প্রতিটি Packet-এর কয়েকটি Header Field সে পড়ে:
- Source IP ও Destination IP: কে পাঠাচ্ছে, কার কাছে।
- Source Port ও Destination Port: কোন Service (443 = HTTPS, 22 = SSH, 3306 = MySQL…)।
- Protocol: TCP, UDP, ICMP।
- দিক: Inbound (বাইরে থেকে ভেতরে) বা Outbound (ভেতর থেকে বাইরে)।
সে এগুলোকে একটি Rule Table-এর সঙ্গে ওপর থেকে নিচে মেলায়। প্রথম যে Rule মেলে, সিদ্ধান্ত সেটাই, বাকিগুলো আর পড়া হয় না। কিছুই না মিললে Default Policy প্রযোজ্য হয়, যা যেকোনো ভালোভাবে চালানো Firewall-এ Deny।
Firewall Rule: প্রতিটি Packet একটি ক্রমানুসারী তালিকার সঙ্গে মেলানো
Firewall প্রতিটি Packet-এর Source IP, Destination IP, Port ও Protocol পড়ে এবং ওপর থেকে Rule-গুলো মেলায়। প্রথম যে Rule মেলে, সিদ্ধান্ত সেটাই।
পরিস্থিতি
একজন সাধারণ ভিজিটর Port 443-এ Website-এ পৌঁছায়।
Firewall যে Header Field পড়ে
Source IP
198.51.100.7
Destination IP
203.0.113.10
Protocol
TCP
Destination port
443
একজন ভিজিটরের Browser Web Server-এর Public Address-এ Port 443 (HTTPS)-এ TCP SYN পাঠায়। প্রতিটি Packet-কে আগে Firewall পার হতে হয়।
- Inbound Rule ভেতরে আসা Traffic Filter করে। ক্লাসিক উদাহরণ: Port 22 (SSH) পুরো দুনিয়ার জন্য বন্ধ রাখা, শুধু Admin-এর Address বা VPN-এর জন্য খোলা।
- Outbound Rule (Egress Filtering) বাইরে যাওয়া Traffic নিয়ন্ত্রণ করে। উদাহরণ: অফিসের কম্পিউটার থেকে ক্ষতিকর বা নির্দিষ্ট Category-র সাইটে প্রবেশ রোধ করা, বা সংক্রমিত মেশিনকে অস্বাভাবিক Port-এ Attacker-এর সঙ্গে যোগাযোগ করতে না দেওয়া।
- ক্রমও Policy-র অংশ। নির্দিষ্ট allow (“192.0.2.50 থেকে SSH”)-কে সাধারণ deny (“যে কারও SSH”)-এর ওপরে রাখতে হয়। ওপরে ভুলে থেকে যাওয়া একটি “allow any to any” নিচের সবকিছু চুপচাপ অকেজো করে দেয়।
- আগে সব Deny, তারপর দরকারিটুকু Allow অনেক বেশি নিরাপদ, “সব Allow, তারপর খারাপ দেখলে Block”-এর চেয়ে। সব খারাপ জিনিসের তালিকা করা যায় না; কয়েকটি ভালো জিনিসের তালিকা করা যায়।
- Drop বনাম Reject। Drop কিছুই ফেরত পাঠায় না (Scanner কম জানে); Reject TCP RST বা ICMP Error দিয়ে উত্তর দেয় (সৎ Client দ্রুত ব্যর্থতা টের পায়)। Internet-মুখী সীমানায় সাধারণত Drop করা হয়।
#Stateful Inspection
সাধারণ Packet Filter প্রতিটি Packet-কে আলাদাভাবে বিচার করে। এতে উত্তর-এর ক্ষেত্রে সমস্যা হয়। তোমার Laptop কোনো Website-এ Connection খুললে একটি এলোমেলো বড় Source Port ব্যবহার করে (Ephemeral Port, ধরো 51000)। Website-এর উত্তর Port 51000-এ Inbound হিসেবে আসে। Stateless Filter-এর এর জন্য একটি Rule লাগে, আর Port এলোমেলো বলে Rule-টি বড় হতে হয় (“1024–65535-এ Inbound allow”), যা ওই Port-গুলোর দিকে পাঠানো অন্য যেকোনো কিছুকেও ঢুকতে দেয়।
Stateful Firewall পুরো Connection-কে একটি State Table-এ (Connection Table-ও বলে) Track করে এর সমাধান করে। Outbound Connection একটি Entry তৈরি করে; Inbound Packet শুধু তখনই Allowed, যখন সেটি কোনো বিদ্যমান Entry-র অংশ। নোটে যেমন বলা আছে, আধুনিক Firewall কেবল একটি একক Packet দেখে সিদ্ধান্ত নেয় না; এটি পুরো Connection বা Session Track করে, এবং Traffic যদি ভেতরের কম্পিউটার থেকে শুরু হওয়া কোনো বৈধ Request-এর Response হয়, তবেই ভেতরে ঢুকতে দেয়।
Stateless বনাম Stateful: Return Traffic কীভাবে ভেতরে ফেরে
Stateless Filter প্রতিটি Packet-কে আলাদাভাবে বিচার করে। Stateful Firewall একটি Connection Table রাখে, এবং শুধু ভেতর থেকে শুরু হওয়া আলাপের উত্তরকে ঢুকতে দেয়।
পরিস্থিতি
তোমার Laptop একটি Website-এ Connection খোলে: Source Port 51000 (একটি এলোমেলো “Ephemeral” Port), Destination Port 443। Outbound Rule Web Traffic Allow করে।
দুটি ব্যবহারিক ফলাফল:
- বাসার Router ও Cloud-এর Security Group Stateful, এজন্যই “সব Inbound Block, সব Outbound Allow” এমনিতেই কাজ করে: উত্তর ফিরে আসে, অযাচিত Connection আসে না।
- State Table-এর জায়গা সীমিত, তাই নিষ্ক্রিয় Entry-র মেয়াদ শেষ হয়। দীর্ঘস্থায়ী কোনো Connection যদি কিছু না পাঠায় (Database Pool, Chat Socket), মাঝের কোনো Firewall বা NAT ডিভাইস তা চুপচাপ কেটে দিতে পারে। Idle Timeout-এর চেয়ে ছোট বিরতির Keepalive এটা ঠেকায়।
#Hardware ও Software Firewall
| ধরন | কী | উদাহরণ | কাকে রক্ষা করে |
|---|---|---|---|
| Hardware (Network) Firewall | একটি Dedicated ফিজিক্যাল ডিভাইস, সাধারণত Internet সংযোগ ও ভেতরের Network-এর মাঝের সীমানায় (প্রায়ই Routing ও NAT-ও করে) | Fortinet FortiGate, Palo Alto Networks, Cisco | পুরো একটি Network |
| Software (Host) Firewall | Operating System-এ চলা একটি প্রোগ্রাম | Windows Defender Firewall, Linux-এর ufw (nftables/iptables-এর সহজ Front End), macOS Firewall | একটি কম্পিউটার |
| Cloud Firewall | Virtual Server-এর চারপাশে Cloud Platform যে Rule প্রয়োগ করে | AWS Security Group ও NACL, Azure Network Security Group, Google Cloud Firewall Rule | Cloud Server ও Subnet |
দুই স্তরই ব্যবহার করো: Network Firewall সীমানাতেই বেশিরভাগ আবর্জনা থামায়, আর Network-এর ভেতরে কিছু দখল হলে বা Laptop ক্যাফের Wi-Fi-তে গেলেও Host Firewall মেশিনটিকে রক্ষা করে।
#Packet Filter-এর বাইরে: WAF, IDS/IPS ও DMZ
Packet Filter Address ও Port দেখে। কিন্তু অনেক আক্রমণ আসে Port 443-এ, একদম বৈধ Connection-এর ভেতরে। অন্য স্তরগুলো সেগুলো ধরে:
- WAF (Web Application Firewall): Application Layer-এ কাজ করে। সে TLS Terminate করে, HTTP Request পড়ে এবং SQL Injection, Cross-site Scripting (XSS) ও অপব্যবহারকারী Bot-এর মতো আক্রমণ Block করে। Cloudflare, AWS WAF ও Open-source Rule Set প্রচলিত।
- IDS (Intrusion Detection System): Traffic-এর একটি কপিতে পরিচিত আক্রমণের Signature ও অস্বাভাবিক আচরণ খোঁজে, এবং Alert দেয়। সে পথের মধ্যে নেই, তাই নিজে কিছু থামাতে পারে না।
- IPS (Intrusion Prevention System): পথের মধ্যে (Inline) বসে এবং যা ধরে তা Block করে। বেশি সুরক্ষা দেয়, কিন্তু False Positive হলে আসল ব্যবহারকারী Block হয়, আর তাকে পূর্ণ গতির Traffic সামলাতে হয়।
- NGFW (Next-generation Firewall): এক যন্ত্রে Stateful Filtering, IPS, Application বোঝার ক্ষমতা (“এটা Facebook ভিডিও”) এবং প্রায়ই TLS Inspection।
- DMZ (Demilitarised Zone): যেসব Server-এ Internet-কে পৌঁছাতে হবে (Web Server, Mail Relay) তাদের জন্য আলাদা একটি Network Zone। Internet DMZ-এ পৌঁছাতে পারে; DMZ ভেতরে যেতে পারে শুধু সরু, নির্দিষ্ট Rule দিয়ে। DMZ-এর কোনো Server দখল হলেও Attacker তখনো Database Network-এর বাইরে।
স্তরে স্তরে নিরাপত্তা: Firewall, WAF, IDS/IPS ও DMZ
প্রতিটি স্তর ধরে যা আগের স্তর দেখতে পায় না। পাবলিক Server-গুলো আলাদা একটি Zone (DMZ)-এ থাকে, যাতে সেখানে ঢুকে পড়লেও Database পর্যন্ত যাওয়া না যায়।
পরিস্থিতি
একজন ভিজিটরের HTTPS Request Edge Firewall-এ পৌঁছায়। Web স্তরে Port 443 Allowed।
#Cloud-এ Firewall: Security Group ও NACL
AWS-এ (এবং অন্য Cloud-এও প্রায় একই রকম) একটি Server-এ যাওয়া প্রতিটি Packet দুটি Filter পার হয়:
| Security Group | Network ACL (NACL) | |
|---|---|---|
| প্রযোজ্য | প্রতিটি Instance-এ (তার Network Interface) | পুরো একটি Subnet-এ |
| State | Stateful: উত্তর স্বয়ংক্রিয়ভাবে Allowed | Stateless: উত্তরের জন্য আলাদা Rule লাগে |
| Rule | শুধু Allow | Allow ও Deny, Rule নম্বর অনুযায়ী, ছোট নম্বর আগে |
| সাধারণ ব্যবহার | প্রধান Filter: “যেকোনো জায়গা থেকে 443, 5432 শুধু App Server-এর Group থেকে” | মোটা দাগের Subnet পাহারা, বা নির্দিষ্ট অপব্যবহারকারী Range Block |
Cloud-এ: Security Group বনাম Network ACL
AWS-এ (ও এরকম অন্য Cloud-এ) একটি Server-এ যাওয়া Packet দুটি Filter পার হয়: Subnet-এর NACL (Stateless) এবং Instance-এর Security Group (Stateful)।
পরিস্থিতি
একজন ব্যবহারকারীর Request Subnet-এ ঢোকে। NACL তার Inbound Rule নম্বরের ক্রমে দেখে: Rule 100 TCP 443 Allow করে।
দ্বিতীয় পরিস্থিতির Bug-টি প্রায় সবাইকে একবার না একবার ধরে: যে NACL Outbound-এ শুধু Port 443 Allow করে, সে প্রতিটি Response Drop করে, কারণ Response যায় Client-এর Ephemeral Port-এ, 443-এ নয়।
নিজেকে যাচাই করোপ্রশ্ন
তোমার Stateful Firewall সব Outbound Traffic Allow করে, আর Default Deny ছাড়া কোনো Inbound Rule নেই। তুমি একটি Website খুললে। Page লোড হয় কেন?
#Proxy Server
Proxy মানে “প্রতিনিধি”: যে অন্যের হয়ে কাজ করে। Proxy Server হলো একজন মধ্যস্থতাকারী, যে Request গ্রহণ করে নিজেই সেটি করে। এটি দুই ধরনের, এবং তাদের উদ্দেশ্য সম্পূর্ণ বিপরীত:
Forward proxy:
[Client A, B, C] ──► [Forward proxy] ──► [Internet] ──► [Destination server]
(hides the clients and sends requests on their behalf)
Reverse proxy:
[Internet clients] ──► [Reverse proxy] ──► [Server 1 / Server 2 / Server 3]
(hides the servers and receives requests on their behalf)
দ্রুত পরীক্ষা: এটি কার পক্ষে? Forward Proxy কনফিগার ও পরিচালনা করে Client-রা (বা তাদের জন্য কেউ)। Reverse Proxy চালায় Website-এর মালিক, আর Client সাধারণত জানেই না এটি আছে।
#Forward Proxy
Forward Proxy বসানো হয় Client-এর সামনে। Client কোনো সাইটে যেতে চাইলে সরাসরি Connect করে না: সে Proxy-কে বলে, আর Proxy সাইট থেকে Data এনে তাকে দেয়।
Forward Proxy: Client-এর হয়ে কথা বলা
Client তার Request Proxy-কে পাঠায়, আর Proxy তার হয়ে Internet থেকে নিয়ে আসে। Website দেখে Proxy-কে, Client-কে নয়।
পরিস্থিতি
Browser-এ Proxy সেট করা আছে, তাই সে নিজে example.com-এ Connect না করে পুরো URL Proxy-কে পাঠায়।
মূল উদ্দেশ্য:
- Anonymity (পরিচয় গোপন): গন্তব্য Server Client-এর আসল IP দেখতে পায় না, Proxy-র IP দেখে।
- Geo-restriction এড়ানো: অন্য দেশের Proxy তোমাকে সেই দেশে আছ বলে দেখায়। একই কৌশলে অফিস বা স্কুলের Restriction-ও এড়ানো যায়, এজন্য প্রতিষ্ঠানগুলো পরিচিত Proxy Block করে।
- Content Filtering ও Access Control: অফিস কর্মীদের Facebook বা অপ্রাসঙ্গিক সাইট চালানো বন্ধ করতে পারে, সবার জন্য Malware ও Phishing সাইট Block করতে পারে, এবং কে কোথায় গেল Log রাখতে পারে।
- Caching: জনপ্রিয় File Proxy থেকেই দেওয়া হয়, Bandwidth বাঁচে (আজকাল অনেক কম কার্যকর, কারণ বেশিরভাগ Traffic HTTPS, যা Decrypt না করা Proxy Cache করতে পারে না)।
Client কীভাবে Proxy-তে পৌঁছায়:
- কনফিগার করা Proxy: Browser বা OS-এ Proxy-র Address দেওয়া থাকে। সাধারণ HTTP-র জন্য সে পুরো URL Proxy-কে পাঠায় (
GET http://example.com/news)। - Proxy দিয়ে HTTPS: Browser পাঠায়
CONNECT example.com:443, Proxy একটি TCP Connection খুলে এরপর শুধু এনক্রিপ্টেড Byte পৌঁছে দেয়। TLS End-to-End থাকে; Proxy Host Name জানে, Page নয়। ভেতরে দেখতে হলে লাগে TLS Interception: প্রতিষ্ঠান কর্মীদের ডিভাইসে নিজস্ব Root Certificate বসায়, আর Proxy Decrypt করে আবার Encrypt করে। এটি শক্তিশালী কিন্তু ঝুঁকিপূর্ণ, আর যেসব App Certificate Pin করে সেগুলো ভেঙে যায়। - PAC File (Proxy Auto-config): একটি ছোট JavaScript File, যা Browser-কে বলে কোন URL-এর জন্য কোন Proxy (“ভেতরের সাইট সরাসরি, বাকি সব Proxy দিয়ে”)। প্রতিষ্ঠানগুলো এটি সব ডিভাইসে পাঠিয়ে দেয়।
- Transparent (Intercepting) Proxy: কিছুই কনফিগার করা নেই; Network Gateway চুপচাপ Traffic Proxy-তে ঘুরিয়ে দেয়। হোটেলের Wi-Fi Login Page ও কিছু ISP Cache এভাবে কাজ করে।
- SOCKS Proxy: নিচের স্তরের একটি Proxy, যা শুধু HTTP নয়, যেকোনো TCP (আর SOCKS5 UDP-ও) Connection পৌঁছে দেয়। SSH দিয়েও একটি বানানো যায় (
ssh -D)।
#Reverse Proxy
Reverse Proxy বসানো হয় Server-এর সামনে। ব্যবহারকারীরা মনে করে তারা মূল Web Server-এ Hit করছে, কিন্তু আসলে Hit করছে Reverse Proxy-তে, যা Request গ্রহণ করে পেছনের উপযুক্ত অভ্যন্তরীণ Server-এ (Backend Node) পাঠায়।
Reverse Proxy: অনেক Server-এর একটি সদর দরজা
Client-রা সবসময় শুধু Reverse Proxy-র Address-এর সঙ্গে কথা বলে। পেছনে Proxy ঠিক করে কোন Server কোন Request সামলাবে।
পরিস্থিতি
Upstream Pool (Backend সম্পর্কে Proxy-র ধারণা)
| Backend | Health | চলমান Connection |
|---|---|---|
| web1 10.0.0.11 | সুস্থ | 0 |
| web2 10.0.0.12 | সুস্থ | 0 |
| web3 10.0.0.13 | সুস্থ | 0 |
User A-এর Request Proxy-তে আসে। সাইটের DNS শুধু Proxy-কে দেখায়, তাই ব্যবহারকারীরা শুধু এই Address-টিই জানে।
এটি তোমার জন্য যা করে:
- Load Balancing: লাখ লাখ ব্যবহারকারীকে একাধিক Backend Server-এ সুষমভাবে ভাগ করে (Round Robin, Least Connections, IP Hash), এবং Health Check দিয়ে ব্যর্থ Server-এ Traffic পাঠানো বন্ধ করে।
- Security ও DDoS Protection: মূল Server-এর আসল IP গোপন থাকে, তাই Attacker শুধু Proxy-তে আঘাত করতে পারে, যা বন্যা সামলানোর জন্যই তৈরি (Cloudflare বিখ্যাত উদাহরণ)। এটি তখনই কাজ করে, যখন Origin-ও Proxy ছাড়া অন্য কোথাও থেকে আসা Traffic প্রত্যাখ্যান করে।
- TLS (SSL) Termination: Encryption-এর ভারী প্রসেসিং Client ও Proxy-র মধ্যেই থাকে, ফলে Backend Server Application-এর কাজের জন্য মুক্ত থাকে, আর Certificate থাকে এক জায়গায়।
- Caching: স্ট্যাটিক Content (Image, File, CSS) Server-কে বিরক্ত না করে Proxy থেকেই দেওয়া হয়।
- বাস্তবে আরও: Compression, Rate Limiting (429 Too Many Requests), বিভিন্ন Service-এ Path ও Host দেখে Routing, X-Forwarded-For ও X-Forwarded-Proto Header যোগ করা যাতে Backend আসল Client জানে, Request-এর আকার ও Timeout সীমা, এবং এক এক করে Server সরিয়ে Downtime ছাড়া Deploy।
জনপ্রিয় Software: Nginx, HAProxy, Envoy, Traefik, Caddy; Managed: Cloudflare, AWS Application Load Balancer, Google Cloud Load Balancing। এই Software-গুলো ভেতরে কীভাবে কাজ করে, তা Web Server ও App Server Lesson-এ।
#TLS কোথায় শেষ হয়
Encryption কোথায় থামে তার ওপর নির্ভর করে Proxy কী করতে পারবে। Termination তাকে পূর্ণ দৃষ্টি দেয় (Cache, Route, Header যোগ); Re-encryption প্রতিটি Hop এনক্রিপ্টেড রাখে, যেমন Compliance বা Zero-trust Network চায়; Passthrough Key Backend-এ রাখে, কিন্তু Proxy-কে বানিয়ে দেয় একটি অন্ধ Layer 4 Relay, যে শুধু Server Name (SNI) দেখে Route করে।
TLS Termination, Re-encryption ও Passthrough
Encryption কোথায় শেষ হয় তার ওপর নির্ভর করে Proxy কী করতে পারবে: Cache, Path দেখে Routing, Header যোগ, নাকি শুধু Byte Forward।
পরিস্থিতি
Browser Proxy-র সঙ্গে TLS Handshake শুরু করে। সাইটের Certificate ও Private Key Proxy-র কাছে থাকে।
#API Gateway: একটি বিশেষ Reverse Proxy
API Gateway (Kong, AWS API Gateway, Apigee, Envoy-ভিত্তিক Gateway) Reverse Proxy-র জায়গাতেই বসে, কিন্তু API বোঝে: Token যাচাই করে (JWT, API Key), প্রতি Client-এর Quota প্রয়োগ করে, /v1/orders ও /v1/users-কে আলাদা Microservice-এ Route করে, Response বদলায় বা একত্র করে, এবং API-এর Log ও Metric-এর জন্য একটি জায়গা দেয়।
API Gateway: যে Reverse Proxy তোমার API বোঝে
Reverse Proxy-র মতোই অবস্থান, সঙ্গে API-সংক্রান্ত কাজ: Token যাচাই, প্রতি Client-এর Rate Limit, Microservice-এ Routing, Response একত্র করা।
পরিস্থিতি
App Authorization Header-এ একটি JWT Access Token দিয়ে API Call করে।
সাধারণ নিয়ম: সবার জন্য প্রযোজ্য (Cross-cutting) কাজ Gateway-তে রাখো (Authentication, Rate Limit, Routing, Logging), আর Business Logic রাখো Service-এ। যে Gateway বেশি জানে, সে এমন এক বাধা হয়ে যায় যা প্রতিটি Team-কে বদলাতে হয়।
#Forward বনাম Reverse Proxy
| মানদণ্ড | Forward Proxy | Reverse Proxy |
|---|---|---|
| কার প্রতিনিধিত্ব করে | Client-এর পক্ষে কাজ করে | Server-এর পক্ষে কাজ করে |
| কী লুকায় | Client-এর আসল IP | মূল Server-এর IP ও Architecture |
| কে সেট করে | Client-এর দিক (ব্যবহারকারী, অফিসের Admin) | Website-এর মালিক |
| Client কি জানে? | সাধারণত হ্যাঁ (কনফিগার করা), Transparent না হলে | সাধারণত না |
| প্রধান সুবিধা | Privacy, Access Control ও Filtering | Load Balancing, নিরাপত্তা, TLS Termination ও Caching |
| জনপ্রিয় উদাহরণ | Corporate Proxy (Squid, Zscaler), পরিচয় গোপনকারী Proxy | Cloudflare, Nginx, HAProxy, Envoy, Cloud Load Balancer |
নোটে Forward Proxy-র উদাহরণ হিসেবে “VPN Services” আছে। ভূমিকা কাছাকাছি (একজন মধ্যস্থতাকারী যে তোমার IP লুকায়), কিন্তু VPN Network Layer-এ প্রতিটি App-এর সব Traffic নিয়ে কাজ করে, আর Proxy সাধারণত প্রতি Application-এ কাজ করে। নিচে VPN অংশের তুলনার Table পার্থক্যটি স্পষ্ট করে।
নিজেকে যাচাই করোপ্রশ্ন
Nginx-এর পেছনের একটি Backend প্রতিটি Request-কে 10.0.0.5 থেকে আসা হিসেবে Log করছে। আসল Client IP Log করার সঠিক উপায় কী?
#VPN (Virtual Private Network)
VPN পাবলিক Internet-এর মতো উন্মুক্ত ও অনিরাপদ Network-এর ওপর দিয়ে একটি এনক্রিপ্টেড ও সুরক্ষিত ভার্চুয়াল সুড়ঙ্গ বা Tunnel তৈরি করে।
Unsecured public network
[Client] ═══ encrypted VPN tunnel (e.g. AES-256) ═══► [VPN server] ──► [Target website]
কীভাবে কাজ করে:
- Tunneling Protocol: VPN Client Software (WireGuard, OpenVPN, IPsec) দুই পক্ষ নিজেদের যাচাই করে Key ঠিক করার পর তোমার ডিভাইস ও VPN Server-এর মধ্যে একটি Data Tunnel স্থাপন করে।
- Encryption: তোমার ডিভাইস থেকে বের হওয়া প্রতিটি Packet এনক্রিপ্ট হয় (AES-256 দিয়ে, বা WireGuard-এ ChaCha20 দিয়ে) এবং VPN Server-এর ঠিকানায় একটি নতুন Packet-এর ভেতরে মোড়ানো হয়। তোমার ISP, একই Wi-Fi-এর হ্যাকার বা Wi-Fi মালিক দেখতে পায় না তুমি কী পাঠাচ্ছ বা নিচ্ছ, বা কোন সাইটে যাচ্ছ।
- IP Masking: তোমার Traffic VPN Server হয়ে Website-এ পৌঁছায়, যা নিজের Address থেকে Forward করে। ফলে Website তোমার আসল IP-র বদলে VPN Server-এর IP দেখে।
VPN: অবিশ্বস্ত Network-এর ভেতর দিয়ে একটি এনক্রিপ্টেড Tunnel
প্রতিটি পরিস্থিতিতে Packet Header দেখো: কে কী পড়তে পারে, আর Website কোন Address দেখে।
পরিস্থিতি
প্রথমে তোমার Laptop shop.example খোঁজে। সাধারণ DNS Plain Text, তাই ক্যাফে ও ISP তোমার খোঁজা প্রতিটি নাম পড়তে পারে।
Tunnel-এর ভেতরে এটি আক্ষরিক অর্থেই Packet-এর ভেতরে Packet:
VPN Packet-এর ভেতরে: Packet-এর ভেতরে Packet
তোমার সাধারণ Packet এনক্রিপ্ট হয়ে VPN Server-এর ঠিকানায় একটি নতুন বাইরের Packet-এর Payload হয়ে যায় (WireGuard দেখানো হলো)।
পরিস্থিতি
Browser একটি HTTP Request তৈরি করে।
#Protocol
| Protocol | বৈশিষ্ট্য |
|---|---|
| WireGuard | আধুনিক ও ছোট (কয়েক হাজার লাইনের Code), খুব দ্রুত, শুধু UDP, নির্দিষ্ট আধুনিক Cryptography (ChaCha20-Poly1305, Curve25519)। Network বদলালে দ্রুত আবার Connect হয়। বেশিরভাগ নতুন VPN Product-এর Default। |
| OpenVPN | পুরনো ও নমনীয়, TLS ব্যবহার করে, UDP বা TCP-তে চলে (TCP 443 কড়া Firewall পার হতে সাহায্য করে)। WireGuard-এর চেয়ে ধীর ও জটিল। |
| IPsec | প্রতিষ্ঠানের Gateway-গুলোর মধ্যে Site-to-site Link এবং ফোন ও Laptop-এর Built-in VPN Client-এর দীর্ঘদিনের Standard (সাধারণত IKEv2 Key Exchange-সহ)। Hardware Firewall-এ ব্যাপকভাবে সমর্থিত। |
PPTP-র মতো পুরনো Protocol ভাঙা, ব্যবহার করা উচিত নয়।
#Remote-access বনাম Site-to-site
Remote-access বনাম Site-to-site VPN
পরিস্থিতি
বাসায় একজন কর্মী VPN App খুলে Sign in করে (Password ও দ্বিতীয় ধাপের যাচাই)। App অফিসের VPN Gateway পর্যন্ত একটি Tunnel তৈরি করে।
- Remote-access VPN: একজন ব্যবহারকারীর ডিভাইস প্রতিষ্ঠানের Network-এ Connect করে, একটি Internal Address পায়, এবং Private Server-এ পৌঁছাতে পারে। Client Software ও শক্ত Sign-in (দ্বিতীয় ধাপের যাচাইসহ) লাগে।
- Site-to-site VPN: দুটি Gateway একটি স্থায়ী Tunnel রাখে, ফলে দুটি অফিস (বা অফিস ও Cloud Network) একটি Network-এর মতো আচরণ করে। ডিভাইসে কোনো VPN Software লাগে না। Cloud Provider এটি Managed Service হিসেবে বিক্রি করে।
- Consumer VPN Service (NordVPN ইত্যাদি) হলো Remote-access VPN, যাদের “প্রতিষ্ঠানের Network” হলো সাধারণ Internet; পাবলিক Wi-Fi-তে Privacy বা অন্য দেশে আছ বলে দেখানোর জন্য ব্যবহৃত।
#Full বনাম Split Tunnel, DNS Leak ও Kill Switch
- Full Tunnel: সব Traffic VPN দিয়ে যায়। সবচেয়ে Private, প্রতিষ্ঠান সবকিছু Filter করতে পারে, কিন্তু ধীর এবং VPN-এ চাপ বেশি।
- Split Tunnel: শুধু কিছু Traffic (প্রতিষ্ঠানের Network) VPN দিয়ে যায়; বাকিটা সরাসরি। দ্রুত, কিন্তু ডিভাইস একই সময়ে খোলা Internet ও Private Network দুই জায়গাতেই থাকে।
- DNS Leak: Tunnel চালু, কিন্তু DNS Query তখনো Tunnel-এর বাইরে ISP-এর Resolver-এ যাচ্ছে, ফলে তোমার যাওয়া প্রতিটি নাম প্রকাশ পায়। ভালো VPN Client নিজস্ব Resolver সেট করে এবং Tunnel-এর বাইরে DNS Block করে। Browser-এর WebRTC-ও একইভাবে তোমার আসল IP প্রকাশ করতে পারে।
- Kill Switch: Tunnel বিচ্ছিন্ন হলে একটি Local Firewall Rule আবার Connect না হওয়া পর্যন্ত সব Traffic Block করে, চুপচাপ আসল সংযোগে ফিরে না গিয়ে।
#VPN বনাম Proxy বনাম Tor
| Proxy | VPN | Tor | |
|---|---|---|---|
| কোন স্তরে কাজ করে | Application (প্রতি App বা প্রতি Browser) | Network Layer (সব App, সব Traffic) | Application (Tor Browser) |
| তোমার Traffic এনক্রিপ্ট করে? | নিজে নয় (HTTPS তবুও Content রক্ষা করে) | হ্যাঁ, ডিভাইস থেকে VPN Server পর্যন্ত | হ্যাঁ, তিন স্তরে, তিনটি Relay জুড়ে |
| কে তোমার গন্তব্য দেখতে পায় | Proxy পরিচালনাকারী | VPN Provider | কোনো একক Relay তোমাকে ও তোমার গন্তব্য দুটোই দেখে না |
| গতি | দ্রুত | দ্রুত (সামান্য Overhead) | ধীর |
| সাধারণ ব্যবহার | অফিসের Filtering, Scraping, একটি App-এর Geo-access | পাবলিক Wi-Fi-তে Privacy, Remote Work, অফিস যুক্ত করা | শক্তিশালী পরিচয় গোপন ও Censorship প্রতিরোধ |
#Layer ধরে আক্রমণ, আর প্রতিটার প্রতিরক্ষা
Firewall, Proxy আর VPN, প্রত্যেকে সুরক্ষার একটা করে স্তর মাত্র। আক্রমণ আসে Network Model-এর প্রতিটা Layer দিয়ে, আর প্রতিটা Layer-এর নিজস্ব প্রতিরক্ষা আছে। মনে রাখার সহজ নিয়ম: কোনো আক্রমণ থামাতে পারে শুধু সে-ই, যে ওই Layer দেখতে পায়। বৈধ HTTPS Request-এর ভেতরে লুকানো SQL Injection একটা Packet Filter দেখতেই পায় না, আবার Data Center-এর WAF অফিসের LAN-এর ARP Spoofing দেখতে পায় না।
| Layer | চেনা আক্রমণ | কীভাবে কাজ করে | ওই Layer-এর প্রতিরক্ষা |
|---|---|---|---|
| ১ Physical | Cable Tapping, রেডিও Jamming, ডিভাইস চুরি | Signal কপি করা, Wi-Fi-কে শব্দে ডুবিয়ে দেওয়া, Laptop বা Disk নিয়ে চলে যাওয়া | তালাবন্ধ Comms Room, খালি Port বন্ধ, Camera, Disk Encryption; পথে Encryption থাকলে Tap করে লাভ নেই |
| ২ Data Link | ARP Spoofing, MAC Spoofing ও Flooding, VLAN Hopping | Gateway-এর IP নিজের বলে দাবি করে Man-in-the-middle হওয়া; Switch-এর MAC Table উপচে দেওয়া, যাতে সে Hub-এর মতো সব Frame সবখানে পাঠায়; ব্যবহারকারীর Port-কে Trunk বানিয়ে অন্য VLAN-এ ঢোকা | DHCP Snooping-সহ Dynamic ARP Inspection, Port Security (প্রতি Port-এ MAC-এর সীমা), ব্যবহারকারীর Port-এ নিজে থেকে Trunk বন্ধ, ডিভাইস যোগ দেওয়ার আগে Port-এ পরিচয় যাচাই |
| ৩ Network | IP Spoofing, ICMP Flood, Route Hijack | জাল Source Address; আবর্জনা দিয়ে Link ভরানো; অন্যের Prefix নিজের বলে ঘোষণা | Ingress (Anti-spoofing) Filtering, ACL, ICMP-এর হার বেঁধে দেওয়া, ওপরের দিকে DDoS Scrubbing, RPKI (Lesson 1.7), দুই অফিসের মধ্যে IPsec |
| ৪ Transport | SYN Flood, Port Scanning | Half-open Connection-এর Table ভরে ফেলা; কোন Port খোলা তার Map বানানো | SYN Cookie, Stateful Firewall, Default Deny, Connection-এর হার বেঁধে দেওয়া, Scan দেখলে IDS Alert |
| ৫–৬ Session, Presentation | Session Hijacking, দুর্বল বা অনুপস্থিত Encryption | Session Cookie বা Token চুরি; খোলা বা ভাঙা Cipher-এর Traffic পড়ে ফেলা | TLS 1.2 বা নতুন (1.3 ভালো), Secure Cookie Flag আর Login-এর সময় নতুন Session ID (Lesson 1.3) |
| ৭ Application | SQL Injection, XSS, HTTP Flood, Password আক্রমণ | Input-এর ভেতর দিয়ে Code ঢোকানো; বৈধ দেখতে Request-এর ঢল; ফাঁস হওয়া Password চেষ্টা | WAF, Parameterised Query, Output Encoding, হার বেঁধে দেওয়া আর Bot যাচাই, MFA |
এই Table থেকে দুটো কথা বেরিয়ে আসে:
- Defence in Depth। একা কোনো Layer যথেষ্ট না। Edge Firewall বেশিরভাগ আবর্জনা ছেঁটে ফেলে, যাতে ওপরের দামি Layer-গুলো চাপে ডুবে না যায়; WAF ভুলভরা Code-এর জন্য নিরাপত্তা জাল; আর Injection-এর আসল সমাধান Code নিজেই। একটা স্তর ভাঙলেও পরেরটা দাঁড়িয়ে থাকে।
- Encryption তার নিচের সব Layer-কে রক্ষা করে। Traffic TLS বা VPN-এ থাকলে ARP Spoofing করা আক্রমণকারী বা Cable Tap পায় শুধু Ciphertext। এজন্যই আধুনিক Network ভেতরের Traffic-ও এনক্রিপ্ট করে, আর এখান থেকেই সরাসরি আসে Zero Trust।
Defence in Depth: প্রতিটা আক্রমণ থামে সেই Layer-এ, যেখানে তাকে দেখা যায়
একটা অফিসের LAN আর একটা Public Web App। একটা Layer বেছে নাও: আগে তার চেনা আক্রমণ, তারপর ওই Layer-এ যে প্রতিরক্ষা কাজ করে।
পরিস্থিতি
Layer অনুযায়ী আক্রমণ
| Layer | আক্রমণ | কে থামায় |
|---|---|---|
| L1 | Cable Tap, রেডিও Jamming, চুরি | তালাবন্ধ ঘর, বন্ধ Port, Encryption |
| L2 | ARP Spoofing, MAC Flooding, VLAN Hopping | Dynamic ARP Inspection, Port Security, Auto-trunking বন্ধ |
| L3 | IP Spoofing, ICMP Flood, Route Hijack | Ingress Filtering, Rate Limit, Upstream Scrubbing, RPKI |
| L4 | SYN Flood, Port Scan | SYN Cookie, Stateful Firewall, Default Deny |
| L7 | SQL Injection, XSS, HTTP Flood | WAF, Parameterised Query, Rate Limit |
Layer 1-এর আক্রমণে লাগে শারীরিক নাগাল: দেয়ালের খালি Socket-এ একটা ডিভাইস গুঁজে দেওয়া, সিলিংয়ের Cable-এ Tap বসানো, বা রেডিও Transmitter দিয়ে Wi-Fi Jam করা। কোনো Packet Filter এর কিছুই দেখতে পায় না।
#Service-এ Service-এ: mTLS আর Zero Trust
পুরনো ধাঁচের অফিস Network যেন পরিখা ঘেরা দুর্গ: সীমানায় Firewall, আর ভেতরের সবাই বিশ্বস্ত। দুর্বলতাটা ধরা পড়ে যেদিন আক্রমণকারী একটা Machine-এ ঢুকে পড়ে, Phishing-এ পড়া Laptop বা দুর্বল কোনো Web Server দিয়ে: সেখান থেকে সে বাকি সবখানে পৌঁছে যায়, কারণ ভেতরের সবাই ভেতরের সবাইকে বিশ্বাস করে। একে বলে Lateral Movement, আর বড় বড় হামলার বেশিরভাগেই এটা থাকে।
Zero Trust “বিশ্বস্ত Network” ধারণাটাই বাদ দেয়। প্রতিটা Request-কে প্রমাণ করতে হয় সে কার কাছ থেকে আসছে, আর অনুমতি পেতে হয়, সে যেখান থেকেই আসুক:
- Service-এ Service-এ প্রমাণ হলো Mutual TLS (mTLS)। দুই পক্ষই Certificate দেখায়, তাই Payments Service নিশ্চিত জানে Call-টা সত্যিই Orders Service-এর, শুধু “10.0.3.7-এর কেউ একজন” না। Certificate-গুলো স্বল্পমেয়াদি আর নিজে থেকেই তৈরি হয়, সাধারণত একটা Service Mesh (Istio, Linkerd) বা Platform-ই দেয়, তাই কাউকে হাতে Key সামলাতে হয় না।
- পরিচয়ের পর আসে Policy: “Orders পারবে Payments-কে Call করতে; আর কেউ না”। দখল হওয়া Web Server একই Network-এ আছে বলেই আর Database-এ পৌঁছাতে পারে না।
- মানুষের জন্যও একই ধারণা VPN-এর জায়গা নেয় একটা Identity-aware Proxy দিয়ে: প্রতিটা ভেতরের App প্রতিটা Request-এ ব্যবহারকারী আর ডিভাইস যাচাই করে (Google তার নিজের কর্মীদের Access এভাবেই চালায়)।
Firewall আর Network ভাগ করা এখনো বাড়তি স্তর হিসেবে দরকারি; Zero Trust শুধু Network-এর অবস্থানকে আর কোনো প্রমাণ হিসেবে ধরে না। Identity, Certificate, Token আর Access Policy পুরোপুরি পড়ানো হবে Chapter 33-এ, Identity and Access।
#System Design-এ এরা কীভাবে আসে
একটি সাধারণ Production Request-এর পথে তিনটি ধারণাই মিলেমিশে থাকে:
User ─► DNS ─► CDN / WAF / DDoS protection ─► load balancer (reverse proxy, TLS termination)
─► API gateway ─► services (in private subnets, security groups)
─► database (reachable only from the services)
Engineers ─► VPN or zero-trust access ─► private admin tools (never SSH open to the internet)
Services ─► NAT gateway / egress proxy ─► third-party APIs (outbound allow list)
Interviewer ও Incident যেসব Design-এর প্রশ্ন তোলে:
- Reverse Proxy একটি Single Point of Failure, যদি না সেটি Redundant হয়: অন্তত দুটি Load Balancer Node চালাও (বা Managed, Multi-zone একটি ব্যবহার করো), একটি DNS নাম বা Floating IP-র পেছনে।
- Health Check-কে আসল কিছু পরীক্ষা করতে হবে। Database-এ পৌঁছানো না গেলেও যে
/healthz200 দেয়, সে ব্যবহারকারীকে নষ্ট Server-এ পাঠায়; আবার অতিরিক্ত কড়া Check একসঙ্গে সব Server বাদ দিয়ে দিতে পারে। - Server Private রাখো। শুধু Load Balancer-এর Public Address থাকে; Security Group App Port শুধু Load Balancer-এর Group থেকে, আর Database Port শুধু App-এর Group থেকে Allow করে।
- Admin Access VPN, Bastion Host বা Zero-trust Access Service দিয়ে, কখনো পুরো দুনিয়ার জন্য Port 22 খুলে নয়।
- Egress নিয়ন্ত্রণ দখল হওয়া Service কোথায় পৌঁছাতে পারবে তা সীমিত করে, এবং একটি স্থির Outbound IP দেয় যা Partner-রা Allow-list করতে পারে।
- প্রতিটি Proxy পেরিয়ে Client IP ধরে রাখো (X-Forwarded-For, বা সাধারণ TCP-র জন্য HAProxy-র Proxy Protocol), এবং শুধু নিজের Proxy থেকে এলে বিশ্বাস করো।
- TLS Termination-এর জায়গায় Certificate নবায়ন স্বয়ংক্রিয় করো; মেয়াদ শেষ হওয়া নিজের হাতে তৈরি Outage-এর সবচেয়ে সাধারণ কারণগুলোর একটি।
- প্রতিরক্ষা স্তরে স্তরে সাজাও: Layer 3–4-এর জন্য DDoS Scrubbing আর Edge Firewall, Layer 7-এর জন্য WAF আর Rate Limit, আর ভেতরে mTLS ও প্রতি Service-এর Policy, যাতে একটা Machine দখল হলেই পুরো System দখল না হয়।
#নিজে করে দেখো
# Linux (Ubuntu): a sensible host firewall in five lines
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 443/tcp
sudo ufw allow from 192.0.2.50 to any port 22 proto tcp # SSH only from one address
sudo ufw enable && sudo ufw status numbered # rules in order
# Windows (PowerShell): firewall profiles and a rule
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultInboundAction
New-NetFirewallRule -DisplayName "Block 3306 in" -Direction Inbound -Protocol TCP -LocalPort 3306 -Action Block
# Watch a forward proxy's CONNECT tunnel (any proxy you have access to)
curl -v -x http://proxy.example.com:3128 https://example.com/ 2>&1 | grep -i connect
# Look for reverse proxies and caches in response headers
curl -sI https://www.cloudflare.com | grep -iE "server|cf-cache-status|age"
# Your public IP, with and without the VPN connected
curl https://ifconfig.me
Load Balancing ও প্রচলিত Header-সহ একটি ছোট Nginx Reverse Proxy:
upstream web_pool {
server 10.0.0.11:8080 max_fails=3 fail_timeout=10s;
server 10.0.0.12:8080 max_fails=3 fail_timeout=10s;
}
server {
listen 443 ssl;
server_name shop.example.com;
ssl_certificate /etc/ssl/shop.crt; # TLS terminates here
ssl_certificate_key /etc/ssl/shop.key;
location /api/orders/ { proxy_pass http://10.0.0.21:8080; } # path-based routing
location / {
proxy_pass http://web_pool;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
}
}
#সারসংক্ষেপ
মূল শিক্ষা
- Firewall IP, Port, Protocol ও দিকের ওপর Rule দিয়ে Traffic Allow বা Block করে। Rule ওপর থেকে নিচে দেখা হয়, প্রথম মিলটাই জেতে, শেষে থাকে Default Deny। Inbound Rule Service পাহারা দেয় (Port 22 দুনিয়ার জন্য বন্ধ); Outbound Rule Data ও Malware বেরোনো আটকায়।
- Stateful Firewall Connection Track করে, তাই বড় Inbound Rule ছাড়াই উত্তর ফিরে আসে। Stateless Filter (Router ACL, Cloud NACL)-এর Ephemeral Port-এ Return Traffic-এর জন্য স্পষ্ট Rule লাগে। নিষ্ক্রিয় State-এর মেয়াদ শেষ হয়: Keepalive ব্যবহার করো।
- Hardware Firewall Network রক্ষা করে, Software Firewall Host রক্ষা করে; দুটোই ব্যবহার করো। NAT Firewall নয়। WAF HTTP পড়ে, IDS Alert দেয়, IPS Inline Block করে, DMZ পাবলিক Server আলাদা রাখে। Cloud-এ Security Group Stateful, NACL Stateless।
- Forward Proxy Client-এর হয়ে কাজ করে: Anonymity, Geo-bypass, Filtering, Caching। HTTPS এটি পার হয় CONNECT দিয়ে, End-to-End, যদি না প্রতিষ্ঠান TLS Intercept করে।
- Reverse Proxy Server-এর হয়ে কাজ করে: Health Check-সহ Load Balancing, Origin লুকানো ও DDoS শোষণ, TLS Termination, Caching, Routing, Rate Limiting, X-Forwarded-For। API Gateway হলো API-এর জন্য বিশেষায়িত Reverse Proxy।
- VPN এনক্রিপ্টেড Packet-কে VPN Server-এর ঠিকানার Packet-এ মুড়ে দেয় (WireGuard, OpenVPN, IPsec): Local Network ও ISP শুধু Tunnel দেখে, Website দেখে VPN-এর IP। এটি VPN Provider বা যে সাইটে Login করো তার কাছ থেকে তোমাকে লুকায় না। DNS Leak-এর দিকে নজর রাখো; Kill Switch ব্যবহার করো।
- প্রতিটা Layer-এর নিজস্ব আক্রমণ আর প্রতিরক্ষা আছে: Tapping (শারীরিক নিরাপত্তা, Encryption), ARP Spoofing (Dynamic ARP Inspection), IP Spoofing আর Flood (Ingress Filtering, Scrubbing), SYN Flood আর Scan (SYN Cookie, Default Deny), SQL Injection আর HTTP Flood (WAF, নিরাপদ Code, Rate Limit)। Zero Trust যোগ করে mTLS আর প্রতি Service-এর Policy, যাতে Network-এর ভেতরে থাকাটা কিছুই প্রমাণ না করে।
আগে নিজে উত্তর দাও, তারপর ব্যাখ্যাটা পড়ো। ঠিক হলেও পড়ো, কারণ ভুল Option-গুলো কেন ভুল, সেটাও ওখানে আছে।
নিজেকে যাচাই করোপ্রশ্ন
তোমার Cloud Server কাজ করছে, কিন্তু ব্যবহারকারীরা Timeout পাচ্ছে। Security Group Inbound 443 Allow করে। Subnet-এর NACL Inbound 443 ও Outbound শুধু 443 Allow করে। সমস্যা কোথায়?
নিজেকে যাচাই করোপ্রশ্ন
তুমি ক্যাফের Wi-Fi-তে একটি নির্ভরযোগ্য VPN-এ Connect করে তোমার Email-এ Login করলে। কোন কথাটি সত্য?
নিজেকে যাচাই করোপ্রশ্ন
অফিসের এক তলার কর্মীরা বলছেন Internet ধীর, আর একটা Security Tool দেখাচ্ছে তাদের Laptop-গুলোতে Gateway 192.168.1.1-এর পাশে লেখা একটা অচেনা ডিভাইসের MAC Address। কোন প্রতিরক্ষা এটাকে ঠিক যে Layer-এ ঘটছে সেখানেই থামায়?
নিজেকে যাচাই করোপ্রশ্ন
একটা Server-এর Log-এ এলোমেলো Address থেকে হাজার হাজার Half-open TCP Connection, আর আসল ব্যবহারকারীরা Connect করতে পারছে না। Firewall যেমন থাকার কথা, সবার জন্য Port 443 খোলা রেখেছে। এই Layer-এ সবচেয়ে কাজের প্রতিরক্ষা কী?
নিজেকে যাচাই করোপ্রশ্ন
একজন আক্রমণকারী Port 443-এ একটা সাধারণ HTTPS Request-এর ভেতরে SQL Injection পাঠাল। কোন দুটো ব্যবস্থা আসলেই এটা থামায়? (দুটো বেছে নাও।)
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
আক্রমণকারীরা একটা প্রতিষ্ঠানের VPC-র ভেতরের Public Web Server দখল করল। সেখান থেকে তারা ভেতরের Payments API আর Database-কে Call করছে, যারা VPC-র ভেতর থেকে আসা সবকিছু বিশ্বাস করে। কোন Design এই Lateral Movement থামাত?
নিজেকে যাচাই করোপ্রশ্ন
একটা Firewall-এর Rule Table শুরু হয় “allow any to any” দিয়ে, তারপর “deny SSH from anywhere” আর “allow SSH from 192.0.2.50”। Internet-এর কোনো এলোমেলো Address থেকে SSH চেষ্টার কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
Firewall-এ “Default Deny” মানে কী?
নিজেকে যাচাই করোপ্রশ্ন
Internet-মুখী একটা Firewall বন্ধ Port-এর Packet Drop বা Reject দুটোই করতে পারে। Edge-এ সাধারণত কোনটা বাছা হয়, কেন?
নিজেকে যাচাই করোপ্রশ্ন
একটা Router ACL (Stateless) Port 443-এ Outbound TCP Allow করে। তবুও ভেতর থেকে Web Page খুলছে না। কোন Rule বাকি?
নিজেকে যাচাই করোপ্রশ্ন
একটা Database Connection Pool সারাদিন ঠিক চলে, কিন্তু প্রতিদিন সকালে প্রথম Query-গুলো আটকে থেকে ব্যর্থ হয়। App আর Database-এর মাঝের Firewall-এর Idle Timeout ৩০ মিনিট। সমাধান কী?
নিজেকে যাচাই করোপ্রশ্ন
একটা ব্যস্ত Payment API-র জন্য একটা Team IDS আর IPS-এর মধ্যে বাছবে। কোন কথাটা ঠিক?
নিজেকে যাচাই করোপ্রশ্ন
প্রতিষ্ঠানগুলো Public Web আর Mail Server DMZ-এ রাখে কেন?
নিজেকে যাচাই করোপ্রশ্ন
একটা অপব্যবহারকারী Address Range তোমার AWS Server-গুলোতে বারবার আঘাত করছে। পুরো Subnet-এর জন্য তুমি এটা Block করতে চাও। কোন নিয়ন্ত্রণ দিয়ে তা পারবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা প্রতিষ্ঠান কর্মীদের সব Web Traffic এমন একটা Proxy দিয়ে পাঠায়, যা জুয়ার Site আটকায় আর কে কোথায় গেছে তার Log রাখে। এটা কোন ধরনের Proxy?
নিজেকে যাচাই করোপ্রশ্ন
একটা Browser Setting করা Proxy দিয়ে https://bank.example/accounts খুলছে। TLS Interception না থাকলে Proxy কী দেখতে পায়?
নিজেকে যাচাই করোপ্রশ্ন
একটা প্রতিষ্ঠান তার Proxy-তে TLS Interception চালু করল। কোন কথাটা সত্যি?
নিজেকে যাচাই করোপ্রশ্ন
তোমার Site DDoS থেকে রক্ষা করা একটা Reverse Proxy Service-এর পেছনে, তবুও আক্রমণকারীরা সরাসরি Origin-এ ঢল নামাচ্ছে। কী বাদ পড়েছে?
নিজেকে যাচাই করোপ্রশ্ন
একটা Load Balancer-এর Health Check /healthz Call করে, যা সবসময় 200 দেয়। Database বন্ধ হলো, ব্যবহারকারীরা Error পাচ্ছে, অথচ Balancer সব Server-এই Traffic পাঠাচ্ছে। গোলমাল কোথায়?
নিজেকে যাচাই করোপ্রশ্ন
Private Key Backend-এই রাখার জন্য একটা Proxy TLS Passthrough-এ চালানো হলো। Proxy-তে কোন সুবিধা আর সম্ভব না?
নিজেকে যাচাই করোপ্রশ্ন
কোন দুটো দায়িত্ব পেছনের Service-এ না রেখে API Gateway-তে রাখা উচিত? (দুটো বেছে নাও।)
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
তোমার VPN দেখাচ্ছে “Connected”, অথচ একটা Leak Test বলছে DNS Query যাচ্ছে তোমার ISP-এর Resolver-এ। এর মানে কী?
নিজেকে যাচাই করোপ্রশ্ন
VPN-এর Kill Switch কী করে?
নিজেকে যাচাই করোপ্রশ্ন
একটা প্রতিষ্ঠান Split-tunnel VPN ব্যবহার করে। এর সঙ্গে কোন Trade-off আসে?
নিজেকে যাচাই করোপ্রশ্ন
একটা হোটেলের Network শুধু Outbound TCP 443 যেতে দেয়। কোন VPN সবচেয়ে বেশি Connect হওয়ার সম্ভাবনা?
নিজেকে যাচাই করোপ্রশ্ন
ক্যাফের Wi-Fi-তে একটা ভালো VPN চালানোর সময়ও কোন দুজন তোমার গন্তব্য দেখতে পায় বা তুমি কে তা জানে? (দুটো বেছে নাও।)
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা প্রতিষ্ঠান Site-to-site VPN দিয়ে তার অফিস Network আর Cloud Network জুড়ল। অফিসের Computer-গুলোতে কী Install করতে হবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা Edge Router Internet থেকে এমন Packet পেল, যার Source Address 10.0.0.5, প্রতিষ্ঠানেরই একটা ভেতরের Address। কী হওয়া উচিত?
নিজেকে যাচাই করোপ্রশ্ন
Zero Trust আর mTLS নিয়ে কোন দুটো কথা সত্যি? (দুটো বেছে নাও।)
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
অফিসের LAN-এ একটা Tool হাজার হাজার জাল MAC Address থেকে Frame পাঠিয়ে একটা Switch ভাসিয়ে দিচ্ছে। একটু পরেই প্রতিটা Port অন্য সব Port-এর Traffic পেতে শুরু করল। কী হলো, আর কী এটা থামায়?