π AWS CloudTrail Unauthorized API Calls Monitoring is not enabled π’
- Contextual name: π Unauthorized API Calls Monitoring is not enabled π’
- ID:
/ce/ca/aws/cloudtrail/unauthorized-api-calls-monitoring
- Located in: π AWS CloudTrail
Flagsβ
- π’ Impossible policy
- π’ Policy with categories
- π’ Policy with type
Our Metadataβ
- Policy Type:
COMPLIANCE_POLICY
- Policy Category:
SECURITY
Similar Policiesβ
- Cloud Conformity
- Internal
dec-x-9b3ad9c4
Similar Internal Rulesβ
Rule | Policies | Flags |
---|---|---|
βοΈ dec-x-9b3ad9c4 | 1 |
Descriptionβ
Descriptionβ
Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms.
It is recommended that a metric filter and alarm be established for unauthorized API calls.
Rationaleβ
Monitoring unauthorized API calls will help reduce time to detect malicious activity and can alert you to a potential security incident.
CloudWatch is an AWS native service that allows you to observe and monitor resources and applications. CloudTrail Logs can also be sent to an external Security information and event management (SIEM) environment for monitoring and alerting.
Impactβ
This alert may be triggered by normal read-only console activities that attempt to opportunistically gather optional information, but gracefully fail if they don't have permissions.
If an excessive number of alerts are being generated then an organization may wish to consider adding read access to the limited IAM user permissions simply to quiet the alerts.
... see more
Remediationβ
Remediationβ
If you are using CloudTrails and CloudWatch, perform the following to setup the metric filter, alarm, SNS topic, and subscription:
- Create a metric filter based on filter pattern provided which checks for unauthorized API calls and the
<cloudtrail_log_group_name>
taken from audit step 1:aws logs put-metric-filter --log-group-name "cloudtrail_log_group_name" --filter-name "<unauthorized_api_calls_metric>" --metric-transformations metricName=unauthorized_api_calls_metric,metricNamespace=CISBenchmark,metricValue=1 --filter-pattern "{ ($.errorCode =\"*UnauthorizedOperation\") || ($.errorCode =\"AccessDenied*\") && ($.sourceIPAddress!=\"delivery.logs.amazonaws.com\") && ($.eventName!=\"HeadBucket\") }"
Note: You can choose your own
metricName
andmetricNamespace
strings. Using the samemetricNamespace
for all Foundations Benchmark metrics will group them together.
- Create an SNS topic that the alarm will notify:
aws sns create-topic --name <sns_topic_name>
Note: you can execute this command once and then re-use the same topic for all monitoring alarms.
... see more