VPC changes should be monitored

Description

Real-time monitoring of API calls can be achieved by directing CloudTrail logs to CloudWatch logs and establishing corresponding metric filters and alarms. Multiple VPCs can exist within an account, and it is also possible to create peer connections between VPCs to enable network traffic routing. It is recommended to set up a metric filter and alarm for changes made to VPCs to ensure that VPC traffic flow is not being impacted.

Remediation

For instructions on setting up CloudWatch metric filters and alarms for VPC changes, refer to the AWS CloudWatch Alarms for CloudTrail User Guide.

aws logs put-metric-filter --log-group-name <cloudtrail_log_group_name> \
--filter-name <vpc_changes_metric> --metric-transformations \
metricName=<vpc_changes_metric>,metricNamespace='CISBenchmark',metricValue=1 \
--filter-pattern '{($.eventName = CreateVpc) || ($.eventName = DeleteVpc) || \
($.eventName = ModifyVpcAttribute) || ($.eventName = AcceptVpcPeeringConnection) || \
($.eventName = CreateVpcPeeringConnection) || ($.eventName = DeleteVpcPeeringConnection) || \
($.eventName = RejectVpcPeeringConnection) || ($.eventName = AttachClassicLinkVpc) || \
($.eventName = DetachClassicLinkVpc) || ($.eventName = DisableVpcClassicLink) || \
($.eventName = EnableVpcClassicLink)}'

You can choose your own metricName and metricNamespace strings. Use the same metricNamespace for all Foundations Benchmark metrics to group them together.