Profile Applicability:
- Level 1
Description:
This control ensures that AWS CloudTrail log data is monitored for any use of the root account. A CloudWatch metric filter and corresponding alarm must be created to detect and alert whenever the root user performs any action. Monitoring root account activity is critical, as this account has unrestricted administrative privileges across all AWS resources.
Rationale:
The AWS root account provides full access to all resources and services within the AWS account. Its use should be highly restricted and only utilized for emergency or account recovery purposes. Detecting and alerting on root account usage helps ensure accountability, prevent misuse, and reduce the risk of accidental or malicious administrative actions that could compromise the environment.
Impact:
- Positive Impact: Provides immediate visibility into critical account activities. Helps detect unauthorized or accidental root account usage.
- Negative Impact: Minimal increase in CloudWatch monitoring costs for logs and alerts.
Default Value:
By default, AWS does not create a metric filter or alarm for root account usage. Manual configuration is required.
Pre-Requisite:
- CloudTrail must be enabled in all regions.
- CloudTrail logs must be delivered to a CloudWatch Logs group.
- IAM permissions required:
logs:PutMetricFilter
,cloudwatch:PutMetricAlarm
, andcloudwatch:DescribeAlarms
.
Remediation
Test Plan
Using AWS Console:
- Sign in to the AWS Management Console.
- Navigate to CloudWatch → Logs → Log groups.
- Locate the CloudTrail log group (typically named
/aws/cloudtrail/...
). - Select Create metric filter.
- Enter the following filter pattern to detect root account usage:
- Assign a metric name such as
RootAccountUsage
. - Go to CloudWatch → Alarms → Create alarm.
- Create an alarm for the
RootAccountUsage
metric. - Set a threshold (e.g., ≥ 1 occurrence within 5 minutes) and configure SNS notifications to alert the security team.
- Save the configuration.
Implementation Plan
Using AWS Console:
- Go to CloudWatch → Logs → Log groups.
- Open the CloudTrail log group.
- Choose Create metric filter and use the following pattern:
- Set Metric Name:
RootAccountUsage
. - Create an Alarm:
- Metric:
RootAccountUsage
- Namespace:
CISBenchmark
- Condition: ≥ 1 in 5 minutes
- Actions: Send notification to the security team via SNS topic (e.g.,
aws-security-alerts
)
- Metric:
- Save all configurations.
Backout Plan
Using AWS Console:
Go to CloudWatch → Alarms.
Select the
RootAccountUsageAlarm
.Choose Actions → Delete.
Go to Logs → Metric Filters.
Delete the
RootAccountUsage
filter.