Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> An Ninh Mạng

Các quy tắc Network Security Group (NSG) là gì?

Quy tắc cuối cùng (Default Rule) trong mọi NSG

Mỗi Network Security Group (Azure NSG) đều có quy tắc ưu tiên thấp nhất (priority cao nhất số, ví dụ 65500) DenyAllInbound / DenyAllOutbound ngầm hiểu — chặn tất cả traffic không khớp quy tắc cho phép.

Lưu ý SMTP Outbound (Port 25): Azure chặn mặc định outbound port 25 (SMTP) trên subscription mới để ngăn spam. Doanh nghiệp có nhu cầu gửi mail hợp pháp có thể yêu cầu mở (điền form justification).

Giới hạn quy tắc NSG trong Azure

  • Mặc định: 200 quy tắc/NSG.
  • Tối đa: 1000 quy tắc/NSG (yêu cầu support ticket).
  • Tối đa: 100 NSG/subscription (có thể tăng qua support).
  • Mỗi quy tắc định nghĩa: ưu tiên (priority 100-4096), hướng (inbound/outbound), giao thức, source/dest IP/port, action (Allow/Deny).

Tạo NSG (Network Security Group)

  1. Portal Azure: Create a resource → Network Security Group.
  2. Chọn Subscription, Resource Group (tạo mới hoặc chọn có sẵn).
  3. Đặt Name duy nhất trong region.
  4. Chọn Region.
  5. Create → Sau khi tạo, vào NSG → Inbound/Outbound security rules → Add quy tắc.

CLI: az network nsg create -g MyResourceGroup -n MyNSG -l eastus

Số quy tắc mặc định trong NSG mới

Azure tự tạo 3 quy tắc mặc định inbound và 3 quy tắc mặc định outbound (không thể xóa, chỉ ghi đè bằng quy tắc ưu tiên cao hơn):

TênHướngƯu tiênHành độngMô tả
AllowVNetInBoundInbound65000AllowCho phép traffic trong VNet (subnet-to-subnet)
AllowAzureLoadBalancerInBoundInbound65001AllowCho phép Azure Load Balancer health probe
DenyAllInBoundInbound65500DenyChặn tất cả inbound khác
AllowVNetOutBoundOutbound65000AllowCho phép traffic ra trong VNet
AllowInternetOutBoundOutbound65001AllowCho phép ra Internet
DenyAllOutBoundOutbound65500DenyChặn tất cả outbound khác

Cấu trúc cơ bản của quy tắc Security Group

Mỗi quy tắc bao gồm:

  • Giao thức (Protocol): TCP, UDP, ICMP, ESP, AH, * (tất cả).
  • Phạm vi cổng (Port Range): Cổng đơn (80), dải (1000-2000), hoặc * (tất cả).
  • Nguồn (Source): IP CIDR (10.0.0.0/8), Service Tag (VirtualNetwork, AzureLoadBalancer, Internet), Application Security Group (ASG), hoặc IP đơn lẻ.
  • Đích (Destination): Tương tự Source.
  • Hành động (Action): Allow hoặc Deny.
  • Ưu tiên (Priority): 100-4096 (số càng nhỏ = ưu tiên càng cao).
  • Hướng (Direction): Inbound hoặc Outbound.
  • Mô tả (Description): Tùy chọn, khuyên dùng để quản trị.

Áp dụng NSG ở đâu?

  • Gắn với Subnet: Quy tắc áp dụng cho tất cả resource trong subnet (VM, AKS, App Service Environment, VMSS...). Khuyến khích dùng cách này để quản trị tập trung.
  • Gắn với NIC (Network Interface): Quy tắc áp dụng cho riêng VM đó. Dùng cho exception/specific rule.
  • Có thể gắn cả 2: NSG Subnet + NSG NIC → traffic được đánh giá theo thứ tự: Inbound: NSG Subnet → NSG NIC; Outbound: NSG NIC → NSG Subnet.

Default NSG Rules trong Azure (chi tiết)

  • AllowVNetInBound: Cho phép mọi host trong VNet (kể cả cross-subnet) giao tiếp tự do.
  • AllowAzureLoadBalancerInBound: Cho phép Azure Load Balancer gửi health probe đến VM (source: AzureLoadBalancer IP).
  • DenyAllInBound: Chặn mọi inbound khác (Internet, VNet peering không cho phép, on-prem qua VPN/ExpressRoute nếu không có rule allow).
  • AllowVNetOutBound: Cho phép traffic ra trong VNet.
  • AllowInternetOutBound: Cho phép traffic ra Internet.
  • DenyAllOutBound: Chặn outbound còn lại.

Có thể áp dụng NSG lên VNet không?

Không gắn NSG trực tiếp lên VNet. Thay vào đó: gắn NSG vào Subnet. Thiết kế VNet/Subnet để gom resource cùng yêu cầu bảo mật → giảm số lượng NSG. Có thể cần tạo VNet/Subnet mới để hỗ trợ thiết kế NSG.

Ai có thể tạo Security Group trong Azure?

Microsoft 365 Groups / Azure AD Security Groups: Mọi user trong tenant Azure AD đều có thể tạo (mặc định). Admin có thể giới hạn qua Azure AD → Groups → General → "Owners can manage group membership requests..." hoặc dùng PowerShell/Graph API đặt 정책.

Network Security Group (NSG): Cần quyền Network Contributor hoặc Owner trên Resource Group/Subscription.

Lệnh tạo NSG (Azure CLI)

az network nsg create \
  --resource-group MyResourceGroup \
  --name MyNSG \
  --location eastus \
  --tags Environment=Production Owner=NetSecTeam

Thêm quy tắc:

az network nsg rule create \
  -g MyResourceGroup --nsg-name MyNSG \
  -n Allow-HTTP-Inbound --priority 100 \
  --direction Inbound --access Allow \
  --protocol Tcp --source-address-prefixes Internet \
  --source-port-ranges '*' --destination-address-prefixes '*' \
  --destination-port-ranges 80 --description "Allow HTTP from Internet"