← All guides
Guide

AWS Security Audit Checklist: A Practical Guide for Small Businesses

A straightforward AWS security audit checklist to help small businesses identify vulnerabilities and strengthen their cloud infrastructure.

Running your business on AWS gives you incredible flexibility and scalability, but it also means you're responsible for securing your cloud environment. Unlike traditional on-premises setups where you control everything, AWS uses a shared responsibility model—they secure the infrastructure, you secure what you put on it.

This checklist will help you audit your AWS security posture without needing a dedicated security team or expensive consultants. Let's walk through the essential areas you need to review.

Identity and Access Management (IAM)

IAM is the foundation of AWS security. If you get this wrong, nothing else matters.

Root account security:

  • Enable multi-factor authentication (MFA) on your root account
  • Don't use the root account for daily tasks—create individual IAM users instead
  • Remove or rotate any access keys associated with the root account
  • Set up billing alerts so you'll know if someone compromises your account

User and permission management:

  • Review all IAM users and remove accounts for people who no longer need access
  • Check that each user has MFA enabled (especially admins)
  • Apply the principle of least privilege—users should only have permissions they actually need
  • Use IAM groups to manage permissions instead of attaching policies to individual users
  • Look for overly permissive policies (anything with "*" for actions or resources)
  • Review service accounts and application credentials regularly

Access keys and credentials:

  • Rotate access keys at least every 90 days
  • Delete unused access keys
  • Never commit credentials to code repositories
  • Use IAM roles for EC2 instances instead of embedding access keys

Network Security

Your network configuration determines who can reach your resources and how.

VPC configuration:

  • Review your Virtual Private Cloud (VPC) setup and ensure resources are properly segmented
  • Check that production and development environments are separated
  • Verify that private subnets don't have direct internet access unless necessary
  • Review VPC peering connections and ensure they're still needed

Security groups and network ACLs:

  • Audit all security groups for overly permissive rules (0.0.0.0/0 on sensitive ports)
  • Remove unused security groups
  • Document the purpose of each security group rule
  • Ensure SSH (port 22) and RDP (port 3389) aren't open to the entire internet
  • Review network ACL rules if you're using them

Public exposure:

  • Identify all resources with public IP addresses
  • Verify that only resources that need public access have it
  • Check S3 bucket policies for public access (this is a common misconfiguration)
  • Review API Gateway and load balancer configurations

Data Protection

Protecting your data at rest and in transit should be non-negotiable.

Encryption:

  • Enable encryption for all S3 buckets containing sensitive data
  • Verify that EBS volumes are encrypted
  • Check that RDS databases use encryption at rest
  • Ensure SSL/TLS is enforced for data in transit
  • Review KMS key policies and rotation schedules

Backup and recovery:

  • Confirm that automated backups are enabled for critical resources
  • Test your backup restoration process (backups you can't restore are useless)
  • Review backup retention policies
  • Check that backups are stored in a different region for disaster recovery

S3 bucket security:

  • Block public access at the account level unless you have a specific need
  • Enable versioning on buckets with important data
  • Review bucket policies and ACLs
  • Enable logging for buckets containing sensitive information
  • Check for buckets that allow unauthenticated uploads

Monitoring and Logging

You can't secure what you can't see. Proper logging helps you detect issues before they become breaches.

CloudTrail:

  • Verify CloudTrail is enabled in all regions
  • Ensure logs are being stored in a secure S3 bucket
  • Enable log file validation
  • Set up alerts for suspicious activities (like root account usage)

CloudWatch:

  • Review existing alarms and ensure they're still relevant
  • Set up alerts for failed login attempts
  • Monitor for unusual API activity
  • Create alarms for billing spikes

VPC Flow Logs:

  • Enable VPC Flow Logs to monitor network traffic
  • Review logs periodically for unusual patterns
  • Store logs in a centralized location

Compliance and Best Practices

AWS Config:

  • Enable AWS Config to track resource configurations over time
  • Set up rules to automatically check for compliance issues
  • Review configuration changes regularly

Security tools:

  • Run AWS Trusted Advisor checks (available even on free tier)
  • Use Amazon GuardDuty for threat detection if your budget allows
  • Consider AWS Security Hub for a centralized security view

Patch management:

  • Review EC2 instances for outdated operating systems and software
  • Set up automated patching with AWS Systems Manager
  • Maintain an inventory of all running instances

Cost optimization and security:

  • Review unused resources (idle EC2 instances, unattached EBS volumes)
  • Unused resources aren't just wasteful—they're potential security risks
  • Set up billing alerts to catch unexpected charges that might indicate compromise

Taking Action

Going through this checklist might feel overwhelming, especially if you find multiple issues. That's normal. Prioritize based on risk:

  1. Fix critical issues first (public databases, missing MFA on admin accounts, overly permissive IAM policies)
  2. Address high-risk items (unencrypted data, missing backups, disabled logging)
  3. Tackle medium and low-risk items as time permits

Document your findings and create a remediation plan with deadlines. Security isn't a one-time project—schedule regular audits (quarterly is a good starting point) to catch configuration drift and new issues.

If you're finding security gaps that you don't have time or expertise to address, that's where professional help makes sense. Our security services team helps small businesses strengthen their AWS environments without the enterprise price tag. We can also help optimize your overall cloud infrastructure while improving security.

Need Help With Your AWS Security?

AWS security doesn't have to be complicated or expensive. If you'd like a professional review of your AWS environment or help implementing these security measures, get in touch with our team. We'll help you identify your biggest risks and create a practical plan to address them.

Frequently Asked Questions

How often should I perform an AWS security audit?

For most small businesses, a thorough security audit every quarter is sufficient. However, you should review IAM permissions whenever someone leaves the company and check security groups whenever you deploy new resources. If you handle sensitive customer data or operate in a regulated industry, monthly reviews are better.

Do I need to hire a security expert to audit my AWS account?

Not necessarily. This checklist covers the most important security areas, and you can perform a basic audit yourself. However, if you find issues you don't know how to fix, if you handle sensitive data, or if you simply want peace of mind, bringing in an expert for a professional assessment is worthwhile. It's much cheaper than dealing with a breach.

What's the most common AWS security mistake small businesses make?

Overly permissive IAM policies and security groups. Many businesses start with wide-open permissions during development and forget to tighten them before going to production. The second most common issue is not enabling MFA on user accounts, especially for administrators. Both of these are easy to fix and dramatically improve your security posture.

Need a hand with this?

O-Cyrus helps small businesses with websites, DNS, custom apps, and the everyday tech that keeps things running.

Talk to us →