Top Banner
How to Implement Top 10 AWS Security Best Practices with Evident.io John Martinez Principal Solutions Architect 2015-03-23
15
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How to Implement Top 10 AWS Security Best Practices

How to Implement Top 10 AWS Security Best Practices with Evident.io

John Martinez

Principal Solutions Architect

2015-03-23

Page 2: How to Implement Top 10 AWS Security Best Practices

Top 10 AWS Security Best Practices

1. Disable root API access key and secret key

2. Enable MFA tokens everywhere

3. Reduce number of IAM users with Admin rights

4. Use Roles for EC2

5. Least privilege: limit what IAM entities can do with strong/explicit policies

6. Rotate all the keys regularly

7. Use IAM roles with STS AssumeRole where possible

8. Use AutoScaling to dampen DDoS effects

9. Do not allow 0.0.0.0/0 in any EC2/ELB security group unless you mean it

10. Watch world-readable/listable S3 bucket policies

Check out http://blog.evident.io

2

Page 3: How to Implement Top 10 AWS Security Best Practices

▪ “Root” account has no restrictions ▪Create administrative IAM users ▪Use Roles for EC2 (#4) ▪Make sure billing and contact questions are filled out ▪Bonus: Set up MFA on root and throw away the key!

#1 - Disable Root Account API Access Key

3

Page 4: How to Implement Top 10 AWS Security Best Practices

#2 - 1 Enable MFA Tokens Everywhere

▪Provide an additional factor to the authentication step ▪MFA is assigned to root account and IAM users ▪Can be assigned to roles ▪Physical or virtual ▪Virtual has choices (Google Authenticator, Authy, etc.)

4

Page 5: How to Implement Top 10 AWS Security Best Practices

▪How many people have the keys to your kingdom? ▪Not just people - apps ▪Review IAM policies on Users, Groups and Roles ▪Remember #1 ▪Consider Identity Federation

#3 - Reduce Number of IAM users with Admin

5

Page 6: How to Implement Top 10 AWS Security Best Practices

▪Do your EC2 instances need to contact other AWS Services? ▪AWS SDKs and aws-cli support EC2 Roles ▪Reduced attack surface area ▪Secure DevOps on EC2 ▪Create an EC2 specific role ▪Assign a specific policy to that role ▪ Launch an EC2 instance with that role ▪Easy to test with aws-cli on EC2

#4 - Use Roles for EC2

6

Page 7: How to Implement Top 10 AWS Security Best Practices

▪Programs should operate using the least amount of privilege to get the job done ▪ IAM can get very granular ▪Works in tandem with #4 on EC2 ▪Should be applied to all automated

workflows, too ▪Very specific IAM policies - only allow

what you mean ▪ IAM managed policies make this easier ▪Use the IAM policy generator and

policy simulator to help

#5 - Least Privilege

7

Page 8: How to Implement Top 10 AWS Security Best Practices

▪Compromised access keys are very annoying and can cost your business dearly ▪ IAM users should have keys rotated every 90

days minimum ▪Mostly useful for when Roles for EC2 won’t work

in automated workflows Sample process: ▪Track age of Access Keys ▪Create new key ▪Supply key to automation process ▪Test ▪Deactivate old key

#6 - Rotate all the Keys Regularly

8

Page 9: How to Implement Top 10 AWS Security Best Practices

▪Similar to EC2 Roles ▪Can be used in place of privileged IAM user Access Keys ▪Temporary credentials ▪Allows for 3rd parties such as Evident.io to access your AWS

accounts more securely ▪Extended version of AssumeRole allows for Identity Federation

#7 - Use IAM Roles with STS AssumeRole

9

Page 10: How to Implement Top 10 AWS Security Best Practices

▪AutoScaling allows you to increase number of EC2 instances automatically ▪More instances means site stays up ▪Small price to pay for site reliability ▪You may need a temporary increase in EC2 limits ▪You may need to temporarily increase desired number of

instances in ASG ▪Work with AWS, they may be able to help you on the

network edge

#8 - Use AutoScaling to Dampen DDoS

10

Page 11: How to Implement Top 10 AWS Security Best Practices

▪Unless you really mean it ▪ Like leaving the door wide open ▪EC2 IP address range is a favorite for

scanners ▪Monitor Security Groups regularly (HINT:

Evident.io can help) ▪Affects not just EC2 instances, but: ▪ELBs ▪RDS Database Servers ▪ElastiCache Clusters ▪EMR Nodes ▪and others…

#9 - Do not allow ALL in Security Groups

11

Page 12: How to Implement Top 10 AWS Security Best Practices

▪Open S3 buckets a favorite for trolling for API Access Keys ▪Check your Bucket ACLs regularly ▪Watch for all grantees, including

AuthenticatedUsers ▪Check your Bucket Policies regularly

#10 - Watch Readable and Listable S3 Buckets

12

Page 13: How to Implement Top 10 AWS Security Best Practices

13

You

Page 14: How to Implement Top 10 AWS Security Best Practices

Evident.io Can Help!

14

[email protected] http://blog.evident.io https://www.evident.io

Page 15: How to Implement Top 10 AWS Security Best Practices