Azure Network Security Group (NSG) নিয়মাবলী সম্পূর্ণ গাইড
NSG নিয়মের কাঠামো (৫-টাপল / Five-Tuple)
প্রতিটি NSG নিয়ম ৫টি উপাদানের ভিত্তিতে ট্রাফিক Allow বা Deny করে:
- Source: IP Address / CIDR Range / Service Tag / Application Security Group
- Source Port: পোর্ট রেঞ্জ বা * (সব)
- Destination: IP Address / CIDR Range / Service Tag / ASG
- Destination Port: নির্দিষ্ট পোর্ট বা রেঞ্জ (যেমন: 80, 443, 22, 3389, 1000-2000)
- Protocol: TCP, UDP, ICMP, ESP, AH, * (সব)
Priority: ১০০-৪০৯৬ (কম নম্বর = বেশি প্রায়োরিটি)। ডিফল্ট নিয়মগুলো ৬৫০০০+ প্রায়োরিটিতে থাকে।
NSG-এর ডিফল্ট নিয়মাবলী (Default Rules)
| নাম | Priority | Direction | Action | বিবরণ |
| AllowVNetInBound | 65000 | Inbound | Allow | VNet-এ থাকা সব রিসোর্স একে অপর কমিউনিকেট করতে পারে |
| AllowAzureLoadBalancerInBound | 65001 | Inbound | Allow | Azure Load Balancer Health Probe (168.63.129.16) অনুমতি |
| DenyAllInBound | 65500 | Inbound | Deny | অন্যান্য সব ইনবাউন্ড ট্রাফিক ব্লক |
| AllowVNetOutBound | 65000 | Outbound | Allow | VNet-এ থাকা সব রিসোর্স বাইরে যেতে পারে |
| AllowInternetOutBound | 65001 | Outbound | Allow | ইন্টারনেটে আউটবাউন্ড অনুমতি |
| DenyAllOutBound | 65500 | Outbound | Deny | অন্যান্য সব আউটবাউন্ড ব্লক |
বিশেষ নিয়ম: আউটবাউন্ড SMTP (Port 25) ব্লক
Azure-এ নতুন সাবস্ক্রিপশনে ডিফল্টভাবে আউটবাউন্ড পোর্ট ২৫ (SMTP) ব্লক থাকে। ইমেইল সার্ভার চালাতে হলে সাপোর্ট টিকেট খুলে অনুরোধ করতে হয় (Business Justification সহ)।
NSG লিমিট ও কোটা
- প্রতি NSG: ২০০ নিয়ম (সাপোর্ট টিকেট দিয়ে ১০০০ পর্যন্ত বাড়ানো যায়)
- প্রতি সাবস্ক্রিপশন: ১০০ NSG (বাড়ানো যায়)
- প্রতি NIC/Subnet: ১টি NSG অ্যাসোসিয়েট করা যায়
NSG কোথায় অ্যাপ্লাই করা যায়?
- Subnet Level: সাবনেটের সব রিসোর্সে適用 (সুপারিশ করা পদ্ধতি)
- NIC Level: নির্দিষ্ট VMের নেটওয়ার্ক ইন্টারফেসে 적용
- দুইটো একসাথে ব্যবহার করা যায় (Subnet NSG + NIC NSG = Defense in Depth)
NSG তৈরি করা (Azure CLI)
# Resource Group তৈরি
az group create --name myResourceGroup --location eastus
# NSG তৈরি
az network nsg create \
--resource-group myResourceGroup \
--name myNSG \
--tags environment=production
# নিয়ম যোগ করা (HTTP Allow)
az network nsg rule create \
--resource-group myResourceGroup \
--nsg-name myNSG \
--name Allow-HTTP \
--priority 100 \
--direction Inbound \
--access Allow \
--protocol Tcp \
--source-address-prefixes Internet \
--source-port-ranges '*' \
--destination-address-prefixes '*' \
--destination-port-ranges 80
NSG vs Azure Firewall vs Application Security Groups (ASG)
| ফিচার | NSG | Azure Firewall | ASG |
| লেয়ার | L3/L4 | L3/L4/L7 | L3/L4 (Logical Grouping) |
| Stateful | হ্যাঁ | হ্যাঁ | N/A |
| FQDN ফিল্টারিং | না | হ্যাঁ | না |
| SNAT/DNAT | না | হ্যাঁ | না |
| থ্রেট ইন্টেলিজেন্স | না | হ্যাঁ (Microsoft Threat Intel) | না |
| স্কেল | NSG লিমিট | হাই স্কেল, ম্যানেজড | NSG-এ লজিক্যাল গ্রুপিং |
সেরা অনুশীলন (Best Practices)
- Subnet-লেভেলে NSG ব্যবহার করুন (ম্যানেজমেন্ট সহজ)
- Service Tags ব্যবহার করুন (VirtualNetwork, AzureLoadBalancer, Internet, Storage, Sql, ইত্যাদি) - IP রেঞ্জ ম্যানেজ করতে হয় না
- Application Security Groups (ASG) ব্যবহার করুন অ্যাপ্লিকেশন টিয়ার গ্রুপিং için (Web, App, DB tier)
- Priority গ্যাপ রাখুন (১০০, ২০০, ৩০০...) ভবিষ্যতে নিয়ম যোগ করার সুবিধার্থে
- Flow Logs সক্ষম করুন NSG-এ (Network Watcher → Flow Logs) - ট্রাফিক অ্যানালিসিসের জন্য
- নিয়মিত NSG রুলস অডিট করুন (Azure Policy / Defender for Cloud)
NSG কোনো VNet-এ সরাসরি অ্যাপ্লাই করা যায় কি?
না, NSG সাবনেট বা NIC-এ অ্যাপ্লাই করা হয়। VNet-লেভেলে Azure Firewall বা Firewall Policy ব্যবহার করুন।