Security

Security risks identify weaknesses that could allow unauthorized access, data exposure, or system compromise. These findings focus on protecting systems, identities, and sensitive information from direct threats.

Security risks represent direct exposure to compromise. These issues highlight where access controls, authentication, or system boundaries are insufficient, allowing attackers or unintended users to gain entry. Addressing security risks ensures that systems remain protected against unauthorized access and malicious activity.

Security 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

SPF Record Does Not Start with SPF Statement
low
aws r53

SPF Record Does Not Start with SPF Statement

An SPF record must start with the format v=spf1; otherwise, it will be disregarded.

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

S3 Bucket Has an Invalid Policy

Invalid AWS S3 Bucket Policies require replacement to a functioning policy to ensure that they provide provable security protection

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 Include the Account ID
advisory
aws s3

S3 Bucket Does Not Include the Account ID

AWS S3 Bucket names can include the account ID for easier cross-account management and introducing name entropy via a manageable naming convention

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.

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

MX Records Without Corresponding DKIM Record
moderate
aws r53

MX Records Without Corresponding DKIM Record

Domains used for sending emails should have a corresponding DKIM record that validates the signatures in each official email. This provides clear validation of legitimate emails and helps identify …

MX Records with Multiple Corresponding SPF Records
moderate
aws r53

MX Records with Multiple Corresponding SPF Records

RFC 7208 requires a single SPF record for SPF validation. Multiple records will lead to the disregard of domain checks.

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

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

ICANN Domain Status is Indicating a Transfer
high
aws r53

ICANN Domain Status is Indicating a Transfer

Domains marked as ‘pendingTransfer’ should have their transfer request confirmed as legitimate or cancelled and the domain locked if not intended

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 Multiple Access Keys
low
aws iam

IAM User has Multiple Access Keys

AWS IAM Users should have a single Access Key and not multiple Access Keys.

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.

Found MX records without corresponding SPF Record
moderate
aws r53

Found MX records without corresponding SPF Record

The Sender Policy Framework (SPF) offers a straightforward method for specifying the origins of valid emails, helping to protect your domain from fraud. Domains without SPF records available face …

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

Domains Without DMARC Declaration
low
aws r53

Domains Without DMARC Declaration

DMARC policies allow the opportunity to advice external email services how to handle spoofed email for your domain

Domains with Lax DMARC Policies
advisory
aws r53

Domains with Lax DMARC Policies

Lax DMARC policies do not explicitly advertise to mail servers that fraudulent emails should be either quarantined or rejected, guarding your domain’s reputation and allowing for spoofing …

Domains Missing Transfer Lock
moderate
aws r53

Domains Missing Transfer Lock

Domains without a transfer lock are missing a key gating tool preventing the theft or sale of domains

Domains Due to Expire Within 90 Days
high
aws r53

Domains Due to Expire Within 90 Days

Expiring Domains without Autorenew lead to service downtime and signal operational risk. Expired domains can also be captured by malicious parties.

DKIM Records with Small Key Size
high
aws r53

DKIM Records with Small Key Size

DKIM encryption using key sizes under 1024 bits are trivial to brute force. As DKIM DNS records are public, weak email signatures are discoverable

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.