The AWS Security Survival Kit (ASSK) helps you monitor and get alerts about suspicious activities in your AWS account.
While CloudTrail is essential for tracking AWS account activities, it doesn't provide automatic alerts. you need to manually check logs across multiple services and the console to spot issues.
This kit uses CloudFormation templates to set up proactive security monitoring and alerting. it works alongside GuardDuty to fill the gap of missing built-in alerts.
This kit enables several important security configurations in your aws account by default:
- Automatic encryption for all ebs volumes (per region)
- Account-wide s3 block public access
- Prevention of public ami sharing (per region) - Annoncement
- Prevention of public snapshot sharing (per region) - Blogpost
- IMDSv2 requirement for new instances (per region) - Annoncement
Using this kit, you will deploy EventBridge (CloudWatch Event) Rules and CloudWatch Metric Filters and Alarms on following suspicious activities. It comes with CloudWatch Dashboards to give you more insights about what is ringing 🔔
The following suspicious activities are currently supported:
- Root User activities
- CloudTrail changes (
StopLogging
,DeleteTrail
,UpdateTrail
) - AWS Personal Health Dashboard Events
- IAM Users Changes (
Create
,Delete
,Update
,CreateAccessKey
, etc..) - IAM Suspicious Activities (
Attach*Policy
) withAdministratorAccess
Managed IAM Policy - MFA Monitoring (
CreateVirtualMFADevice
DeactivateMFADevice
DeleteVirtualMFADevice
, etc..) - Unauthorized Operations (
Access Denied
,UnauthorizedOperation
) - Failed AWS Console login authentication (
ConsoleLoginFailures
) - EBS Snapshots Exfiltration (
ModifySnapshotAttribute
,SharedSnapshotCopyInitiated
SharedSnapshotVolumeCreated
) - AMI Exfiltration (
ModifyImageAttribute
) - Who Am I Calls (
GetCallerIdentity
) - IMDSv1 RunInstances (
RunInstances
&&optional
http tokens) - CloudShell Exfiltration (
GetFileDownloadUrls
) - KMS Key Changes (
DisableKey
,ScheduleKeyDeletion
,DeleteAlias
,DisableKeyRotation
) - Security Group Changes (
AuthorizeSecurityGroupIngress
,RevokeSecurityGroupIngress
,AuthorizeSecurityGroupEgress
,RevokeSecurityGroupEgress
) - AWS Config Changes (
StopConfigurationRecorder
,DeleteConfigurationRecorder
,DeleteConfigRule
,DeleteEvaluationResults
)
AlarmRecipient
: Recipient for the alerts (e.g.: hello@zoph.io)Project
: Name of the Project (e.g.: aws-security-survival-kit)Description
: Description of the Project (e.g.: Bare minimum ...)LocalAWSRegion
: Region where your workloads and CloudTrail are located (e.g.:eu-west-1
)CTLogGroupName
: Cloudtrail CloudWatch LogGroup name (Required)
Setup the correct parameters in the Makefile
, then run the following command:
$ make deploy
You will receive alerts by emails sent by SNS Topic
Setup AWS Chatbot for best experience to get notified directly on Slack.
ASSK comes with two CloudWatch Dashboards (Local and Global) to bring better visibility on suspicious activities on your AWS Account.
- Microsoft Azure from folks @O3 Cyber