User Access Control

User access control limits who can reach your systems, services, and data. The fewer unnecessary privileges people have, the less damage a compromised account can do.

This control is about giving users only the access they need, separating administrator access from normal user accounts, and removing access when it is no longer required. It supports least privilege, stronger account management, and better control over sensitive systems.

User Access Control Documentation

Unencrypted EBS Snapshots
high
aws ec2

Unencrypted EBS Snapshots

Unecrypted EBS Snapshots contain all data on the original EBS volume in an unencrypted format, failing to protect this data from unauthorised decryption

S3 Bucket Policy Allows Public Access
high
aws s3

S3 Bucket Policy Allows Public Access

AWS S3 Bucket Policies should deny public access to S3 data. This should be part of a standard bucket policy applied to all buckets within your organisation

S3 Bucket Has No Public Access Protections
critical
aws s3

S3 Bucket Has No Public Access Protections

AWS S3 Buckets with neither the full set of Public Access Blocks nor a Bucket Policy that prevents public access should consider their hosted data publicly accessible

S3 Bucket Does Not Totally Block Public Access
high
aws s3

S3 Bucket Does Not Totally Block Public Access

AWS S3 offers Public Access Blocks to over-ride bucket changes that leak data. Implementing all Public Access Blocks should be a standard policy for all buckets

S3 Bucket Does Not Enforce Ownership Controls
high
aws s3

S3 Bucket Does Not Enforce Ownership Controls

AWS S3 Buckets should enforce the transfer of ownership for objects upon upload.

S3 Bucket Allows Insecure Uploads
high
aws s3

S3 Bucket Allows Insecure Uploads

AWS S3 Buckets allow for unencrypted uploads which need to be blocked via Bucket Policy

Public EBS Snapshots
critical
aws ec2

Public EBS Snapshots

Public EBS Snapshots mean that any AWS customer can create a volume in the same AWS Region from the EBS snapshot effectively making the data public

Public AMIs Found
critical
aws ec2

Public AMIs Found

Outside of entirely open-source resources, AMIs should never be shared publicly.

Load Balancers Accepting Unencrypted HTTP
critical
aws elb

Load Balancers Accepting Unencrypted HTTP

HTTP listeners force clients to communicate in plain text, exposing all communications to any machines with connectivity to the traffic route

Load Balancer Ignores MTLS Client Certificate Expiry
high
aws elb

Load Balancer Ignores MTLS Client Certificate Expiry

Disabling MTLS Expiry Checks effectively gives all issued client certificates an eternal validity. This infinitely expands the impact risk for client certificates and undermines client certificate …

IAM Users Password Policy Requires at Least 8 Characters
high
aws iam

IAM Users Password Policy Requires at Least 8 Characters

AWS IAM user passwords should require at least 8 characters and include a variety of character types.

IAM Users Password Policy Not Set
moderate
aws iam

IAM Users Password Policy Not Set

AWS accounts should have a custom password policy rather than relying on the default password policy.

IAM Users Password Policy Does Not Allow Users to Change Passwords
moderate
aws iam

IAM Users Password Policy Does Not Allow Users to Change Passwords

AWS account password policies should allow users to change their own passwords.

IAM Users Password Policy Allows 8-15 Characters with Limited Characters
moderate
aws iam

IAM Users Password Policy Allows 8-15 Characters with Limited Characters

AWS IAM user passwords should include all variations of characters if the password is less than 15 characters.

IAM User Without MFA
high
aws iam

IAM User Without MFA

AWS IAM Users should have MFA enabled and active.

IAM User Inactive
low
aws iam

IAM User Inactive

AWS IAM users that are inactive should be deleted

IAM User Has Inactive Access Keys
moderate
aws iam

IAM User Has Inactive Access Keys

AWS IAM Users should not have long-term inactive Access Keys

IAM User Access Keys Unused
moderate
aws iam

IAM User Access Keys Unused

AWS IAM Users should not have unused Access Keys.

Found Unencrypted RDS Snapshots
high
aws rds

Found Unencrypted RDS Snapshots

Unencrypted Snapshots contain data at rest in plain text and forfeit additional data controls available from AWS KMS

Found Public RDS Snapshots
critical
aws rds

Found Public RDS Snapshots

RDS Snapshots that are available publicly mean that any AWS customer can clone the data on those snapshots to their own RDS instance.

EFS Mounted Without Encryption at Rest
critical
aws efs

EFS Mounted Without Encryption at Rest

EFS file systems should be configured to encrypt data at rest to create a permissions barrier to accessing and copying the data, thereby reducing the impact of leaked raw data.

EFS Allows Insecure Connections
critical
aws efs

EFS Allows Insecure Connections

EFS allows for insecure mounts, leaving communications between host machines and remote file systems unencrypted.

Cloudfront Distribution Accepting Insecure Requests
critical
aws cloudfront

Cloudfront Distribution Accepting Insecure Requests

Cloudfront Distributions which accept unencrypted traffic respond to requests in plain text compromising all information sent and recieved.

AWS Root User Does Not Have MFA
critical
aws iam

AWS Root User Does Not Have MFA

The AWS Root User should have an MFA device enabled and active.