Security group 是掛在資源網卡(ENI)層級的有狀態防火牆,規則描述的是「哪些來源能連到這個資源的哪個埠」。「有狀態」的意思是放行一條入站連線後,對應的回應出站自動允許——規則只需描述入站方向想開放什麼。這面防火牆依附在資源所在的 VPC 網路邊界之內。

設計原則是最小開放:每條規則只開「這個服務確實需要被誰連的那個埠」。資料庫的 security group 入站只允許來自應用層 security group 的資料庫埠(如 5432),而不是某個 IP 範圍。用 security group 互相引用(source 指向另一個 group 而非 CIDR)讓規則跟著成員身分走、不跟著位址走——應用節點會隨擴縮而換 IP,引用 group 不會因此失效。

概念位置

Security group 是模組三:網路地基的最內層邊界——貼著服務的最後一道網路防線。即使封包順著 route table 抵達了 private subnet,security group 仍能逐埠決定放不放行。模組七:infra 走 PR 流程用 tfsec / checkov 在 CI 攔截 0.0.0.0/0 全開的規則。

可觀察訊號

Security group 需要收斂的訊號:入站來源是 0.0.0.0/0(允許全網連入),且目標埠是資料庫(5432、3306、6379)或管理埠(22、3389)——合理出現 0.0.0.0/0 的位置只有對外負載平衡器的 80 / 443。盤點方式是列出所有 source 為 0.0.0.0/0 的規則,逐條問「這個埠需要全世界都連得到嗎」。

設計責任

security group 是封包抵達資源前的最後一道網路檢查:規則寫得太寬會把服務的埠暴露出去,寫成固定位址又會在節點換 IP 時失效。設計時在這兩種失效之間收斂的項目是:

鄰卡