SEC01-BP06 Automate deployment of standard security controls - AWS Well-Architected Framework

SEC01-BP06 Automate deployment of standard security controls

AWS 환경 전반에서 표준인 보안 제어 기능을 개발하고 배포할 때 최신 DevOps 사례를 적용하세요.  코드형 인프라(IaC) 템플릿을 사용하여 표준 보안 제어 및 구성을 정의하고, 버전 제어 시스템에서 변경 사항을 캡처하고, CI/CD 파이프라인의 일부로 변경 사항을 테스트하고, AWS 환경에 변경 사항을 자동으로 배포할 수 있습니다.

원하는 결과: IaC 템플릿이 표준화된 보안 제어를 캡처하여 버전 제어 시스템에 적용합니다.  CI/CD 파이프라인은 변경 사항을 탐지하고 AWS 환경 테스트 및 배포를 자동화하는 곳에 마련되어 있습니다.  배포를 진행하기 전에 템플릿의 구성 오류를 탐지하고 알림을 보내기 위한 가드레일이 있습니다.  워크로드는 표준 제어 기능이 적용되는 환경에 배포됩니다.  팀은 셀프 서비스 메커니즘을 통해 승인된 서비스 구성을 배포할 수 있습니다.  제어 구성, 스크립트 및 관련 데이터를 위한 안전한 백업 및 복구 전략이 마련되어 있습니다.

일반적인 안티 패턴:

  • 웹 콘솔 또는 명령줄 인터페이스를 통해 표준 보안 제어 기능을 수동으로 변경합니다.

  • 개별 워크로드 팀에 의존하여 중앙 팀이 정의한 제어 기능을 수동으로 구현합니다.

  • 워크로드 팀의 요청에 따라 중앙 보안 팀에 의존하여 워크로드 수준 제어 기능을 배포합니다.

  • 동일한 개인 또는 팀이 적절히 업무를 분담하거나 점검하며 균형을 맞추지 않고 보안 제어 자동화 스크립트를 개발, 테스트 및 배포할 수 있습니다. 

이 모범 사례 확립의 이점: 템플릿을 사용하여 표준 보안 제어를 정의하면 버전 제어 시스템을 통해 시간 경과에 따른 변경 사항을 추적하고 비교할 수 있습니다.  자동화를 사용하여 변경 사항을 테스트하고 배포하면 표준화와 예측 가능성을 높여 배포가 성공할 확률이 커지고 수동 반복 작업을 줄일 수 있습니다.  워크로드 팀이 승인된 서비스 및 구성을 배포할 수 있는 셀프 서비스 메커니즘을 제공하면 구성 오류 및 오용의 위험을 줄일 수 있습니다. 또한, 개발 프로세스 초기에 제어 기능을 통합하는 데도 도움이 됩니다.

이 모범 사례를 따르지 않을 경우 노출 위험도: 중간

구현 가이드

SEC01-BP01 계정을 사용하여 워크로드 분리에 설명된 방법을 따르면, AWS Organizations를 사용하여 관리하는 환경마다 AWS 계정이 여러 개가 생깁니다.  이러한 각 환경과 워크로드에는 별도의 보안 제어가 필요할 수 있지만, 조직 전체에서 일부 보안 제어를 표준화할 수 있습니다.  예로는 중앙 집중식 ID 제공업체 통합, 네트워크 및 방화벽 정의, 로그 저장 및 분석을 위한 표준 위치 구성 등이 있습니다.  코드형 인프라(IaC)를 사용하여 인프라 프로비저닝에 동일하게 엄격한 애플리케이션 코드 개발을 적용할 수 있는 것과 마찬가지로, IaC를 통해 표준 보안 제어를 정의하고 배포할 수도 있습니다.

가능하면 AWS CloudFormation과 같은 선언적인 방법으로 보안 제어를 정의하고 소스 제어 시스템에 저장합니다.  DevOps 관행을 바탕으로 보다 예측 가능한 릴리스를 위해 제어 기능을 자동으로 배포하고, AWS CloudFormation Guard와 같은 도구를 사용하여 자동화된 테스트를 수행하며, 배포된 제어 기능과 원하는 구성 간의 차이를 탐지합니다.  AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy 등의 서비스를 사용하여 CI/CD 파이프라인을 구성할 수 있습니다. 여러 계정을 사용하여 AWS 환경 구성의 지침을 참조하여 다른 배포 파이프라인과 분리된 자체 계정에서 이러한 서비스를 구성하세요.

템플릿을 정의하여 AWS 계정, 서비스 및 구성을 정의하고 배포하는 것을 표준화할 수도 있습니다  이 기술을 사용하면 중앙 보안 팀에서 정의를 관리하고 셀프 서비스 접근 방식을 통해 워크로드 팀에 제공할 수 있습니다.  이를 달성하는 한 방법은 워크로드 팀이 자체 파이프라인 배포에 통합 가능한 제품으로 템플릿을 게시할 수 있는 Service Catalog를 사용하는 것입니다.  AWS Control Tower를 사용하는 경우 일부 템플릿과 제어 기능을 시작점으로 삼을 수 있습니다.  Control Tower는 또한 Account Factory 기능을 제공하여 워크로드 팀이 정의한 표준을 통해 새로운 AWS 계정을 만들 수 있도록 합니다  이 기능을 사용하면 중앙 팀에 종속되지 않고 워크로드 팀에서 필요하다고 판단한 경우 새 계정을 승인하고 생성할 수 있습니다.  이러한 계정은 제공하는 기능, 처리 중인 데이터의 민감도 또는 동작과 같은 이유에 따라 다양한 워크로드 구성 요소를 분리하는 데 필요할 수 있습니다.

구현 단계

  1. 버전 관리 시스템에서 템플릿을 저장하고 유지 관리하는 방법을 결정합니다.

  2. CI/CD 파이프라인을 생성하여 템플릿을 테스트하고 배포합니다.  잘못된 구성이 있는지 점검하고 템플릿이 기업 표준을 준수하는지 확인하는 테스트를 정의합니다.

  3. 워크로드 팀이 요구 사항에 따라 AWS 계정을 배포하고 서비스할 수 있도록 표준화된 템플릿 카탈로그를 구축합니다.

  4. 제어 구성, 스크립트 및 관련 데이터에 대한 안전한 백업 및 복구 전략을 구현합니다.

리소스

관련 모범 사례:

관련 문서:

관련 예시:

관련 도구: