Share via


Azure Network Security Group - 如何使用NSG保護Azure VM (IaaS)

所有的Internet網站,常常會遇到惡意攻擊,例如常見的阻斷式攻擊(DoS, DDoS),因此今天要介紹在Azure IaaS 上可以採取的主動預防做法: 建立Network Security Group

Azure Network Security Group (以下簡稱NSG) 是用來管理網路進出的Access Control List (ACL),以下圖為例 - NSG 可以與VM, VNet 建立繫結,可以設定允許/拒絕 inbound/outbound的網路流量。

圖一, What is NSG

 

步驟一: 建立NSG 

透過 New-AzureNetworkSecurityGroup 建立一個指定名稱及地區的NSG

 New-AzureNetworkSecurityGroup -Name "IISNSG" -Location East Asia -Label "NSG for IIS"

 

步驟二: 將NSG 與VM或VNet 建立繫結

下列範例將以VM與NSG 繫結為例,透過Get-AzureVM 與 Set-AzureNetworkSecurityGroupConfig建立起關聯,執行完成後,你的VM或是VNet 就會受到NSG保護。

 Get-AzureVM -ServiceName "yourCloudServerName" -Name "yourVMName" | Set-AzureNetworkSecurityGroupConfig -NetworkSecurityGroupName "IISNSG" | Update-AzureVM

 

步驟三: 設定NSG Rule

下列範例將建立 [WEB] 名稱的規則,其優先權為100 (數字越小,優先權越高) 拒絕192.168.1.100這個IP Inbound的所有traffic

 Get-AzureNetworkSecurityGroup -Name "IISNSG" | Set-AzureNetworkSecurityRule -Name WEB -Type Inbound -Priority 100 -Action Deny -SourceAddressPrefix '192.168.1.100/32' -SourcePortRange '*' -DestinationAddressPrefix '*' -DestinationPortRange '*' -Protocol TCP

 

步驟四: 確認NSG Rule

列出所有設定過的規則,可以注意Name, Priority, Action, Source Address Prefix, Port Range等資訊是否正確。

 Get-AzureNetworkSecurityGroup -name iisnsg -Detailed

圖二, NSG 設定值

 

Enjoy!