Ekene Eche
← All projects

AWS Cloud Security & Threat Detection Lab

A hardened AWS environment with least privilege IAM, locked down S3, and CloudTrail monitoring, tested by attempting to break it.

View on GitHub

Goal

Build a small AWS environment the way a security team would: separate identities, least privilege, locked down storage, and audit logging. Then prove the controls work by trying to get around them.

Identity and least privilege

The lab user has only two AWS managed policies: S3 read only and CLI sign in.
The lab user has only two AWS managed policies: S3 read only and CLI sign in.

Locked down storage

Block all public access is on.
Block all public access is on.
SSE-S3 default encryption with SSE-C blocked.
SSE-S3 default encryption with SSE-C blocked.
Access Analyzer: no public or cross account buckets.
Access Analyzer: no public or cross account buckets.

Audit logging with CloudTrail

The trail is logging, with log file validation enabled.
The trail is logging, with log file validation enabled.
CloudTrail recorded a failed bucket policy change with its error code.
CloudTrail recorded a failed bucket policy change with its error code.

Testing the controls

Listing works, but the upload is denied.
Listing works, but the upload is denied.
The delete is denied as well.
The delete is denied as well.
The console enforces the same policy.
The console enforces the same policy.

Next improvements