DEV Community

matthew dibiaso
matthew dibiaso

Posted on

Level Up Your AWS Security: A Detailed Prioritized Checklist from the Trenches

Level Up Your AWS Security: A Detailed Prioritized Checklist from the Trenches

When I approach a new organization, there are key areas I focus on when conducting a security audit. AWS security is a complex, ever-evolving landscape, and my goal is to break it down into a structured, actionable process.

Disclaimer: Security is a journey. Adapt this checklist to your needs and keep refining it!

The Easy Wins: Foundational Security

Stage 1: Know Your Territory (Inventory)

  • Identify all AWS accounts and their points of contact. Use AWS Organizations for a consolidated view. Maintain a spreadsheet or wiki mapping accounts to business units, owners, and contact info.
  • Integrate AWS accounts into AWS Organizations. Centralized management and policy enforcement are key.
  • Ensure all account root emails are on distribution lists. Redundancy and shared responsibility are crucial.
  • Opt-out of AI services using your data. Review AWS service terms and opt-out if you have privacy concerns.
  • Dedicate an AWS account solely for Security operations. Isolation enhances security.
  • Create budget alarms. Unexpected costs can be a red flag. Set alerts for budget thresholds.
  • Enable Service Control Policies (SCPs) via AWS Organizations. SCPs act as guardrails, preventing policy violations across accounts. Start with basic policies and refine as needed.
  • Categorize AWS accounts (production, development, sandbox, etc.). Apply different security policies based on data sensitivity and account purpose.

Stage 2: Back It Up!

  • Create regular backups with AWS Backup and S3 replication policies.
  • Define backup schedules and retention policies aligned with your RTO and RPO.
  • Use cross-region replication for resilience and test your backups regularly.

Stage 3: See and Respond (Visibility and Initial Remediation)

  • Enable CloudTrail in all accounts, sending logs to a dedicated S3 bucket in your Security account.
  • Activate GuardDuty in all accounts, forwarding findings to your Security account.
  • Enable IAM Access Analyzer for policy analysis and resource access visibility.
  • Turn off S3 Public Block Access at the account and bucket level.
  • Develop an account initialization script and a standardized account creation process.
  • Enable VPC Flow Logs for all VPCs to gain insights into network traffic.

Stage 4: Early Warning System (Detection)

  • Document your security guidelines.
  • Send alerts to a ticketing system (e.g., CloudWatch Events to SNS to email/Slack).
  • Enable investigation capabilities for your logs.
  • Consider enabling other logging sources (AWS Config, AWS WAF, load balancers, etc.).

Stage 5: Lock Down Access (Secure IAM)

  • Implement SSO for centralized identity management.
  • Remove all IAM users (except break-glass accounts). Use IAM roles instead.
  • Regularly audit and remove unused IAM roles and policies.
  • Enforce MFA for all IAM users and roles with console access.
  • Plan your account connectivity strategy.
  • Implement pre-commit hooks for secret detection.

Stage 6: Shrink the Target (Reduce Attack Surface)

  • Avoid publicly accessible EC2 instances and S3 buckets.
  • Enforce IMDSv2 on all EC2 instances.

Stage 7: Repeatability and Accountability (Reproducibility and Ownership)

  • Apply a comprehensive tagging strategy.

Stage 8: Advanced Detection (Enhance Detection and Least Privilege Refinement)

  • Deploy honeytokens.

Stage 9: Secure the Pipes (Secure Network Communications)

  • Restrict egress network traffic using security groups and Network ACLs.
  • Enforce encryption for all data in transit using TLS/SSL.

Stage 10: Be Prepared (Incident Preparation)

  • Limit the blast radius of incidents.
  • Practice incident response with simulations and tabletop exercises.
  • Establish and maintain a detailed, up-to-date incident response plan.
  • Use AWS Trusted Advisor for best practice checks during incidents.

Moderate Measures: Stepping Up Your Game

Stage 1: Inventory - Continuous Compliance

  • Conduct regular audits of AWS accounts.

Stage 2: Backups - Resilience and Recovery

  • Test recovery procedures regularly.
  • Implement cross-region replication for critical backups.
  • Use AWS Backup Vault Lock to enforce retention policies.

Stage 3: Visibility and Initial Remediation - Proactive Monitoring

  • Centralize logging using AWS CloudWatch Logs.
  • Set up AWS Config rules to monitor compliance and configuration drift.

Stage 4: Enhanced Detection - Security Information Management

  • Perform regular vulnerability scanning using AWS Inspector.
  • Integrate AWS Security Hub to aggregate and prioritize security findings.

Stage 5: Secure IAM Access - Refinement

  • Regularly review and tighten IAM access policies.
  • Use IAM Access Analyzer to identify overly permissive access.

Stage 6: Reduce Attack Surface - Proactive Defense

  • Implement AWS WAF.
  • Regularly review and update security group rules.

Stage 7: Reproducibility and Ownership - Automation and Control

  • Control AMI and package sourcing.
  • Maintain version control for all infrastructure code.

Stage 8: Enhance Detection and Least Privilege Refinement - Real-Time Security

  • Implement real-time monitoring.
  • Implement automated remediation for common security issues.

Stage 9: Secure Network Communications - Advanced Networking

  • Move all non-public network resources into private subnets.
  • Use AWS PrivateLink to securely connect services.

Stage 10: Incident Preparation - Practice Makes Perfect

  • Conduct tabletop exercises.
  • Maintain a forensic data collection plan.

Complex Challenges: Expert Level Security

Stage 1: Visibility and Initial Remediation - Deep Dive

  • Create IAM roles in each account that grant read-only access from the Security account.
  • Run a one-time scanning tool for tactical remediation of identified vulnerabilities.

Stage 2: Detection - Advanced Threat Hunting

  • Implement automated alert correlation.
  • Use Amazon Detective for deeper investigation.

Stage 3: Secure IAM Access - Surgical Precision

  • Reduce service role privileges to the absolute minimum necessary.

Stage 4: Reduce Attack Surface - Fortress Mode

  • Enable AWS Shield Advanced for DDoS protection.
  • Implement comprehensive SCPs to enforce security policies.

Stage 5: Reproducibility and Ownership - Infrastructure as Code Excellence

  • Use Infrastructure as Code (IaC).
  • Implement CI/CD pipelines for infrastructure deployment.
  • Conduct regular code reviews with a security focus.

Stage 6: Enhance Detection and Least Privilege Refinement - Continuous Improvement

  • Continuously refine IAM policies based on access patterns.
  • Conduct regular threat hunting exercises.
  • Implement anomaly detection.

Stage 7: Secure Network Communications - Network Segmentation and Control

  • Implement VPN or Direct Connect for secure hybrid cloud connectivity.
  • Regularly review and audit VPC Peering and Transit Gateway configurations.
  • Implement VPC inspection.

Stage 8: Incident Preparation - Ready for Anything

  • Establish a dedicated incident response team.
  • Use AWS Config rules for automated detection and alerting on compliance violations.

Top comments (0)