

# OPS05-BP05 執行修補程式管理
<a name="ops_dev_integ_patch_mgmt"></a>

 執行修補程式管理以取得功能、解決問題並保持遵循管控。自動化修補程式管理，以減少由手動程序引起的錯誤、進行擴展，並減少修補工作量。 

 修補程式和漏洞管理屬於您利益和風險管理活動的一部分。最好擁有不可變的基礎設施，並在已驗證的已知良好狀態下部署工作負載。如果這種方法不可行，剩下的方法就是進行修補。 

 [Amazon EC2 Image Builder](https://aws.amazon.com/image-builder/) 提供更新機器映像的管道。在修補程式管理的過程中，請考慮 [Amazon Machine Image](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html       ) (AMI) (使用 [AMI 影像管道)，](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-image-pipeline.html) 或容器映像 [(使用 Docker 映像管道)](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-container-pipeline.html)，同時 AWS Lambda 會提供模式 [讓自訂執行階段和其他程式庫](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html) 移除漏洞。 

 您應使用下列工具管理 [Amazon Machine Image](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) for Linux 或 Windows 伺服器映像的更新： [Amazon EC2 Image Builder](https://aws.amazon.com/image-builder/)。您可以使用 [Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) 搭配現有的管道來管理 Amazon ECS 映像和管理 Amazon EKS 映像。Lambda 包括 [版本管理功能](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html)。 

 若未先在安全環境中進行測試，就不應在生產系統上執行修補程式。只有在修補程式能夠支援營運或業務成果時，才應套用修補程式。在 AWS 上，您可以使用 [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 自動化受管系統的修補程序，以及使用下列工具來排程活動： [Systems Manager 維護時段](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html)。 

 **預期成果：** 您的 AMI 和容器映像已完成修補、處於最新狀態，並準備好啟動。您可以追蹤所有已部署映像的狀態，並了解修補程式的合規狀況。您可以通報目前狀態，並設立程序來滿足合規需求。 

 **常見的反模式：** 
+  您必須在兩小時內套用所有新的安全修補程式，結果導致應用程式與修補程式不相容而發生多次停機。 
+  未修補的程式庫導致意外後果發生，因為有不明對象利用其中的漏洞來存取您的工作負載。 
+  您自動修補開發人員環境，而未通知開發人員。您收到來自開發人員的多次投訴，表示其環境如預期停止運作。 
+  您尚未在持續執行的執行個體上修補商用現成軟體。當軟體發生問題而您聯絡廠商時，他們會通知您不支援該版本，您必須修補至特定程度才能獲得協助。 
+  您使用的加密軟體近期發佈了修補程式，使效能獲得大幅改善。未修補的系統因未修補仍存在效能問題。 
+  收到發生零時差漏洞的通知時，需緊急修正並手動修補所有環境。 

 **建立此最佳實務的優勢：** 透過建立修補程式管理程序 (包括修補準則和在各環境中散佈的方法)，您就能擴展和報告修補程度。這樣可保證修補過程安全無虞，並確保能清楚看見已知修正的狀態。如此可促進採用所需的功能、迅速消除問題，並持續遵循管控要求。實作修補程式管理系統和自動化，以減少部署修補程式的工作量，並限制手動程序引起的錯誤。 

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

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

 修補系統以補救問題，獲得所需的功能，並保持符合管控政策和廠商支援需求。在不可變系統中，部署適當的修補程式集以實現所需的結果。自動化修補程式管理機制，以縮短修補時間、避免手動程序引起的錯誤，並減少修補工作量。 

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

 針對 Amazon EC2 Image Builder： 

1.  使用 Amazon EC2 Image Builder 指定管道詳細資訊： 

   1.  建立映像管道並命名 

   1.  定義管道排程和時區 

   1.  設定任何相依性 

1.  選擇配方： 

   1.  選取現有配方或建立新配方 

   1.  選取映像類型 

   1.  提供配方的名稱和版本 

   1.  選取基礎映像 

   1.  新增組建元件並新增至目標登錄檔 

1.  選用 - 定義您的基礎設施組態。 

1.  選用 - 定義組態設定。 

1.  檢閱設定。 

1.  定期維護配方乾淨度。 

 針對 Systems Manager Patch Manager： 

1.  建立修補基準。 

1.  選取路徑操作方法。 

1.  啟用合規報告和掃描。 

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

 **相關的最佳實務：** 
+  [OPS06-BP04 自動化測試和復原](ops_mit_deploy_risks_auto_testing_and_rollback.md) 

 **相關文件：** 
+ [ 什麼是 Amazon EC2 Image Builder ](https://docs.aws.amazon.com/imagebuilder/latest/userguide/what-is-image-builder.html)
+ [ 使用 Amazon EC2 Image Builder 建立映像管道 ](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-image-pipeline.html)
+ [ 建立容器映像管道 ](https://docs.aws.amazon.com/imagebuilder/latest/userguide/start-build-container-pipeline.html)
+  [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 
+ [ 使用 Patch Manager ](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-console.html)
+ [ 使用修補程式合規報告 ](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-compliance-reports.html)
+ [AWS 開發人員工具 ](https://aws.amazon.com/products/developer-tools)

 **相關影片：** 
+  [AWS 上適用於無伺服器應用程式的 CI/CD](https://www.youtube.com/watch?v=tEpx5VaW4WE) 
+  [設計時考量 Ops](https://youtu.be/uh19jfW7hw4) 

   **相關範例：** 
+ [ Well-Architected 實驗室 - 庫存和修補程式管理 ](https://wellarchitectedlabs.com/operational-excellence/100_labs/100_inventory_patch_management)
+ [AWS Systems Manager Patch Manager 教學課程 ](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-tutorials.html)