설명
IAM 정책 생성, 삭제, 연결, 수정 이벤트를 감지하는 로그 필터와 CloudWatch 알람이 없으면 권한 변경을 제때 알아차리기 어렵습니다. 권한 정책 변경은 보안 사고와 관련될 수 있는 중요한 이벤트입니다.
CloudTrail 로그 저장만으로는 담당 팀에 알림이 전달되지 않습니다. 필요한 정책 변경을 모니터링하고 실제 운영 채널에 알림을 연결하세요.
잠재적 영향
- IAM 권한 변경을 늦게 발견할 수 있습니다.
- 과도한 권한 부여나 비정상적인 정책 변경을 놓칠 수 있습니다.
- 사고 대응과 추적 조치가 지연될 수 있습니다.
해결 방법
- CloudTrail 이벤트를 CloudWatch Logs로 전달하고 주요 IAM 정책 변경의 로그 메트릭 필터를 구성하세요.
- 생성되는 메트릭 이름과 네임스페이스를 알람에 연결하고 평가 기간, 임계값, SNS 알림 수신 경로를 설정하세요.
- 필요한 정책 변경 이벤트가 포함되는지 확인하고 알람 조건을 충족하는 이벤트로 실제 알림을 테스트하세요. 알림이 정책 변경 자체를 차단하지는 않습니다.
예시
아래는 필터와 메트릭 연결을 보여 주는 부분 예제입니다. 알람에 필요한 평가 기간, 통계·주기, 임계값과 알림 작업은 별도로 완성해야 합니다. CloudTrail 로그 전달과 SNS 구독도 필요합니다. 여기서는 필터 이름과 생성되는 메트릭 이름이 같으므로 필터의 id를 메트릭 이름으로 참조합니다.
변경 전
hcl
resource "aws_cloudwatch_metric_alarm" "example" {
alarm_name = "CIS-4.4-IAM-Policy-Change"
metric_name = "XXXX NOT YOUR FILTER XXXX"
namespace = "CIS_Metric_Alarm_Namespace"
comparison_operator = "GreaterThanOrEqualToThreshold"
}
변경 후
hcl
resource "aws_cloudwatch_log_metric_filter" "example" {
name = "CIS-4.4-IAM-Policy-Change"
pattern = "{($.eventName=DeleteGroupPolicy)||($.eventName=DeleteRolePolicy)||($.eventName=DeleteUserPolicy)||($.eventName=PutGroupPolicy)||($.eventName=PutRolePolicy)||($.eventName=PutUserPolicy)||($.eventName=CreatePolicy)||($.eventName=DeletePolicy)||($.eventName=CreatePolicyVersion)||($.eventName=DeletePolicyVersion)||($.eventName=AttachRolePolicy)||($.eventName=DetachRolePolicy)||($.eventName=AttachUserPolicy)||($.eventName=DetachUserPolicy)||($.eventName=AttachGroupPolicy)||($.eventName=DetachGroupPolicy)}"
log_group_name = aws_cloudwatch_log_group.CIS_CloudWatch_LogsGroup.name
metric_transformation {
name = "CIS-4.4-IAM-Policy-Change"
namespace = "CIS_Metric_Alarm_Namespace"
value = "1"
}
}
resource "aws_cloudwatch_metric_alarm" "example" {
alarm_name = "CIS-4.4-IAM-Policy-Change"
metric_name = aws_cloudwatch_log_metric_filter.example.id
namespace = "CIS_Metric_Alarm_Namespace"
comparison_operator = "GreaterThanOrEqualToThreshold"
}
설명:
- 변경 전: 알람의 메트릭 이름이 정책 변경 필터의 메트릭과 연결되지 않습니다.
- 변경 후: 선택한 정책 변경 이벤트를 메트릭으로 만들고 알람에 연결합니다. 생략된 알람 설정과 수신 경로를 완성한 뒤 동작을 확인하세요.