

# SEC06-BP02 減少受攻擊面
<a name="sec_protect_compute_reduce_surface"></a>

 透過強化作業系統以及盡量減少使用中的元件、程式庫和外部消耗性服務，來減少意外存取。首先減少未使用的元件，無論它們是作業系統套件或應用程式 (適用於 Amazon Elastic Compute Cloud (Amazon EC2) 型工作負載) 或程式碼中的外部軟體模組 (適用於所有工作負載)。對於常見的作業系統和伺服器軟體，您可以找到許多強化和安全組態指南。例如，您可以從 [Center for Internet Security](https://www.cisecurity.org/) 開始並反覆。

 在 Amazon EC2 中，您可以建立自己的 Amazon Machine Image (AMI)，並已對其進行修補和強化，以協助您符合組織的特定安全要求。您在 AMI 上套用的修補程式和其他安全控制，在建立它們的時間點有效—它們不是動態的，除非您在啟動後進行修改，例如，使用 AWS Systems Manager 進行此修改。

 您可以使用 EC2 Image Builder 簡化建置安全 AMI 的程序。EC2 Image Builder 會大幅地減少建立和維護黃金映像所需的工作量，而不會編寫和維護自動化。當軟體更新可用時，Image Builder 會自動產生新映像，而無需用戶手動啟動映像構置。EC2 Image Builder 可讓您在生產環境中使用您的映像，搭配 AWS 提供的測試和您自己的測試之前，輕鬆地驗證這些映像的功能和安全性。您也可以套用 AWS 提供的安全設定，以進一步保護您的映像，來符合內部安全準則。例，您可以使用 AWS 提供的範本，產生符合安全技術實作指南 (STIG) 標準的映像。 

 使用第三方靜態程式碼分析工具，您可以識別常見的安全問題，例如未檢查的函數輸入界限，以及適用的常見漏洞和披露 (CVE)。您可以使用 [Amazon CodeGuru](https://aws.amazon.com/codeguru/) 取得支援的語言。相依性檢查工具也可以用來判斷您的程式碼連結的程式庫是否為最新版本、本身是否不使用 CVE，以及是否具有符合您軟體政策要求的授權條件。

 使用 Amazon Inspector，您可以對已知 CVE 的執行個體執行組態評定、根據安全基準進行評估，和將缺陷通知自動化。Amazon Inspector 在生產執行個體上或建置管道中執行，並在結果出現時通知開發人員和工程師。您可以透過程式設計方式存取結果，並將您的團隊引導至待辦項目和錯誤追蹤系統。 [EC2 Image Builder](https://aws.amazon.com/image-builder/) 可透過自動修補、AWS 提供的安全政策強制執行以及其他自訂項目來維護伺服器映像 (AMI)。使用容器時，會在您的建置管道中定期對照映像儲存庫執行 [ECR 影像掃描](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) ，以在容器中尋找 CVE。

 雖然 Amazon Inspector 和其他工具可以有效地識別現有的組態和任何 CVE，但還需要其他方法來測試應用程式層級的工作負載。 [Fuzzing](https://owasp.org/www-community/Fuzzing) 是一種利用自動化尋找錯誤的知名方法，能將格式不正確的資料注入輸入欄位和應用程式的其他區域。 

 **若未建立此最佳實務，暴露的風險等級為：** 高 

## 實作指引
<a name="implementation-guidance"></a>
+  強化作業系統：設定作業系統以符合最佳實務。 
  +  [保護 Amazon Linux](https://www.cisecurity.org/benchmark/amazon_linux/) 
  +  [保護 Microsoft Windows Server](https://www.cisecurity.org/benchmark/microsoft_windows_server/) 
+  強化容器化資源：設定容器化資源以符合安全最佳實務。
+  實作 AWS Lambda 最佳實務。
  +  [AWS Lambda 最佳實務](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html) 

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

 **相關文件：** 
+  [AWS Systems Manager](https://aws.amazon.com/systems-manager/) 
+  [將堡壘主機取代為 Amazon EC2 Systems Manager](https://aws.amazon.com/blogs/mt/replacing-a-bastion-host-with-amazon-ec2-systems-manager/) 
+  [AWS Lambda 的安全概觀](https://pages.awscloud.com/rs/112-TZM-766/images/Overview-AWS-Lambda-Security.pdf) 

 **相關影片：** 
+  [在 Amazon EKS 上執行高安全的工作負載](https://youtu.be/OWRWDXszR-4) 
+  [保護無伺服器和容器服務的安全](https://youtu.be/kmSdyN9qiXY) 
+  [Amazon EC2 執行個體中繼資料服務的安全最佳實務](https://youtu.be/2B5bhZzayjI) 

 **相關範例：** 
+  [實驗室︰Web 應用程式防火牆的自動部署](https://wellarchitectedlabs.com/Security/200_Automated_Deployment_of_Web_Application_Firewall/README.html) 