Weak Authentication Server Users
Description
Server users are allowed to use weak password
How To Simulate / Example
User can use weak and easy to guess password like: admin123, 123456
Affect
If the user account is exposed, the server is in high risk and data of customer can be lost
Solution
- Enable strong password policy for IAM users
- Require MFA for every users
Misconfigure Permissions For Users
Description
Allow users has access beyond their needs
How To Simulate / Example
Every IAM users has the Admin access in AWS
Affect
If the user account is exposed, the server is in high risk and data of customer can be lost
Solution
Reduce access threats by deactivating unused credentials and restricting access permissions to recognised
users. You can delete or deactivate unneeded or inactive access keys using the AWS Identity and Access
Management (IAM) console.
Public Access To Database
Description
Allow access from anywhere to production/staging database
Affect
If the database credential is leaked, the data is in high risk and exposed
Solution
- Update security group to only allow access from recogized ips
- Use strong password policy for database password
Unencrypted DB Connections
Description
Production database allows unencrypted connections to the database
Affect
In the event that an administrator connected to the database with an unencrypted configuration, their
session would be vulnerable to man-in-the-middle attacks and an attacker could gain access to the database
password or observe sensitive database contents in transit to the DB client.
Solution
Modify the configuration of the database to disallow unencrypted connections.
Unencrypted Database Contents
Description
Sensitive user data is not encrypted
Solution
Implement database level encryption if required.
DB Admin User In Application
Description
Use admin user credentials to login DB from application
Affect
If the database credential is leaked, the database is fully controlled by attacker
Solution
Use IAM user with access controls
Public SSH to Server
Description
Allow ssh from anywhere to production server
Affect
If the ssh key is leaked, the server is in high risk and can be hacked
Solution
Update security group to only allow ssh from recogized ips
Public S3 Buckets
Description
All the S3 buckets are public
Affect
The data, objects in S3 can be exposed and leaked
Solution
It’s always crucial to ensure your buckets are private and public as necessary. For anything you wish to
remain secure and confidential, be sure they have the least public access and are extremely hard for users
to reach.
Staging Environment Publicly Accessible
Description
Staging env is indexed by Search Engine
How To Simulate / Example
Search in google to see if the staging url is indexed :
site:test.com -inurl:www (test.com is your root domain)
Affect
- Staging URLs allow competitors to see future plans for development
- Some staging env is halfway built and contains a lot of test data, so it doesn't leave a good impression
for end users if they see it
Solution
- Use HTTP authentication:
+ Setting up HTTP Authentication with Apache
+ Setting up HTTP Authentication with nginx
- Use VPN
- Use another robots.txt specificly for staging:
User-agent: *
Disallow: /