Security advisor Access kept narrow, and the hardening kept in code.
For teams on AWS who want their accounts, pipelines and delivery chain reviewed for security: what is open, what holds a stored key and what could not be rebuilt, then a plan in order of risk and the Terraform to carry it out.
Four parts of security work.
Reviews, hardening plans and the Terraform that makes them real, changed through review like everything else.
-
Accounts and access
Everyone and everything gets only the access it needs.
Separate accounts per environment, people signing in through IAM Identity Center and CI reaching AWS through OIDC federation, so no pipeline holds a stored key. IAM roles are cut to least privilege, secrets sit in Secrets Manager and SSM Parameter Store, and KMS holds the keys. Coding agents get read-only cloud access, in containers that hold no credentials.
-
Network and edge
Only what has to be reachable is reachable.
Private networks with VPC endpoints and site-to-site VPN, and VPC flow logs to see what crossed them. In front of a public site: CloudFront with origin access control, WAF, ACM certificates that renew on their own, security headers such as Content-Security-Policy and HSTS, and S3 public access blocks with bucket policies. Mail from the domain is authenticated with SPF, DKIM and DMARC.
-
Code and supply chain
Secrets and weak dependencies stopped before they merge.
gitleaks, Semgrep and Trivy on every change, Checkov on the Terraform, and Dependabot with dependency auditing for the libraries. Hooks refuse a secret before it is pushed, and branch protection, rulesets and required status checks make the checks impossible to skip.
-
Recovery
A broken or compromised account is rebuilt from the repository.
The environment is in Terraform, so recovery starts from code rather than from memory, with AWS Backup for the data. Every risky change carries a rollback plan, and when something does break, triage starts from the logs, the metrics and the latest changes.
The tools behind security work.
Terraform carries the changes, and the pipeline checks them.
Accounts and access
- IAM (AWS Identity and Access Management)
- IAM (AWS Identity and Access Management) roles
- Least privilege
- IAM (AWS Identity and Access Management) Identity Center
- OIDC (OpenID Connect) federation
- Organizations (AWS Organizations: many accounts managed as one)
- Separate accounts per environment
- Secrets Manager
- SSM (AWS Systems Manager) Parameter Store
- KMS (AWS Key Management Service)
- Cognito (Amazon Cognito: user sign-up and sign-in)
- Secure audit access for agents
- Credential-isolated containers
Network and edge
- CloudFront (Amazon's content delivery network)
- Origin access control
- ACM (AWS Certificate Manager)
- Certificate rotation
- WAF (AWS WAF, the web application firewall)
- VPC (Amazon Virtual Private Cloud)
- VPC (Amazon Virtual Private Cloud) endpoints
- Site-to-site VPN
- VPC (Amazon Virtual Private Cloud) flow logs
- Security headers
- Content Security Policy
- HSTS (HTTP Strict Transport Security: browsers use only https)
- S3 (Amazon Simple Storage Service) public access blocks
- Bucket policies
Mail authentication
- SPF (Sender Policy Framework: which servers may send the domain's email)
- DKIM (DomainKeys Identified Mail: signs outgoing email)
- DMARC (Domain-based Message Authentication, Reporting and Conformance)
Code and supply chain
- pre-commit (Runs checks before each commit)
- gitleaks (Finds secrets committed to git)
- Semgrep (Static analysis for risky code patterns)
- Trivy (Vulnerability scanner for container images and infrastructure code)
- Checkov (Policy checks for Terraform and other infrastructure code)
- Dependabot (Opens pull requests that keep dependencies up to date)
- Dependency auditing
- Secret-push hooks
- Branch protection
- Repository rulesets
- Required status checks
Recovery
- Disaster recovery from code
- AWS Backup
- Rollback plans
- Incident triage
Blue marks what I work with now.
The same work, seen from three other sides.
- DevOps engineerAWS in Terraform, pipelines with linting and security scanning, and containers from laptop to production.
- Site reliability engineerMonitors, SLOs and alerts in code, and every change planned with a way back.
- Software architectAWS accounts laid out up front, existing systems brought under code, and progressive rewrites.
Need a security advisor?
Tell me about your AWS accounts and how you deploy to them.