一目了然的 Azure NSG 設定:多 Port 阻擋與特定 IP 放行的完美組合

在 Azure 的網路安全性群組(NSG)世界裡,有時候我們會遇到一個很像「既要又要」的邊緣狀況:你想要同時把好幾個 Port 關起來,不讓壞人進來,但同時又希望特定幾位好朋友(白名單 IP)可以大搖大擺地走進去。

要同時做到阻擋大家又放行自己人,最乾淨也最聰明的作法,就是利用兩條規則的「優先順序(Priority)」差來玩一場網路版的邏輯遊戲。

因為 Azure NSG 這個門神在檢查規則時,是採取「由上到下」比對的。數字越小的規則越優先執行,而且只要一比對成功,它就會直接定案,懶得再看下面的規則了。


核心邏輯大公開

簡單來說,你只需要左右開弓,建立以下兩條規則:

規則名稱優先順序來源目的連接埠動作門神心裡話
Allow-Whitelist-to-Ports300你的白名單 IP80, 443, 8080Allow(允許)是好朋友拿著通行證來了!這幾個 Port 給你過!
Deny-All-to-Ports301Any(任何人)80, 443, 8080Deny(拒絕)剩下的閒雜人等注意,只要想碰這幾個 Port,通通給我滾!

⚠️ 重要提醒:允許(Allow)規則的 Priority 數字(例如 300)必須小於阻擋(Deny)規則的 Priority 數字(例如 301)。如果把阻擋數字寫得太小,門神就會先把大家都趕走,你的好朋友就再也進不來了。


詳細設定步驟(Azure Portal 傳送門操作)

請直接移駕到你的 NSG (azure vmptstgjpe001-nsg)的「輸入安全性規則(Inbound security rules)」頁面,深呼吸之後點選「新增(Add)」:

步驟 1:建立白名單允許規則

  1. Source(來源):下拉選單請選 IP Addresses。
  2. Source IP addresses(來源 IP 位址):輸入你想放行的白名單 IP。如果好朋友有點多,可以用半形逗號隔開,例如: 1.1.1.1, 2.2.2.0/24。
  3. Source port ranges(來源連接埠範圍):維持預設的 * 號就好。
  4. Destination(目的地):選 Any 或是直接指定那一台 VM 的內網 IP。
  5. Destination port ranges(目的連接埠範圍):輸入你想控制的多個 Port,中間記得用半形逗號隔開,例如: 80, 443, 8080。
  6. Protocol(通訊協定):看你心情與需求,選 TCP、UDP 或是 Any。
  7. Action(動作):大方地選擇 Allow。
  8. Priority(優先順序):給它一個比較小的數字,例如 300。
  9. Name(名稱):取一個好辨識的名字,像是 Allow_Whitelist_MultiPorts。

步驟 2:建立其餘全部阻擋規則

再次點選「新增(Add)」來建立第二道關卡:

  1. Source(來源):這次要選 Any,代表任何路人甲乙丙。
  2. Source port ranges:一樣維持 * 號。
  3. Destination:選 Any。
  4. Destination port ranges:請輸入與步驟 1 完全一模一樣的多個 Port,例如: 80, 443, 8080。
  5. Protocol:請與步驟 1 保持同步。
  6. Action(動作):這次要狠下心選擇 Deny。
  7. Priority(優先順序):數字必須比步驟 1 還要大,例如 301。
  8. Name(名稱):給它一個威武的名字,像是 Deny_All_MultiPorts。

進階管理小技巧

如果你的白名單 IP 常常像天氣一樣變來變去,或者你手底下的 VM 越來越多,每次都要手動來改 NSG 規則真的會讓人想砸鍵盤。

這時候建議可以利用「應用程式安全性群組(Application Security Group, ASG)」或者 Azure 的「IP Groups」功能。這就像是把所有好朋友的名字直接打包進一個群組懶人包,以後 NSG 規則的來源直接指定這個群組就可以了,管理起來輕鬆到可以提早下班!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *