안녕하세요 서후아빠입니다. ^_^
이번 세션은 Control Tower 3편으로 Control Tower를 이용하여 보안과 규제를 어떻게 관리하는지 실습을 해보겠습니다.
구성도
Prod 계정에 위치한 EC2 상태 : Public Subnet 위치, 보안그룹에서 0.0.0.0/0 → SSH 허용 Detective Controls 설정 : SSH 퍼블릭 접근 금지 Preventive Controls 설정 : S3 Bucket 암호화 설정 변경 금지 Detective (Config의 Rule 이용) : VPC Flow Log 활성화 감시 Preventive (SCP 이용) : EC2 인스턴스 정지 및 종료 시 MFA 필수 Organizations의 Policies : OU or AWS 계정에 연결해서 적용 (Service control policies(SCP), Tag policies, Backup policies 등) |
Detective Controls 활성화
Management 계정 > Control Tower > All controls > SSH 검색하여 선택 > Enable control > Production OU 선택 > Enable control on OU
OUs enabled (tab) > Enable 확인 Accounts (tab) > Prod 계정에서 Compliant / Enrolled 확인 |
Management 계정 > Control Tower > Dashboard
- Noncompliant resources : 0.0.0.0/0 → SSH 허용한 보안그룹 ID 확인
- Registered organizational units : Production OU 상태 Noncompliant 확인
- Enrolled accounts : Prod 계정 상태 Noncompliant 확인
Control에 의해 규정 위반(Any에서 접근 허용된 SSH 보안정책)된 리소스가 감지되고, 그 리소스가 위치한 OU정보 및 AWS 계정 정보도 확인됩니다. |
Preventive Controls 활성화
Management 계정 > Control Tower > All controls > AWS-GR_AUDIT_BUCKET_ENCRYPTION 검색하여 선택 > Enable control > Production OU 선택 > Enable control on OU
OUs enabled (tab) > Enable 확인 Accounts (tab) > Prod 계정에서 Compliant / Enrolled 확인 |
IAM Identity Center(SSO) 통해 AWS Prod 계정 접속 > S3 > Buckets > 기존 버킷 선택(없는 경우 생성) > Properties (tab) > Default encryption의 Edit > Server-side encryption (Enable) > Save changes > 팝업(…Identity and access management in Amazon S3…)
AWS-GR_AUDIT_BUCKET_ENCRYPTION 정책에 의해서 버킷의 암호화 설정이 차단됩니다. |
Config의 Rule 이용한 Detective
IAM Identity Center(SSO) 통해 AWS Prod 계정 접속 > Config > Rules > Add rule
Specify rule type | Configure rule |
Select rule type : Add AWS managed rule AWS Managed Rules : vpc-flow-logs-enabled |
Name : vpc-flow-logs-enabled Trigger Frequency : 1 hour |
Prod 계정에서 1시간마다 VPC Flow Log Enabled 상태 체크하는 정책을 생성합니다. |
IAM Identity Center(SSO) 통해 AWS Prod 계정 접속 > Config > Rules > vpc-flow-logs-enabled > Resources in scope에서 Compliance 상태 확인
Management 계정에서 Config Rule을 일괄적으로 배포하는 기능이 없기 때문에 Config Rule은 개별 계정에서 설정하며, 결과는 Management 계정의 Config Aggregator에서 일괄적으로 조회 가능합니다. |
SCP를 이용한 Preventive
Management 계정 > Organizations > Policies > Service control policies > Enable Service control policies > Create policy
Details | Code |
Policy name : scp_ec2_stop_mfa Policy description : Do not delete if there is no MFA. |
{"Version": "2012-10-17", "Statement": [{ "Action": [ "ec2:StopInstances", "ec2:TerminateInstances"], "Resource": "*", "Effect": "Deny", "Condition": { "BoolIfExists": { "aws:MultiFactorAuthPresent": false }}}]} |
Management 계정 > Organizations > Policies > Service control policies > Enable Service control policies > scp_ec2_stop_mfa 선택 >Targets (tab) > Attach > Production OU 선택 > Attach policy
IAM Identity Center(SSO) 통해 AWS Prod 계정 접속 > EC2 > Instances > EC2 선택 > Instance state > Stop instance or Terminate instance > 팝업(Failed to stop ….)
scp_ec2_stop_mfa 정책에 의해서 MFA 없이 중지하는 행위는 실패됩니다. |
'Management' 카테고리의 다른 글
[실습] Datadog 수집 정보 Private하게 연결 (0) | 2024.04.29 |
---|---|
[실습] CloudWatch Log groups & Metrics (Agent 이용한 로그&지표 수집, 쿼리문 이용한 로그 검색, S3로 내보내기) (0) | 2023.05.15 |
[실습] Control Tower 구성하기 - 2편 (IAM Identity Center = SSO, Okta 연동) (0) | 2023.02.10 |
[실습] Control Tower 구성하기 - 1편 (배포, AWS 계정 관리, LifeCycle 이벤트, 메뉴) (0) | 2023.02.10 |
[이론] Control Tower (Organizations, SSO) 기본 개념 (0) | 2023.02.10 |