Alpha Cyber
BlogTLP:CLEAR

AWS S3 Security Tutorial

Amazon Web Services (AWS) is the world’s leading cloud platform, offering businesses access to the same powerful infrastructure Amazon uses to run its global operations.

Alpha Cyber Research3 min readupdated 28 Jul 2025
S3 Bucket

S3 Bucket Security: How to Keep Your AWS Storage Safe

Amazon Web Services (AWS) is the world’s leading cloud platform, offering businesses access to the same powerful infrastructure Amazon uses to run its global operations. One of its most popular services is Amazon S3 (Simple Storage Service), an object storage service used for everything from backups to hosting websites and storing application data.

However, as widely adopted as S3 is, data breaches remain a serious concern, often the result of misconfigured settings. High-profile incidents, like the US voter records leak affecting 198 million Americans, serve as stark reminders of what can happen if S3 buckets are left exposed.

If you use AWS, it’s critical to understand how to secure your S3 buckets properly. In this post, I’ll walk you through key tips for locking down your storage and minimizing potential risks.

🛡️ How to Secure Your AWS S3 Buckets

We’ll divide this into two parts:

Preventing breaches by controlling access

Mitigating damage if a breach does occur

📌 Preventing Unauthorized Access to S3 Buckets

The majority of S3-related breaches happen because of public access that was mistakenly enabled. Avoid this by following these best practices:

1️⃣ Block Public Access by Default

Unless there’s a good reason for it, never allow public access to your S3 buckets.
AWS makes this easy with its Block Public Access settings, which override other permissions like Access Control Lists (ACLs) and access points.

👉 Best practice: Ensure this setting is enabled for every new bucket you create.

2️⃣ Use S3 Bucket Policies

If you do need to share data, use bucket policies to tightly control who can access your data and under what conditions.
For example:

Restrict access by IP address

Allow access only over HTTPS

Set custom rules for teams or applications

This helps avoid man-in-the-middle attacks and unauthorized edits.

3️⃣ Manage Permissions with IAM (Identity and Access Management)

While bucket policies control access on a bucket-by-bucket basis, IAM lets you manage permissions for users and roles across all AWS services.

Use IAM to:

Assign roles with least-privilege access (grant only the permissions necessary)

Set READ-only or READ/WRITE privileges for specific users
This is especially useful when dealing with multiple buckets and services.

4️⃣ Use Access Control Lists (ACLs) Cautiously

Amazon advises against using ACLs unless absolutely necessary.
ACLs allow you to assign different permissions to individual objects within a bucket, helpful in rare cases, but more error-prone than bucket policies or IAM.

5️⃣ Leverage S3 Access Points

For large, complex environments like data lakes, S3 Access Points simplify access management by letting you create individual access policies for specific apps, teams, or services, without complicating your main bucket policies.

You can even restrict access through a Virtual Private Cloud (VPC) for an extra security layer.

📉 Mitigating Damage if a Breach Happens

Even with strong defenses, no system is 100% breach-proof. Here’s how to limit the fallout if something does go wrong:

🔒 Encrypt Data

Ensure your data is protected both in transit and at rest:

Client-Side Encryption: You encrypt the files before uploading.

Server-Side Encryption: AWS handles encryption (via SSE-S3 or SSE-KMS).
Always enforce HTTPS access when using SSE.

📖 Enable Audit Logs

If a breach occurs, logs help you identify how and where it happened:

Server Access Logs: Track requests made to your buckets. Stored in another S3 bucket.

AWS CloudTrail: Offers detailed object-level logging, showing who accessed what and when. (Note: CloudTrail incurs additional costs.)

✅ Final Thoughts on AWS S3 Security

If you’re using AWS for anything important, securing your S3 buckets isn’t optional, it’s essential.
Start by:

Blocking public access

Managing permissions with IAM and bucket policies

Encrypting your data

Keeping audit logs

And don’t forget to enable Multi-Factor Authentication (MFA) on your AWS account for extra protection.

It only takes a little effort to set this up, but it can save you from a world of trouble down the road.

Thanks to vpnoverview.com for the excellent tutorial that inspired this guide!

Keep reading

Related research

Meta AI Glasses Privacy Scandal
Blog

Meta AI Oakley Glasses Privacy Fiasco

For years, cybersecurity professionals warned that the biggest privacy threats wouldn’t look like threats at all. They would look like convenience. Smart speakers. Smart cameras.

3 min read

Contact

Talk to someone who has seen this before.

You speak directly to the people doing the work, wherever in the world you operate.

Or email [email protected]