AWS_Security_Checklist
AWS_Security_Checklist copied to clipboard
AWS security checklist for myself
Security Checklist
Web application instances
-
[ ] Are in a private subnet to block the incoming internet connection
-
[ ] Can’t be sshed from outside of the private network.
-
[ ] Allow only requests from specific local Ip range
-
[ ] All web instances have well defined security groups and there is no open ports to the world.
-
[ ] Instances has no ssh keys and has only one key in
~/.ssh/authorizedkeys
Nat Gateway
-
[ ] In a public network.
-
[ ] Can not be pinged
-
[ ] Can not be sshed
Security Groups
-
[ ] All security groups are well defined and well named
-
[ ] Any irrelevant security group has to be removed
Load Balancer
- [ ] There is a security group just for load balancer
IAM & AWS Credentials & Keys
-
[ ] Production & staging SSH keys has to be secured with a passphrase.
-
[ ] Every AWS user has different credentials and well defined policies
-
[ ] AWS Keys has to be rotated at least in every 6 months. Add a calendar entry that repeats every 6 months.
-
[ ] AWS Root key has to be protected well. If no need to use. The access key has to be deleted from AWS panel.
-
[ ] Root account shouldn’t be used just to access to AWS. Create an individual AWS account for yourself (as manager)
-
[ ] Check every AWS user has MFA
-
[ ] Require users to create strong passwords. Check the related setting for this requirement. docs.aws.amazon.com
-
[ ] Check and delete unnecessary keys
-
[ ] Encrypt ~/.aws/credentials file in your local
CloudTrail
-
[ ] is active
-
[ ] Check the latest CloudTrail archive date on S3
S3
- [ ] Check if the sensitive files encrypted at S3
Database
- [ ] Check if data encryption is enabled on MongoDb
Threat Modelling
- [ ] Configure GuardDuty with proper notification channels.