Compliance

Compliance risks identify gaps that could lead to failures against regulatory, contractual, or audit requirements such as SOC 2 and ISO standards.

Compliance risks focus on alignment with external standards and requirements. These issues highlight where systems or processes deviate from expected policies, regulatory frameworks, or audit controls. Addressing compliance risks ensures organizations meet their obligations and avoid penalties or certification failures. These issues pose a risk to the valuation of your business and deviation from industry requirements and norms.

Compliance 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

SSH Keys found in Account
advisory
aws ec2

SSH Keys found in Account

SSH Keys that are available in an AWS account allow for provisioning of OpenSSH server and provide metadata information that can be utilised for research

S3 Origin Not Using Access Identity
moderate
aws cloudfront

S3 Origin Not Using Access Identity

Cloudfront Distributions that do not use an S3 Origin Identity require the S3 bucket to use website hosting, splitting access controls across S3 and Cloudfront as well as implementing unencrypted …

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 Website Endpoint Enabled
high
aws s3

S3 Bucket Has Website Endpoint Enabled

AWS S3 Bucket Website Endpoints have been superseded by better architectural patterns bringing greater control and data protection

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 Has No Policy
critical
aws s3

S3 Bucket Has No Policy

AWS S3 Buckets without a Bucket Policy are prone to insecure behaviour that does not meet modern security standards

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 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.

Open Security Groups
high
aws ec2

Open Security Groups

Fully open security groups are wholly open to all of the internet including from geographic locations with no business benefits

No VPC Flow Logs
high
aws ec2

No VPC Flow Logs

VPC Flow Logs provide forensic logs utilised for tracking breach origins and lateral movement. Missing or unconfigured flow logs deny access to vital forensic data

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 …

Lambda Functions Without Logs
moderate
aws lambda

Lambda Functions Without Logs

AWS Lambda Functions without Logs

Lambda Functions Running Depreciated Runtimes
moderate
aws lambda

Lambda Functions Running Depreciated Runtimes

Running depreciated AWS Lambda runtimes incurs both security and operational risks as well as upgrade risk should the service owner force an update to the runtime

Instances using SSH Keys
moderate
aws ec2

Instances using SSH Keys

Instances using SSH Keys are configured to run OpenSSH server leaving them exposed to OpenSSH attacks, lacking the features of other access methods and reinforcing the use of pet style infrastructure.

Instances Running Outside VPC
high
aws ec2

Instances Running Outside VPC

Instances not running inside a VPC are unsupported

Instances in Public Subnets
high
aws ec2

Instances in Public Subnets

Instances in public subnets without routes to a NAT require an Elastic IP to communicate externally exposing them directly to internet traffic. This is a diminished security posture compared to …

Instance With Public IP Address
high
aws ec2

Instance With Public IP Address

An EC2 instance that utilising a public IP address directly connects the instance to the internet leading to a vastly diminished security posture compared to available architectures utilising …

Instance Not Exclusively Using IMDSv2
moderate
aws ec2

Instance Not Exclusively Using IMDSv2

EC2 instances that do not exclusively utilise the IMDSv2 endpoints utilise a weaker version of IMDS issued credentials that lack a number of protections against theft and misuse.

IAM Users Password Policy Requires Special Characters
advisory
aws iam

IAM Users Password Policy Requires Special Characters

The use of special characters in passwords is not recommended.

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 Remembers Less Than 3 Previous Passwords
high
aws iam

IAM Users Password Policy Remembers Less Than 3 Previous Passwords

AWS Account Password Policies should prevent users from utilizing previous passwords.

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 Forces a Hard Password Expiry
high
aws iam

IAM Users Password Policy Forces a Hard Password Expiry

AWS Account Password Policy should not require hard password resets, where passwords are reset only by an administrator.

IAM Users Password Policy Expires Passwords
moderate
aws iam

IAM Users Password Policy Expires Passwords

IAM user passwords should not expire.

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.

Enable Cloudtrail
high
aws cloudtrail

Enable Cloudtrail

AWS CloudTrail tracks all API calls for the relevant AWS Account, providing a total repository of all activity within the account. Not enabling CloudTrail means that all data older than 90 days is …

EKS Control Plane Publicly Accessible
high
aws eks

EKS Control Plane Publicly Accessible

Allowing public access to the EKS hosted Kubernetes API endpoint is a substantially worse security posture than utilising private API endpoints

EKS Cluster out of Date
moderate
aws eks

EKS Cluster out of Date

EKS Clusters should remain updated to prevent publicly exposed APIs from compromise and avoid forced updates which can break service

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.

EC2 Instances without an IAM Profile
high
aws ec2

EC2 Instances without an IAM Profile

EC2 Instances without an IAM Role attached either do not have permissions to securely interact with AWS Services or they host long term credentials that are prone to compromise

EC2 Instances with Monitoring Disabled
high
aws ec2

EC2 Instances with Monitoring Disabled

Instances do not have monitoring enabled, causing a large amount of data loss that can indicate compromiseand breaches

Default VPC Available
low
aws ec2

Default VPC Available

Default VPCs are often insecure cloud environments providing ease of access rather than a secure posture, enabling implicit configurations with insecure defaults

Cloudfront Distribution Not Using Web Application Firewall
high
aws cloudfront

Cloudfront Distribution Not Using Web Application Firewall

Cloudfront Distributions that do not use AWS WAF lack a number of security protections and tracking

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.

Account Root User Has Signing Certificates
high
aws iam

Account Root User Has Signing Certificates

AWS root account users should not have attached Signing Certificates.

Account Root User Has Access Keys Issued
critical
aws iam

Account Root User Has Access Keys Issued

The AWS Root Account User should not utilise Access Keys.