반응형
Control을 공부하면서 한국어 문서에서는 용어가 다소 모호하여, 영어문서 위주로 보았다.
특히 예방(Preventive), 탐지(Detective), 사전예방(Proactive), *필수제어(Mandatory controls), 강력권장(Strongly Recommended Controls), 선택적제어(Elective Control) 개념간의 어떤 차이가 존재하는지 분명히 알아야 한다고 생각한다.
개인적으로 보안심사 대비용 외에도 언제든 닥칠 수 있는 보안사고의 영향을 줄이기 위해 AWS Control를 이용하는 것은 추천한다. 내가 만약 기업의 클라우드(보안) 담당자라면 Control Tower를 이용하지 않더라도 “실수로 KMS를 삭제하는 것을 방지”, “루트 사용자가 엑세스키 생성하는 것을 방지” 와 같은 정책은 꼭 사용할 것이다.
이제 AWS Control에 대한 내용을 정리해보겠다.
AWS Control이란
- AWS Control는 전체 AWS 환경에 대한 지속적인 거버넌스를 제공하는 상위 수준 규칙이다.
- Control은 OU및 OU 내 AWS 계정에 적용되며, 예외적으로 마스터 계정 및 루트 사용자는 Control에서 허용하지 않는 작업도 수행할 수 있다.
AWS Control의 동작 방식
- AWS Control은 예방, 탐지, 사전예방으로 구분된다.
- 예방(Preventive) : SCP(AWS Organizations에 있음)를 사용하여
- 탐지(Detective) : Config 규칙을 이용하여 정책 위반 사항을 탐지하고 경고를 제공한다.
- 사전예방(Proactive) : Cloudformation을 사용하여
Control guidance
- 필수제어(Mandatory controls) : 랜딩존에서 항상 실행되며, 모든 OU에 적용된다. 어떠한 OU에서 이 기능은 끌 수 없다. 그리고 AWS Control Tower를 통해 생성된 OU에는 필수 제어가 자동으로 적용된다.
- 강력권장(Strongly Recommended Controls) : 일반적인 모범 사례를 OU 수준에 적용한다.
- *선택적제어(*Elective Control) : 일반적으로 제한되는 행위를 추적하거나 잠그는 기능으로, OU 수준에 적용한다.
- Security Hub - AWS Foundational Security Best Practices (FSBP)를 통해 AWS 계정과 리소스가 보안 모범 사례를 벗어나는 것을 탐지
정책을 설정할 때는 아래 상세 내용에 나오는 내용을 참고하여 결정하면 된다.
상세 내용
Mandatory controls (https://docs.aws.amazon.com/controltower/latest/controlreference/mandatory-controls.html#config-disallow-changes**)**
- Disallow Changes to Encryption Configuration for AWS Control Tower Created Amazon S3 Buckets in Log Archive
- Disallow Changes to Logging Configuration for AWS Control Tower Created Amazon S3 Buckets in Log Archive
- Disallow Changes to Bucket Policy for AWS Control Tower Created Amazon S3 Buckets in Log Archive
- Disallow Changes to Lifecycle Configuration for AWS Control Tower Created Amazon S3 Buckets in Log Archive
- Disallow Changes to Amazon CloudWatch Logs Log Groups set up by AWS Control Tower
- Disallow Deletion of AWS Config Aggregation Authorizations Created by AWS Control Tower
- Disallow Deletion of Log Archive
- Detect Public Read Access Setting for Log Archive
- Detect Public Write Access Setting for Log Archive
- Disallow Configuration Changes to CloudTrail
- Integrate CloudTrail Events with Amazon CloudWatch Logs
- Enable CloudTrail in All Available Regions
- Enable Integrity Validation for CloudTrail Log File
- Disallow Changes to Amazon CloudWatch Set Up by AWS Control Tower
- Disallow Changes to Tags Created by AWS Control Tower for AWS Config Resources
- Disallow Configuration Changes to AWS Config
- Enable AWS Config in All Available Regions
- Disallow Changes to AWS Config Rules Set Up by AWS Control Tower
- Disallow Changes to AWS IAM Roles Set Up by AWS Control Tower and AWS CloudFormation
- Disallow Changes to AWS Lambda Functions Set Up by AWS Control Tower
- Disallow Changes to Amazon SNS Set Up by AWS Control Tower
- Disallow Changes to Amazon SNS Subscriptions Set Up by AWS Control Tower
- Detect whether shared accounts under the Security organizational unit have AWS CloudTrail or CloudTrail Lake enabled
Strongly recommended controls
- Disallow Creation of Access Keys for the Root User
- Disallow Actions as a Root User
- Detect Whether Encryption is Enabled for Amazon EBS Volumes Attached to Amazon EC2 Instances
- Detect Whether Unrestricted Incoming TCP Traffic is Allowed
- Detect Whether Unrestricted Internet Connection Through SSH is Allowed
- Detect Whether MFA for the Root User is Enabled
- Detect Whether Public Read Access to Amazon S3 Buckets is Allowed
- Detect Whether Public Write Access to Amazon S3 Buckets is Allowed
- Detect Whether Amazon EBS Volumes are Attached to Amazon EC2 Instances
- Detect Whether Amazon EBS Optimization is Enabled for Amazon EC2 Instances
- Detect Whether Public Access to Amazon RDS Database Instances is Enabled
- Detect Whether Public Access to Amazon RDS Database Snapshots is Enabled
- Detect Whether Storage Encryption is Enabled for Amazon RDS Database Instances
- Detect whether an account has AWS CloudTrail or CloudTrail Lake enabled
Elective controls
- Disallow Changes to Encryption Configuration for Amazon S3 Buckets [Previously: Enable Encryption at Rest for Log Archive]
- Disallow Changes to Logging Configuration for Amazon S3 Buckets [Previously: Enable Access Logging for Log Archive]
- Disallow Changes to Bucket Policy for Amazon S3 Buckets [Previously: Disallow Policy Changes to Log Archive]
- Disallow Changes to Lifecycle Configuration for Amazon S3 Buckets [Previously: Set a Retention Policy for Log Archive]
- Disallow Changes to Replication Configuration for Amazon S3 Buckets
- Disallow Delete Actions on Amazon S3 Buckets Without MFA
- Detect Whether MFA is Enabled for AWS IAM Users
- Detect Whether MFA is Enabled for AWS IAM Users of the AWS Console
- Detect Whether Versioning for Amazon S3 Buckets is Enabled
- Disallow management of resource types, modules, and hooks within the AWS CloudFormation registry
반응형
'OPS' 카테고리의 다른 글
CloudBerry Explorer 대체재 (0) | 2024.05.27 |
---|---|
[Nginx] Nginx와 AWS ELB 연동해보기 (0) | 2024.05.26 |
[EKS] 상태검사 실패로 인한 워커노드 재배포시 Pod 생성 에러 발생 (0) | 2024.04.19 |
AWS 예약된 5개 IP 주소 (0) | 2024.04.16 |
[Linux] 리눅스 그룹 및 계정 생성 (0) | 2024.04.12 |