

# SEC05-BP02 控制網路層內的流量流程
<a name="sec_network_protection_layered"></a>

 在網路層內，使用進一步的分隔方式，將流量限於每個工作負載所需的流程。首先，專注於控制網際網路或其他外部系統到工作負載與您的環境之間的流量 (*南北*流量)。接著查看不同元件和系統之間的流量 (*東西*流量)。

 **預期成果：**您只允許工作負載的元件所需的網路流程互相通訊，以及與其用戶端和其相依的任何其他服務進行通訊。您的設計考量到公有與私有輸入和輸出之間的比較、資料分類、區域法規以及協定需求等因素。在設計*最低權限原則*的過程中，盡可能採用點對點流程，而非網路對等。

 **常見的反模式：**
+  您採用以周邊為基礎的網路安全方法，僅控制網路層邊界處的流量流程。
+  您假設網路層內的所有流量都經過驗證和授權。
+  您只對輸入流量或輸出流量實施控制，而不是對兩者都實施。
+  您只仰賴工作負載元件和網路控制項來驗證和授權流量。

 **建立此最佳實務的優勢：**此實務有助於降低網路內發生未經授權行動的風險，並且為您的工作負載增加一層額外的授權。透過執行流量流程控制，您就可以限制安全事件的影響範圍，並加快偵測和回應速度。

 **未建立此最佳實務時的曝險等級：**高 

## 實作指引
<a name="implementation-guidance"></a>

 雖然網路層有助於在具有類似功能、資料敏感性層級和行為的工作負載元件周圍建立邊界，但您可以利用一些技術進一步區隔這些層內的元件，藉此建立遵循最低權限原則且更精細的流量控制層級。在 AWS 內，網路層主要是根據 Amazon VPC 內的 IP 位址範圍使用子網路定義。您也可以使用不同的 VPC 定義網路層，其用途包括根據業務領域將微型服務環境分組等。使用多個 VPC 時，使用 [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/) 調解路由。雖然這可在第 4 層 (IP 位址和連接埠範圍) 使用安全群組和路由表提供流量控制，但您可以使用 [AWS PrivateLink](https://aws.amazon.com/privatelink/)、[Amazon Route 53 Resolver DNS 防火牆](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-dns-firewall.html)、[AWS Network Firewall](https://aws.amazon.com/network-firewall/) 和 [AWS WAF](https://aws.amazon.com/waf/) 等其他服務進一步控制流量。

 針對連線啟動方、連接埠、協定和網路層等方面，了解並清查工作負載的資料流程和通訊需求。評估可用於建立連線和傳輸資料的協定，以選取符合您的防護需求的協定 (例如 HTTPS 而非 HTTP)。在網路邊界和每一層內擷取這些需求。確定這些需求後，探索僅允許必要的流量流經每個連線點的選項。一開始在 VPC 內使用*安全群組*會是合適的選擇，因為安全群組可以連接至使用彈性網路介面 (ENI) 的資源，例如 Amazon EC2 執行個體、Amazon ECS 任務、Amazon EKS Pod 或 Amazon RDS 資料庫。與第 4 層防火牆不同的是，安全群組可以設置一項規則來依識別碼允許來自另一個安全群組的流量，藉此盡量減少群組內的資源隨時間改變所需的更新。您也可以使用安全群組的傳入和傳出規則來篩選流量。

 當流量在 VPC 之間移動時，針對簡便路由使用 VPC 對等或針對複雜路由使用 AWS Transit Gateway 的情況很常見。使用這些方法可讓來源和目的地網路的 IP 位址範圍之間的流量更順暢。然而，如果您的工作負載只需要讓流量在不同 VPC 中的特定元件之間流動，則可考慮使用 [AWS PrivateLink](https://aws.amazon.com/privatelink/) 的點對點連線。若要這樣做，請確定哪些服務應作為生產者，哪些服務應作為取用者。為生產者部署相容的負載平衡器，對應地開啟 PrivateLink，然後接受取用者的連線請求。接著從取用者的 VPC 指派私有 IP 位址給生產者服務，取用者可使用該位址提出後續請求。這種方法減少了對等網路的需求。在評估 PrivateLink 的過程中，請納入資料處理和負載平衡的成本。

 安全群組和 PrivateLink 有助於控制工作負載的元件之間的流程，而另一項重要的考量則是如何控制允許您的資源存取哪些 DNS 網域 (如有的話)。根據您 VPC 的 DHCP 組態而定，您可以考慮兩種不同的 AWS 服務來達成此目的。大多數客戶會使用在 CIDR 範圍的 \$12 位址供 VPC 使用的預設 Route 53 Resolver DNS 服務 (也稱為 Amazon DNS 伺服器或 AmazonProvidedDNS)。使用此方法，您可以建立 DNS 防火牆規則，並將它們與 VPC 關聯，以確定要對您提供的網域清單執行哪些動作。

 如果您不使用 Route 53 Resolver，或是想要用網域篩選以外更深入的檢測和流程控制功能來輔助 Resolver，請考慮部署 AWS Network Firewall。此服務會使用無狀態或有狀態規則來檢測個別封包，以確定是否拒絕或允許流量。您可以採用類似的方法，使用 AWS WAF 篩選前往公有端點的傳入 Web 流量。如需有關這些服務的進一步指引，請參閱 [SEC05-BP03 實作檢測型防護措施](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_network_protection_inspection.html)。

### 實作步驟
<a name="implementation-steps"></a>

1.  識別工作負載元件之間的必要資料流程。

1.  藉由對傳入和傳出流量採用深度防禦方法，套用多項控制，包括使用安全群組和路由表。  

1.  使用防火牆對 VPC 上輸入、輸出和 VPC 之間的網路流量定義精細的控制，例如 Route 53 Resolver DNS 防火牆、AWS Network Firewall 和 AWS WAF。考慮使用 [AWS Firewall Manager](https://aws.amazon.com/firewall-manager/) 集中設定和管理整個組織的防火牆規則。

## 資源
<a name="resources"></a>

 **相關的最佳實務：**
+  [REL03-BP01 選擇如何劃分工作負載](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_service_architecture_monolith_soa_microservice.html) 
+  [SEC09-BP02 強制傳輸中加密](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_data_transit_encrypt.html) 

 **相關文件：**
+  [VPC 的安全最佳實務](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-best-practices.html) 
+  [AWS 網路最佳化秘訣](https://aws.amazon.com/blogs/networking-and-content-delivery/aws-network-optimization-tips/) 
+  [AWS 上的網路安全指引](https://aws.amazon.com/solutions/guidance/network-security-on-aws/) 
+  [在 AWS 雲端 中保護您 VPC 的傳出網路流量](https://docs.aws.amazon.com/prescriptive-guidance/latest/secure-outbound-network-traffic/welcome.html) 

 **相關工具：**
+  [AWS Firewall Manager](https://aws.amazon.com/firewall-manager/) 

 **相關影片：**
+  [適用於許多 VPC 的 AWS Transit Gateway 參考架構](https://youtu.be/9Nikqn_02Oc) 
+  [使用 Amazon CloudFront、AWS WAF 和 AWS Shield 的應用程式加速和保護](https://youtu.be/0xlwLEccRe0) 
+  [AWS re:Inforce 2023：防火牆和設置位置](https://www.youtube.com/watch?v=lTJxWAiQrHM) 