설명
네트워크 ACL의 생성, 삭제, 규칙 변경이나 서브넷 연결 변경은 네트워크 접근 범위를 바꿀 수 있습니다. 관련 CloudTrail 이벤트를 모니터링해 의도하지 않은 변경을 확인하세요.
잠재적 영향
변경 알림이 없으면 잘못된 접근 허용이나 정상 트래픽 차단에 대한 대응이 늦어질 수 있습니다.
해결 방법
네트워크 ACL과 항목의 생성·삭제, 항목 교체, 서브넷 연결 교체 이벤트에 대한 로그 메트릭 필터를 구성하세요. 필터의 지표 이름과 네임스페이스에 알람을 연결하고 알림 대상을 설정하세요.
예시
예시는 필터와 다른 지표를 참조하는 알람을 수정합니다. 로그 전달과 알림 대상은 별도로 구성하세요.
변경 전
hcl
resource "aws_cloudwatch_metric_alarm" "example" {
alarm_name = "CIS-4.11-Changes-NACL"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = "1"
metric_name = "OTHER FILTER"
namespace = "CIS_Metric_Alarm_Namespace"
period = "300"
statistic = "Sum"
threshold = "1"
}
resource "aws_cloudwatch_log_metric_filter" "example" {
name = "CIS-4.11-Changes-NACL"
pattern = "{ ($.eventName = CreateNetworkAcl) || ($.eventName = CreateNetworkAclEntry) || ($.eventName = DeleteNetworkAcl) || ($.eventName = DeleteNetworkAclEntry) || ($.eventName = ReplaceNetworkAclEntry) || ($.eventName = ReplaceNetworkAclAssociation) }"
log_group_name = aws_cloudwatch_log_group.CIS_CloudWatch_LogsGroup.name
metric_transformation {
name = "CIS-4.11-Changes-NACL"
namespace = "CIS_Metric_Alarm_Namespace"
value = "1"
}
}
변경 후
hcl
resource "aws_cloudwatch_metric_alarm" "example" {
alarm_name = "CIS-4.11-Changes-NACL"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = "1"
metric_name = aws_cloudwatch_log_metric_filter.example.id
namespace = "CIS_Metric_Alarm_Namespace"
period = "300"
statistic = "Sum"
threshold = "1"
}
resource "aws_cloudwatch_log_metric_filter" "example" {
name = "CIS-4.11-Changes-NACL"
pattern = "{ ($.eventName = CreateNetworkAcl) || ($.eventName = CreateNetworkAclEntry) || ($.eventName = DeleteNetworkAcl) || ($.eventName = DeleteNetworkAclEntry) || ($.eventName = ReplaceNetworkAclEntry) || ($.eventName = ReplaceNetworkAclAssociation) }"
log_group_name = aws_cloudwatch_log_group.CIS_CloudWatch_LogsGroup.name
metric_transformation {
name = "CIS-4.11-Changes-NACL"
namespace = "CIS_Metric_Alarm_Namespace"
value = "1"
}
}