Topics

Securing the DevSecOps pipeline on AWS

Shift-left gates that stop known-bad from ever reaching your AWS account — secrets, code, dependencies, Terraform, images.

This group is about closing gaps before an account exists in a bad state, and keeping it that way. IAM policy evaluation order is the mental model underneath every AccessDenied and every guardrail you'll write. A CPS 234-aligned landing zone with Control Tower bakes those guardrails in as Terraform from account zero, instead of retrofitting them once accounts already exist.

The remaining five lessons are fixes for the findings that show up first and most often in a real scan: root without MFA or with active access keys, public S3 buckets, security groups open to the world on SSH/RDP, unencrypted S3, EBS and RDS, and CloudTrail missing multi-region coverage or log validation. Each maps to a specific CIS benchmark item and Security Hub control ID, with the one-time setting or remediation that clears it for good.

Read in order, this is the shape of a pipeline that stops known-bad from reaching an account, plus the cleanup for accounts that already have it.

Lessons

Common questions

Is tfsec still the right Terraform scanner?
No. tfsec is deprecated and merged into Trivy, and Terrascan was archived in November 2025. Use Checkov or `trivy config`.