<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hamza Imran</title>
    <description>The latest articles on DEV Community by Hamza Imran (@hamza_imran_ad06bd467b293).</description>
    <link>https://dev.to/hamza_imran_ad06bd467b293</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3894371%2F48690fd2-4179-4cf5-aa72-f300b64e6e63.png</url>
      <title>DEV Community: Hamza Imran</title>
      <link>https://dev.to/hamza_imran_ad06bd467b293</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hamza_imran_ad06bd467b293"/>
    <language>en</language>
    <item>
      <title>AWS Security Checklist: 58 Checks Every Team Should Run Before a SOC 2 Audit</title>
      <dc:creator>Hamza Imran</dc:creator>
      <pubDate>Thu, 23 Apr 2026 13:24:11 +0000</pubDate>
      <link>https://dev.to/hamza_imran_ad06bd467b293/aws-security-checklist-58-checks-every-team-should-run-before-a-soc-2-audit-31nk</link>
      <guid>https://dev.to/hamza_imran_ad06bd467b293/aws-security-checklist-58-checks-every-team-should-run-before-a-soc-2-audit-31nk</guid>
      <description>&lt;p&gt;I Got Tired of $10k AWS Security Audits — So I Built My Own&lt;/p&gt;

&lt;p&gt;A few months ago I was helping a startup prepare for SOC 2. Their security consultant quoted $15,000 for an AWS security audit — two weeks timeline and a PDF report at the end.&lt;br&gt;
I looked at what they were actually checking — IAM configs, open security groups, unencrypted S3 buckets, CloudTrail logging. Standard stuff that any engineer could verify. Nothing that justified $15,000 and two weeks.&lt;br&gt;
So I spent a few weekends building it myself. The result is DevForge Audit — 58 automated security checks across your entire AWS account, a full PDF report with severity scores and fix recommendations, done in 5 minutes. Free to try.&lt;/p&gt;

&lt;p&gt;What It Checks&lt;br&gt;
Here are all 58 checks it runs automatically across your AWS account:&lt;br&gt;
IAM&lt;/p&gt;

&lt;p&gt;Root account MFA enabled&lt;br&gt;
Password policy strength&lt;br&gt;
Users without MFA&lt;br&gt;
Access key rotation (90 days)&lt;br&gt;
Inactive users with active credentials&lt;br&gt;
AdministratorAccess directly attached&lt;br&gt;
Wildcard trust principals&lt;/p&gt;

&lt;p&gt;S3&lt;/p&gt;

&lt;p&gt;Public access blocks&lt;br&gt;
Encryption at rest&lt;br&gt;
Versioning enabled&lt;br&gt;
Access logging&lt;/p&gt;

&lt;p&gt;EC2 / VPC&lt;/p&gt;

&lt;p&gt;SSH/RDP open to the internet&lt;br&gt;
All-traffic security groups&lt;br&gt;
EBS encryption&lt;br&gt;
Unused Elastic IPs&lt;br&gt;
VPC Flow Logs enabled&lt;/p&gt;

&lt;p&gt;RDS&lt;/p&gt;

&lt;p&gt;Encryption at rest&lt;br&gt;
Public accessibility&lt;br&gt;
Multi-AZ enabled&lt;br&gt;
Automated backups&lt;br&gt;
Deletion protection&lt;br&gt;
Secrets Manager rotation&lt;/p&gt;

&lt;p&gt;CloudTrail&lt;/p&gt;

&lt;p&gt;Multi-region trail&lt;br&gt;
KMS encryption&lt;br&gt;
Log file validation&lt;br&gt;
CloudWatch integration&lt;/p&gt;

&lt;p&gt;CloudWatch / SNS&lt;/p&gt;

&lt;p&gt;Billing alarm configured&lt;br&gt;
Root account usage alarm&lt;br&gt;
Unauthorized API calls alarm&lt;br&gt;
SNS subscriptions confirmed&lt;/p&gt;

&lt;p&gt;Secrets Manager&lt;/p&gt;

&lt;p&gt;Rotation enabled&lt;br&gt;
Not rotated in 90+ days&lt;br&gt;
Plaintext credentials in SSM Parameter Store&lt;br&gt;
Unused secrets&lt;/p&gt;

&lt;p&gt;ECS / EKS&lt;/p&gt;

&lt;p&gt;Privileged containers&lt;br&gt;
Plaintext secrets in environment variables&lt;br&gt;
Public IP on tasks&lt;br&gt;
EKS public API endpoint&lt;br&gt;
Kubernetes version up to date&lt;/p&gt;

&lt;p&gt;GuardDuty&lt;/p&gt;

&lt;p&gt;Enabled in all regions&lt;br&gt;
S3 and EKS protection enabled&lt;br&gt;
Active critical findings&lt;/p&gt;

&lt;p&gt;Every finding maps to a SOC 2 Trust Service Criteria so you know exactly what to fix before your audit.&lt;/p&gt;

&lt;p&gt;How It Works&lt;br&gt;
No credentials needed. You deploy a read-only IAM role in your account via CloudFormation — takes 30 seconds. Paste the Role ARN, enter your email, and hit run.&lt;br&gt;
Lambda assumes the role, runs all 58 checks, and generates a PDF report with severity scores and fix recommendations. Done in 5 minutes.&lt;br&gt;
Temporary credentials expire after 15 minutes. Delete the CloudFormation stack anytime to revoke access permanently.&lt;/p&gt;

&lt;p&gt;Why I Built It This Way&lt;br&gt;
A few things were non-negotiable for me:&lt;/p&gt;

&lt;p&gt;Read-only access only — uses sts:AssumeRole with ExternalId, SecurityAudit and ReadOnlyAccess managed policies, zero write permissions&lt;br&gt;
No credential storage — temporary STS credentials expire after 15 minutes&lt;br&gt;
No account needed — paste an ARN, get a report, done&lt;br&gt;
SOC 2 mapped — every finding tied to a specific Trust Service Criteria so it's actually useful for compliance prep&lt;/p&gt;

&lt;p&gt;What's Next&lt;/p&gt;

&lt;p&gt;More checks — Lambda functions, WAF, AWS Organizations&lt;br&gt;
Continuous monitoring mode — weekly automated audits with score tracking over time&lt;br&gt;
Dashboard to track your score over time&lt;/p&gt;

&lt;p&gt;Try It&lt;br&gt;
👉 &lt;a href="https://audit.devforgeapp.com/" rel="noopener noreferrer"&gt;DevForge&lt;/a&gt; — free, takes 5 minutes.&lt;br&gt;
Would love feedback from the community — especially if you spot any checks I'm missing or have dealt with SOC 2 compliance yourself. Drop it in the comments.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>opensource</category>
      <category>security</category>
      <category>aws</category>
    </item>
  </channel>
</rss>
