Back to Compliances
aws

Prowler ThreatScore Compliance Framework for AWS

prowlerthreatscore_1.0_aws
ProwlerThreatScorev1.0
ProwlerThreatScore framework logo
OfficialVerified

Prowler ThreatScore Compliance Framework for AWS ensures that the AWS account is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption

106requirements139checks

Run this compliance with Prowler

Run in Prowler Cloud
Run
prowler aws --compliance prowlerthreatscore_1.0_aws

Requirements (106)

1. IAM2325
1.1.1Ensure MFA is enabled for the 'root' user account1
Attributes
Title

MFA enabled for 'root'

Weight

1000

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

5

Attribute Description

The root user account holds the highest level of privileges within an AWS account. Enabling Multi-Factor Authentication (MFA) enhances security by adding an additional layer of protection beyond just a username and password. With MFA activated, users must provide their credentials (username and password) along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.

Additional Information

Enabling MFA enhances console security by requiring the authenticating user to both possess a time-sensitive key-generating device and have knowledge of their credentials.

1.1.2Ensure hardware MFA is enabled for the 'root' user account1
Attributes
Title

Hardware MFA enabled for 'root'

Weight

1000

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

5

Attribute Description

The root user account in AWS has the highest level of privileges. Multi-Factor Authentication (MFA) enhances security by adding an extra layer of protection beyond a username and password. When MFA is enabled, users must enter their credentials along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.

Additional Information

A hardware MFA has a smaller attack surface compared to a virtual MFA. Unlike a virtual MFA, which relies on a mobile device that may be vulnerable to malware or compromise, a hardware MFA operates independently, reducing exposure to potential security threats.

1.1.3Ensure multi-factor authentication (MFA) is enabled for all IAM users that have console access1
Attributes
Title

MFA enabled for IAM console users

Weight

100

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

4

Attribute Description

To enhance security and reduce the risk of unauthorized access, Multi-Factor Authentication (MFA) should be enabled for all IAM users who have access to the AWS Management Console.

Additional Information

Without Multi-Factor Authentication (MFA), a compromised password alone is enough to allow an attacker to access the console, gaining full visibility and control over AWS resources.

1.1.4Ensure IAM password policy requires minimum length of 14 or greater1
Attributes
Title

IAM password lenght 14 or greater

Weight

10

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

3

Attribute Description

Password policies help enforce password complexity requirements to strengthen account security. In AWS IAM, password policies can be configured to ensure that user passwords meet specific criteria, including a minimum length requirement. It is recommended to enforce a minimum password length of 14 characters to enhance security.

Additional Information

Requiring longer and more complex passwords reduces the risk of compromise from brute force attacks, credential stuffing, and other password-based threats. A 14-character minimum makes it significantly harder for attackers to guess or crack passwords, improving overall account security and resilience.

1.1.5Ensure IAM password policy prevents password reuse1
Attributes
Title

IAM prevent password reuse

Weight

10

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

3

Attribute Description

IAM password policies can be configured to prevent users from reusing previous passwords. This ensures that users create new, unique passwords instead of cycling through old ones. It is recommended to enforce password history restrictions to enhance security.

Additional Information

Blocking password reuse helps mitigate the risk of credential-based attacks, such as brute force and credential stuffing. It prevents users from reverting to previously compromised passwords, reducing the likelihood of unauthorized access.

1.1.6Ensure IAM password policy require at least one number1
Attributes
Title

IAM password requires one number or more

Weight

10

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

3

Attribute Description

Password policies help enforce password complexity requirements to strengthen account security. In AWS IAM, password policies can be configured to ensure that user passwords meet specific criteria, including using at least number as requirement. It is recommended to enforce the usage of one number to enhance security.

Additional Information

Requiring more complex passwords reduces the risk of compromise from brute force attacks, credential stuffing, and other password-based threats. Using a number at least makes it significantly harder for attackers to guess or crack passwords, improving overall account security and resilience.

1.1.7Ensure IAM password policy require at least one symbol1
Attributes
Title

IAM password policy require one symbol or more

Weight

10

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

3

Attribute Description

IAM password policies can be configured to enforce the use of at least one special character (symbol) in user passwords. Special characters (e.g., @, #, $, %) add complexity, making passwords harder to guess or crack. It is recommended to require at least one symbol in IAM passwords to enhance security.

Additional Information

Requiring a symbol in passwords increases entropy, making brute-force and dictionary attacks more difficult. Attackers often rely on common or predictable password patterns, and enforcing special characters helps reduce the effectiveness of such attacks. This policy strengthens overall password security and aligns with industry best practices.

1.1.8Ensure IAM password policy require at least one lowercase letter1
Attributes
Title

IAM password policy require one lowercase or more

Weight

10

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

3

Attribute Description

IAM password policies can be configured to enforce the use of at least one lowercase letter in user passwords. Including lowercase letters increases password complexity, making them more resistant to brute-force and dictionary attacks. It is recommended to require at least one lowercase letter in IAM passwords to strengthen security.

Additional Information

Requiring at least one lowercase letter ensures that passwords are not composed solely of numbers or uppercase letters, which are easier to guess. Attackers often use wordlists and predictable patterns when attempting to crack passwords. By enforcing lowercase letters, password complexity improves, reducing the likelihood of unauthorized access.

1.1.9Ensure IAM password policy requires at least one uppercase letter1
Attributes
Title

IAM password policy require one uppercase or more

Weight

10

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

3

Attribute Description

IAM password policies can be configured to enforce the use of at least one uppercase letter in user passwords. Including uppercase letters increases password complexity, making them more resilient to brute-force and dictionary attacks. It is recommended to require at least one uppercase letter in IAM passwords to enhance security.

Additional Information

Requiring at least one uppercase letter ensures that passwords are not composed solely of lowercase letters or numbers, which are more predictable and easier to crack. Attackers often rely on common word variations in password attacks, and enforcing uppercase letters adds an additional layer of complexity, reducing the risk of unauthorized access.

1.1.10Ensure credentials unused for 45 days or more are disabled2
Attributes
Title

IAM credentials unused disabled

Weight

8

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

2

Attribute Description

AWS IAM users can authenticate and access AWS resources using various types of credentials, including passwords and access keys. To minimize security risks, it is recommended to deactivate or remove any credentials that have been unused for 45 days or more.

Additional Information

Disabling or removing inactive credentials reduces the attack surface and prevents unauthorized access through compromised or forgotten credentials. Unused credentials pose a security risk, as attackers may exploit them if they remain active without regular monitoring. Regularly auditing and revoking stale credentials enhances overall account security.

1.1.11Ensure access keys are rotated every 90 days or less1
Attributes
Title

IAM rotate access keys 90 days

Weight

10

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

3

Attribute Description

Access keys consist of an access key ID and a secret access key, which are used to authenticate and sign programmatic requests made to AWS. These keys allow users and applications to interact with AWS services via the AWS Command Line Interface (CLI), AWS SDKs, PowerShell tools, or direct API calls. To maintain security, it is recommended that all access keys be rotated regularly to minimize the risk of unauthorized access.

Additional Information

Regularly rotating access keys reduces the risk of compromised credentials being exploited. If an access key is leaked, cracked, or stolen, rotating it limits the window of opportunity for malicious use. Additionally, rotating keys ensures that inactive or outdated credentials cannot be used for unauthorized access, enhancing overall security and compliance.

1.1.12Ensure IAM password policy expires passwords within 90 days or less1
Attributes
Title

IAM password expires within 90 days

Weight

10

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

3

Attribute Description

IAM password policies can be configured to enforce password expiration after a defined period. It is recommended that passwords be set to expire within 90 days or less to ensure users regularly update their credentials. This helps mitigate security risks associated with stale or compromised passwords that remain active for extended periods.

Additional Information

Requiring password expiration within 90 days or less reduces the risk of credential-based attacks, such as brute-force attacks and credential stuffing, by ensuring that old passwords cannot be used indefinitely. If a password has been exposed or compromised without detection, regular expiration limits the window of opportunity for an attacker to exploit it. This policy enforces stronger access control and aligns with industry security best practices.

1.1.13Ensure no root account access key exists1
Attributes
Title

No root access key

Weight

1000

Section
  1. IAM
Sub Section

1.1 Authentication

Level Of Risk

5

Attribute Description

The root account in AWS has unrestricted administrative privileges and should be protected with the highest security measures. Access keys provide programmatic access to AWS, but when linked to the root account, they pose a significant security risk. It is recommended that no access keys be associated with the root account, ensuring that all programmatic access is managed through IAM roles and users with least privilege access.

Additional Information

The root account holds the highest level of privileges in an AWS environment. AWS Access Keys enable programmatic access to AWS resources, but when associated with the root account, they pose a significant security risk. It is recommended to remove all access keys linked to the root account to minimize potential attack vectors. Eliminating root access keys reduces the risk of unauthorized access and enforces the use of role-based IAM accounts with least privilege, promoting a more secure and controlled access management approach.

1.2.1Ensure IAM policies are attached only to groups or roles1
Attributes
Title

IAM policies attached to group or roles

Weight

1

Section
  1. IAM
Sub Section

1.2 Authorization

Level Of Risk

1

Attribute Description

IAM policies define permissions that control access to AWS resources. To ensure scalability, security, and manageability, it is recommended that IAM policies be attached only to groups or roles rather than individual users. By assigning permissions at the group or role level, organizations can apply consistent security policies and avoid permission sprawl.

Additional Information

Attaching policies to groups or roles simplifies access control, reduces security risks, and improves compliance tracking. This approach prevents overprivileged accounts and ensures a structured, scalable IAM policy framework.

1.2.2Ensure IAM users receive permissions only through groups1
Attributes
Title

IAM users get permissions through groups

Weight

1

Section
  1. IAM
Sub Section

1.2 Authorization

Level Of Risk

1

Attribute Description

IAM users gain access to AWS services, functions, and data through IAM policies. There are four ways to assign policies to a user: 1.Inline (User-Specific) Policy – Editing the policy directly within the user’s profile.2.Directly Attached Policy – Assigning a standalone policy to a user.3.Group-Based Policy (Recommended) – Adding the user to an IAM group with an attached policy. 4.Group with Inline Policy – Assigning an inline policy to a group that includes the user.Among these methods, only the third approach (group-based policies) is recommended for security and manageability.

Additional Information

Managing IAM permissions exclusively through groups ensures consistent, scalable, and role-based access control. This approach reduces the risk of excessive privileges, simplifies auditing, and aligns user permissions with organizational roles.

1.2.3Ensure a support role has been created to manage incidents with AWS Support1
Attributes
Title

Support role exists to manage incidents

Weight

1

Section
  1. IAM
Sub Section

1.2 Authorization

Level Of Risk

1

Attribute Description

AWS offers a Support Center for incident notification, response, technical support, and customer service assistance. To ensure secure and controlled access, an IAM role should be created with a properly assigned policy, allowing only authorized users to manage incidents with AWS Support.

Additional Information

Implementing least privilege access control ensures that only designated users can interact with AWS Support. Assigning an IAM role with a specific policy limits access to only necessary actions, reducing the risk of unauthorized modifications or exposure of sensitive account information.

1.2.4Ensure IAM instance roles are used for AWS resource access from instances1
Attributes
Title

Roles used for resource access from instances

Weight

8

Section
  1. IAM
Sub Section

1.2 Authorization

Level Of Risk

2

Attribute Description

AWS instances can access AWS resources either by embedding access keys in API calls or by assigning an IAM role with the necessary permissions. Using IAM roles ensures secure, controlled access without hardcoding credentials.

Additional Information

IAM roles eliminate the risks associated with hardcoded credentials, reducing exposure to external threats. Unlike access keys, which can be used outside AWS if compromised, IAM roles require an attacker to maintain control of an instance to exploit privileges. Additionally, IAM roles simplify credential management by ensuring permissions are automatically updated without the need for manual key rotation.

1.2.5Avoid the use of the 'root' account1
Attributes
Title

Don't use root account

Weight

100

Section
  1. IAM
Sub Section

1.2 Authorization

Level Of Risk

4

Attribute Description

The root account in AWS has unrestricted administrative privileges and should be used only for initial account setup and emergency scenarios. Regular operations should be performed using IAM users or roles with least privilege access to minimize security risks.

Additional Information

Using the root account increases the risk of unauthorized access, accidental misconfigurations, and privilege misuse. By restricting root account usage and delegating tasks to IAM users or roles, organizations can enforce better access control, auditing, and security best practices.

1.2.6Ensure that IAM Access Analyzer is enabled for all regions1
Attributes
Title

Access Analyzer enabled

Weight

8

Section
  1. IAM
Sub Section

1.2 Authorization

Level Of Risk

2

Attribute Description

Enable IAM Access Analyzer for all AWS regions to monitor IAM policies and identify resources with unintended external access. IAM Access Analyzer, introduced at AWS re:Invent 2019, scans resource-based policies and provides visibility into which resources—such as KMS keys, IAM roles, S3 buckets, Lambda functions, and SQS queues—are accessible by external accounts or federated users. This allows administrators to enforce least privilege access and mitigate unauthorized access risks. IAM Access Analyzer operates within the same AWS region as the resources being analyzed.

Additional Information

IAM Access Analyzer enhances security visibility by detecting AWS resources shared with external entities, helping organizations identify potential security risks and ensure compliance with least privilege principles. It continuously evaluates resource-based policies using logic-based analysis, allowing teams to promptly remediate misconfigurations that could lead to unauthorized access or data exposure.

1.2.7Ensure IAM users are managed centrally via identity federation or AWS Organizations for multi-account environments1
Attributes
Title

IAM users managed centrally or by organizations

Weight

1

Section
  1. IAM
Sub Section

1.2 Authorization

Level Of Risk

1

Attribute Description

In multi-account AWS environments, centralizing IAM user management improves control, security, and access management efficiency. Instead of creating separate IAM users in each account, access should be managed through role assumption. This can be achieved using AWS Organizations or federation with an external identity provider (e.g., AWS IAM Identity Center, Okta, or Active Directory).

Additional Information

Centralizing IAM user management into a single identity store simplifies administration, reduces the risk of access misconfigurations, and enforces consistent security policies across all accounts. This approach enhances security, scalability, and compliance while minimizing user duplication and permission errors.

1.3.1Ensure IAM policies that allow full *:* administrative privileges are not attached2
Attributes
Title

IAM policies with full privileges not attached

Weight

100

Section
  1. IAM
Sub Section

1.3 Privilege Escalation Prevention

Level Of Risk

4

Attribute Description

IAM policies define permissions for users, groups, and roles, controlling access to AWS resources. Following the principle of least privilege, users should be granted only the permissions necessary to perform their tasks. Instead of assigning broad administrative privileges, permissions should be carefully crafted to allow only the required actions.

Additional Information

Starting with minimal permissions and granting additional access as needed is significantly more secure than providing excessive permissions and attempting to restrict them later. Assigning full administrative privileges increases the risk of unauthorized or accidental actions that could compromise AWS resources. IAM policies containing Effect: Allow, Action: , Resource: should be removed to prevent unrestricted access and enforce security best practices.

1.3.2Ensure access to AWSCloudShellFullAccess is restricted1
Attributes
Title

AWSCloudShellFullAccess restricted

Weight

8

Section
  1. IAM
Sub Section

1.3 Privilege Escalation Prevention

Level Of Risk

2

Attribute Description

AWS CloudShell provides a managed command-line interface (CLI) for interacting with AWS services. The AWSCloudShellFullAccess IAM policy grants full access to CloudShell, including file upload and download capabilities between a user’s local system and the CloudShell environment. Within CloudShell, users have sudo privileges and unrestricted internet access, making it possible to install software—such as file transfer tools—that could facilitate data movement to external servers.

Additional Information

Access to AWSCloudShellFullAccess should be restricted, as it can serve as a potential data exfiltration vector for malicious or compromised cloud administrators. Granting full permissions to CloudShell increases the risk of unauthorized data transfers outside the AWS environment. AWS provides guidance on creating more restrictive IAM policies to limit file transfer capabilities, reducing security risks.

1.3.3Ensure no IAM Inline policies allow actions that may lead into Privilege Escalation1
Attributes
Title

IAM policy allow privilege escalation

Weight

100

Section
  1. IAM
Sub Section

1.3 Privilege Escalation Prevention

Level Of Risk

4

Attribute Description

IAM inline policies define permissions directly attached to users, groups, or roles, rather than being managed as standalone policies. If improperly configured, these policies can grant actions that enable privilege escalation, allowing users to elevate their access beyond intended permissions. Privilege escalation can occur through misconfigured IAM roles, excessive permissions, or indirect access paths, potentially leading to unauthorized control over AWS resources.

Additional Information

Users with some IAM permissions are allowed to elevate their privileges up to administrator rights.

2. Attack Surface5286
2.1.1Ensure the default security group of every VPC restricts all traffic1
Attributes
Title

Default SG of VPC restrict all traffic

Weight

100

Section
  1. Attack Surface
Sub Section

2.1 Network

Level Of Risk

4

Attribute Description

Each Amazon VPC includes a default security group that initially denies all inbound traffic, allows all outbound traffic, and permits unrestricted communication between instances within the group. If no security group is specified when launching an instance, it is automatically assigned to this default security group. Since security groups control stateful ingress and egress traffic, it is recommended to restrict all inbound and outbound traffic in the default security group.

Additional Information

Restricting all traffic in the default security group enforces least privilege access by ensuring that AWS resources are explicitly assigned to well-defined security groups. This approach reduces unintended exposure, improves network segmentation, and promotes secure resource placement within AWS environments.

2.1.2Ensure routing tables for VPC peering are least access1
Attributes
Title

Routing tables for VPC least access

Weight

10

Section
  1. Attack Surface
Sub Section

2.1 Network

Level Of Risk

3

Attribute Description

After establishing a VPC peering connection, routing tables must be updated to enable communication between the peered VPCs. Routes can be configured with granular specificity, allowing connections to be restricted to a single host or a specific subnet within the peered VPC.

Additional Information

Defining highly specific routes in VPC peering connections enhances security by limiting access to only the necessary resources. This minimizes the potential impact of a security breach, ensuring that resources outside the defined routes remain inaccessible, reducing the risk of lateral movement within the network.

2.1.3Ensure no Network ACLs allow ingress from 0.0.0.0/0 to remote server administration ports3
Attributes
Title

No Network ACLs allow ingress from 0.0.0.0/0 to remote server administration ports

Weight

10

Section
  1. Attack Surface
Sub Section

2.1 Network

Level Of Risk

3

Attribute Description

Network Access Control Lists (NACLs) provide stateless filtering of ingress and egress traffic to AWS resources. It is recommended that NACLs do not allow unrestricted inbound access to remote administration ports, such as SSH (port 22) and RDP (port 3389), over TCP (6), UDP (17), or ALL (-1) protocols to prevent unauthorized access.

Additional Information

Exposing remote server administration ports (e.g., SSH on 22 and RDP on 3389) to the public internet increases the attack surface, making resources more vulnerable to brute-force attacks and unauthorized access. Restricting inbound access to these ports helps reduce security risks and limit potential exploitation.

2.1.4Ensure no security groups allow ingress from 0.0.0.0/0 to remote server administration ports3
Attributes
Title

No SG allow ingress from 0.0.0.0/0 to remote server administration ports

Weight

100

Section
  1. Attack Surface
Sub Section

2.1 Network

Level Of Risk

4

Attribute Description

Security groups enforce stateful filtering of ingress and egress traffic to AWS resources. To enhance security, no security group should allow unrestricted inbound access to remote administration ports, such as SSH (port 22) and RDP (port 3389), over TCP (6), UDP (17), or ALL (-1) protocols.

Additional Information

Exposing remote administration ports to the public internet significantly increases the attack surface, making resources more vulnerable to brute-force attacks, exploitation, and unauthorized access. Restricting ingress traffic to these ports helps reduce security risks and prevent potential system compromises.

2.1.5Ensure ApiGateway endpoint is not public1
Attributes
Title

ApiGateway endpoint is public

Weight

100

Section
  1. Attack Surface
Sub Section

2.1 Network

Level Of Risk

4

Attribute Description

AWS API Gateway allows developers to create, deploy, and manage APIs that connect applications to backend services. By default, API Gateway endpoints can be publicly accessible, meaning they can be invoked from anywhere on the internet. To enhance security, API Gateway endpoints should be restricted to private networks using VPC links, private API settings, or access control mechanisms to ensure that only authorized entities can interact with the API.

Additional Information

Publicly accessible API Gateway endpoints can expose backend services to unauthorized access, data leaks, and potential exploitation. Attackers may attempt brute-force authentication, injection attacks, or abuse API functionality if access is not properly restricted. To reduce the attack surface, API Gateway endpoints should be limited to internal use or protected with authentication, IAM permissions, WAF rules, or private VPC access to ensure only trusted users and systems can invoke the API.

2.1.6Ensure that ec2 common ports from instances are not internet-exposed17
Attributes
Title

Common ports from instances are not exposed

Weight

1000

Section
  1. Attack Surface
Sub Section

2.1 Network

Level Of Risk

5

Attribute Description

Amazon EC2 instances can run various services that communicate over common ports such as 22 (SSH), 3389 (RDP), 80 (HTTP), and 443 (HTTPS) (and more). If these ports are open to the internet, attackers can attempt unauthorized access, brute-force attacks, or exploit known vulnerabilities. To reduce security risks, EC2 instances should be configured so that common ports are not exposed to the public internet, unless explicitly required and properly secured.

Additional Information

Exposing common ports directly to the internet increases the attack surface and risks unauthorized access or system compromise. Attackers frequently scan for open ports to target misconfigured or unpatched services. To enhance security, access to EC2 common ports should be restricted using security groups, network ACLs, and VPC configurations, ensuring that only trusted networks and users can connect.

2.1.7Ensure that ec2 security groups do not allow ingress from internet to common ports15
Attributes
Title

Common ports from security groups do not allow ingress traffic

Weight

1000

Section
  1. Attack Surface
Sub Section

2.1 Network

Level Of Risk

5

Attribute Description

Amazon EC2 security groups act as virtual firewalls, controlling inbound and outbound traffic to instances. If a security group allows ingress (incoming traffic) from the internet (0.0.0.0/0 or ::/0) to common ports such as 22 (SSH), 3389 (RDP), 80 (HTTP), or 443 (HTTPS) (and more), it creates a significant security risk. To minimize exposure, security groups should be configured to restrict ingress access to these ports to only trusted IP addresses or internal networks.

Additional Information

Allowing unrestricted inbound traffic to common ports increases the risk of brute-force attacks, unauthorized access, and exploitation of vulnerabilities. Attackers actively scan for open ports on public-facing EC2 instances to gain unauthorized control. To reduce security risks, ingress rules should be restricted using least privilege principles, IP whitelisting, VPN access, or bastion hosts, ensuring that only authorized users and networks can connect.

2.1.8Ensure EKS cluster Network Policy is Enabled and Set as Appropriate1
Attributes
Title

EKS cluster Network Policy is Enabled and Set as Appropriate

Weight

100

Section
  1. Attack Surface
Sub Section

2.1 Network

Level Of Risk

4

Attribute Description

A Network Policy defines how network traffic is controlled and restricted between workloads within a cloud environment. Enforcing network policies ensures that only authorized communication occurs between services, reducing the risk of unauthorized access and lateral movement. It is recommended to enable Network Policies and configure them appropriately to enforce least privilege access and secure communication between workloads.

Additional Information

Without properly configured Network Policies, workloads may be exposed to unnecessary or unauthorized network traffic, increasing the risk of data leaks, exploitation, or lateral movement by attackers. By enabling and enforcing Network Policies, organizations can limit communication between workloads, ensuring that only approved and necessary network interactions are allowed, minimizing the attack surface and enhancing overall security.

2.1.9Ensure EKS Clusters are not publicly accessible1
Attributes
Title

EKS Clusters are not publicly accessible

Weight

100

Section
  1. Attack Surface
Sub Section

2.1 Network

Level Of Risk

4

Attribute Description

Amazon Elastic Kubernetes Service (EKS) clusters manage containerized applications and can be configured with either private or public access. If an EKS cluster is publicly accessible, it means that the Kubernetes API endpoint can be reached from the internet, increasing the risk of unauthorized access and attacks. To enhance security, EKS clusters should be restricted to private networks and accessed only through secure VPNs, VPC peering, or AWS PrivateLink.

Additional Information

Exposing an EKS cluster to the public internet increases the risk of brute-force attacks, credential theft, and unauthorized access to Kubernetes workloads. Attackers could exploit misconfigured RBAC policies or API vulnerabilities to gain control over the cluster. To reduce security risks, EKS clusters should be configured with private endpoints, ensuring that only trusted networks and IAM-authenticated users can manage Kubernetes resources.

2.1.10Ensure EKS Clusters are created with Private Nodes1
Attributes
Title

EKS Clusters are created with Private Nodes

Weight

100

Section
  1. Attack Surface
Sub Section

2.1 Network

Level Of Risk

4

Attribute Description

Amazon Elastic Kubernetes Service (EKS) clusters run workloads on worker nodes, which can be either public or private. If EKS clusters are created with public nodes, these nodes are assigned public IP addresses, making them accessible from the internet, which increases the risk of unauthorized access and potential attacks. To enhance security, EKS clusters should be created with private nodes that operate within private subnets and are only accessible through secured networking configurations such as VPNs, VPC peering, or AWS PrivateLink.

Additional Information

Using public nodes in EKS exposes Kubernetes workloads to the internet, increasing the risk of unauthorized access, lateral movement, and potential exploitation. Attackers can target misconfigured workloads, open services, or unsecured API endpoints. By creating EKS clusters with private nodes, organizations can restrict access, limit exposure to public threats, and enforce network segmentation, ensuring that workloads remain secure and isolated within a private VPC environment.

2.2.1Ensure MFA Delete is enabled on S3 buckets1
Attributes
Title

MFA delete enabled on S3 buckets

Weight

10

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

3

Attribute Description

Enabling MFA Delete on a sensitive or classified Amazon S3 bucket adds an extra layer of protection by requiring two-factor authentication for critical actions, such as deleting object versions or changing the bucket’s versioning state.

Additional Information

MFA Delete helps prevent accidental or malicious deletions by requiring an additional authentication step. This mitigates the risk of data loss due to compromised credentials or unauthorized access, ensuring that critical objects remain protected.

2.2.2Ensure all data in Amazon S3 has been discovered, classified, and secured when necessary1
Attributes
Title

Macie enabled

Weight

1

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

1

Attribute Description

Amazon S3 buckets may store sensitive data that needs to be discovered, classified, monitored, and protected to maintain security and compliance. Amazon Macie, along with third-party tools, can automatically inventory S3 buckets and identify sensitive data at scale.

Additional Information

Using automated data discovery and classification tools, such as Amazon Macie, enhances security by continuously monitoring S3 buckets for sensitive information. Macie leverages machine learning and pattern matching to detect and protect critical data, reducing the risk of data leaks and unauthorized access.

2.2.3Ensure EBS snapshots are not publicly accessible1
Attributes
Title

EBS snapshots nor publicy accessible

Weight

1000

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

5

Attribute Description

Amazon Elastic Block Store (EBS) snapshots contain backups of EC2 volumes, which may include sensitive data such as credentials, application configurations, or customer information. EBS snapshots should never be publicly accessible to prevent unauthorized access and data exposure. By default, snapshots are private, but they can be manually shared with other AWS accounts or made public, which poses a significant security risk if misconfigured.

Additional Information

Exposing EBS snapshots publicly increases the risk of data breaches, unauthorized access, and compliance violations. Attackers can scan for publicly accessible snapshots and extract sensitive information. To prevent data leaks, snapshots should be restricted to specific AWS accounts or kept private unless explicitly needed for sharing. Implementing proper access controls helps protect critical data and maintain compliance with security best practices.

2.2.4Ensure RDS snapshots are not publicly accessible1
Attributes
Title

RDS snapshots not publicy accessible

Weight

1000

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

5

Attribute Description

Amazon Relational Database Service (RDS) snapshots store backups of database instances, potentially containing sensitive data such as customer records, credentials, and application configurations. By default, RDS snapshots are private, but they can be shared with other AWS accounts or made public, which can lead to data exposure if misconfigured. To prevent unauthorized access, RDS snapshots should never be publicly accessible unless explicitly required and secured.

Additional Information

Publicly accessible RDS snapshots create a serious security risk, as anyone can copy the snapshot and restore the database, exposing sensitive information. Attackers actively scan for publicly available snapshots to extract credentials, personally identifiable information (PII), or business-critical data. To prevent unauthorized access and data leaks, RDS snapshots should remain private or restricted to trusted AWS accounts following the principle of least privilege.

2.2.5Ensure the S3 bucket CloudTrail logs is not publicly accessible1
Attributes
Title

S3 bucket CloudTrail logs is not publicly accessible

Weight

1000

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

5

Attribute Description

AWS CloudTrail logs record account activity, including API calls, user actions, and resource modifications, making them critical for security monitoring and compliance auditing. These logs are typically stored in an Amazon S3 bucket for long-term retention and analysis. To protect sensitive security data, the S3 bucket storing CloudTrail logs should never be publicly accessible.

Additional Information

If the S3 bucket containing CloudTrail logs is publicly accessible, unauthorized users could access sensitive security information, including API calls, IAM activity, and infrastructure changes. Exposing CloudTrail logs can help attackers reconstruct system activity, identify vulnerabilities, and plan targeted attacks. To prevent data leaks and unauthorized access, CloudTrail log buckets should be restricted using IAM policies, bucket policies, and S3 Block Public Access settings.

2.2.6Ensure Redshift clusters do not have a public endpoint1
Attributes
Title

Redshift clusters dont have a public endpoint

Weight

100

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

4

Attribute Description

Amazon Redshift clusters store and process large-scale data for analytics and business intelligence workloads. By default, Redshift clusters can be configured with a public endpoint, making them accessible from the internet. To minimize security risks, Redshift clusters should be restricted to private networks and should not have a public endpoint unless absolutely necessary and properly secured.

Additional Information

Exposing a Redshift cluster to the public internet increases the risk of unauthorized access, data breaches, and cyberattacks. Attackers could attempt brute-force login attempts, exploit misconfigurations, or access sensitive business data. Keeping Redshift clusters within private subnets and restricting access via security groups, VPC settings, and IAM policies ensures that only trusted networks and users can connect, reducing the attack surface and enhancing data security.

2.2.7Ensure DocumentDB manual cluster snapshot is not public1
Attributes
Title

DocumentDB manual cluster snapshot is not public

Weight

1000

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

5

Attribute Description

AWS DocumentDB manual cluster snapshots store backups of DocumentDB clusters, containing sensitive database information such as application data, configurations, and credentials. By default, snapshots are private, but they can be manually shared or made public, which poses a significant security risk. To prevent unauthorized access, DocumentDB manual cluster snapshots should never be publicly accessible unless explicitly required and properly secured.

Additional Information

Publicly accessible DocumentDB snapshots expose critical database information, increasing the risk of data breaches, unauthorized access, and compliance violations. Attackers could restore the snapshot in their own AWS account and gain full access to the database content. To protect sensitive data, DocumentDB snapshots should only be shared with specific AWS accounts or remain private, following least privilege principles and AWS security best practices.

2.2.8Ensure that public access to EBS snapshots is disabled1
Attributes
Title

Public access to EBS snapshots is disabled

Weight

100

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

4

Attribute Description

Amazon Elastic Block Store (EBS) snapshots are backups of EC2 volumes that may contain sensitive data, such as credentials, application configurations, and customer records. By default, EBS snapshots are private, but they can be manually shared or made public, allowing anyone to copy or restore them. To prevent unauthorized access and data exposure, public access to EBS snapshots should always be disabled.

Additional Information

Publicly accessible EBS snapshots pose a significant security risk, as attackers can restore and extract sensitive data if a snapshot is exposed. Misconfigured public snapshots have led to data breaches and compliance violations in the past. To mitigate this risk, EBS snapshots should be kept private or explicitly shared only with trusted AWS accounts, following least privilege principles to protect critical data and maintain security compliance.

2.2.9Ensure EFS mount targets are not publicly accessible1
Attributes
Title

No EFS mount targets are publicly accessible

Weight

10

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

3

Attribute Description

Amazon Elastic File System (EFS) provides scalable, shared file storage for AWS services. EFS mount targets allow instances to connect to the file system within a VPC. By default, EFS mount targets can be configured with public accessibility, making them reachable from the internet. To enhance security, EFS mount targets should be restricted to private networks and should not be publicly accessible unless explicitly required and properly secured.

Additional Information

Publicly accessible EFS mount targets expose stored data to unauthorized access, cyberattacks, and data breaches. Attackers could exploit misconfigured security groups or network ACLs to access or modify files. To reduce security risks, EFS mount targets should be restricted to private subnets, with access limited to trusted VPCs, security groups, and IAM roles, ensuring secure file storage and controlled access.

2.2.10Ensure that EFS do not have policies which allow access to any client within the VPC1
Attributes
Title

No EFS have policies which allow access to any client within the VPC

Weight

10

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

3

Attribute Description

Amazon Elastic File System (EFS) provides shared storage that can be accessed by multiple EC2 instances and services within a VPC. EFS access is controlled through resource-based policies that define which clients can connect. If an EFS policy allows access to any client within the VPC, it increases the risk of unauthorized access and data exposure. To enhance security, EFS policies should be restricted to specific IAM roles, security groups, or trusted resources instead of granting broad access to all VPC clients.

Additional Information

Allowing any client within a VPC to access an EFS file system increases the risk of data leaks, accidental modifications, or unauthorized access by compromised instances or misconfigured services. To minimize exposure, EFS policies should enforce least privilege access, restricting permissions to specific instances, roles, or users that require access, ensuring secure file storage and controlled data access.

2.2.11Ensure Elasticache Cluster is not using a public subnet1
Attributes
Title

Elasticache Cluster is not using a public subnet

Weight

10

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

3

Attribute Description

Amazon ElastiCache provides in-memory caching services using Redis and Memcached. By default, ElastiCache clusters can be deployed in either public or private subnets. If an ElastiCache cluster is placed in a public subnet, it becomes accessible from the internet, which significantly increases the risk of unauthorized access and data breaches. To enhance security, ElastiCache clusters should only be deployed in private subnets, ensuring restricted access within a VPC.

Additional Information

Deploying an ElastiCache cluster in a public subnet exposes it to external threats, such as unauthorized access, brute-force attacks, and potential data exfiltration. Attackers could exploit misconfigurations to access cached data or disrupt services. By restricting ElastiCache clusters to private subnets, organizations can limit access to trusted resources, enforce VPC security controls, and reduce the attack surface, ensuring secure and efficient caching operations.

2.2.12Ensure S3 Glacier vaults have not policies which allow access to everyone1
Attributes
Title

S3 Glacier vaults have not policies which allow access to everyone

Weight

1000

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

5

Attribute Description

Amazon S3 Glacier provides low-cost, long-term storage for archival data. Glacier vaults can be configured with resource-based policies that control access. If a Glacier vault policy allows access to everyone, unauthorized users could retrieve or delete archived data, leading to data exposure or loss. To enhance security, Glacier vault policies should be restricted to specific AWS accounts, IAM roles, or trusted entities, ensuring only authorized users can access or manage archived data.

Additional Information

Allowing public access to S3 Glacier vaults poses a significant security risk, increasing the chance of data breaches, unauthorized deletions, or compliance violations. Attackers could restore and download sensitive archived data if the vault is misconfigured. To prevent unauthorized access, Glacier vaults should have strict access controls, using IAM policies, encryption, and resource-based permissions, ensuring that only trusted users and systems can interact with archived data.

2.2.13Ensure Glue Data Catalogs are not publicly accessible1
Attributes
Title

Glue Data Catalogs are not publicly accessible

Weight

100

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

4

Attribute Description

AWS Glue Data Catalog is a centralized metadata repository used to store and manage schema information for data lakes and analytics workflows. By default, Glue Data Catalogs can be configured to allow public access, which poses a significant security risk if sensitive metadata is exposed. To enhance security, Glue Data Catalogs should be restricted to specific AWS accounts, IAM roles, or trusted services, ensuring that only authorized users can access or modify catalog information.

Additional Information

Allowing public access to Glue Data Catalogs increases the risk of unauthorized access, data leaks, and compliance violations. Attackers could gain insights into an organization’s data structure or modify catalog entries, leading to potential data corruption or unauthorized data exposure. To reduce security risks, Glue Data Catalogs should be secured using IAM policies, resource-based permissions, and AWS Lake Formation, ensuring that only trusted accounts and services can interact with metadata.

2.2.14Ensure there are no internet exposed KMS keys1
Attributes
Title

No internet exposed KMS keys

Weight

10

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

3

Attribute Description

AWS Key Management Service (KMS) provides secure encryption key management for data encryption and cryptographic operations. If KMS keys are exposed to the internet, unauthorized entities could potentially use, modify, or compromise encryption keys, leading to data breaches and security vulnerabilities. To enhance security, KMS keys should be restricted to trusted AWS accounts, IAM roles, and specific AWS services, ensuring that only authorized users and systems can access and manage them.

Additional Information

Exposing KMS keys to the public poses a critical security risk, as compromised keys can lead to unauthorized data decryption, loss of data integrity, and compliance violations. Attackers could potentially use public KMS keys to encrypt or decrypt sensitive data, undermining security controls. To prevent unauthorized access, KMS key policies should enforce strict access control using IAM permissions, VPC endpoint policies, and AWS PrivateLink, ensuring that encryption operations remain fully secured and isolated from the public internet.

2.2.15Ensure that S3 buckets have not policies which allow WRITE access1
Attributes
Title

S3 buckets have not policies which allow WRITE access

Weight

100

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

4

Attribute Description

Amazon S3 buckets store and manage data, files, and application assets. Bucket policies control access permissions, and if an S3 bucket has a policy that allows WRITE access to everyone, unauthorized users can upload, modify, or delete objects, leading to data tampering, security breaches, or service disruptions. To enhance security, S3 bucket policies should be restricted to specific AWS accounts, IAM roles, or trusted services, ensuring only authorized users have WRITE permissions.

Additional Information

Allowing unrestricted WRITE access to an S3 bucket increases the risk of unauthorized modifications, data injection attacks, and accidental data loss. Attackers could upload malicious files, delete critical data, or overwrite important configurations. To prevent unauthorized changes, S3 bucket policies should explicitly deny public WRITE access, enforce least privilege access control, and use AWS Block Public Access settings to ensure secure and controlled data storage.

2.2.16Ensure there are no S3 buckets listable by Everyone or Any AWS customer1
Attributes
Title

No S3 buckets are listable by Everyone or Any AWS customer

Weight

100

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

4

Attribute Description

Amazon S3 buckets store sensitive data and should have restricted access permissions. If an S3 bucket is listable by Everyone or Any AWS customer, unauthorized users can enumerate the objects within the bucket, potentially exposing sensitive information such as filenames, metadata, or even public datasets. To enhance security, S3 bucket permissions should be configured to restrict LIST access to only authorized IAM roles, AWS accounts, or specific services.

Additional Information

Allowing public or AWS-wide LIST access increases the risk of data enumeration, unauthorized access, and information leaks. Attackers or unauthorized users could identify and analyze stored files, extract metadata, or infer sensitive data. To mitigate this risk, S3 bucket policies should explicitly deny public LIST access, enforce least privilege permissions, and use AWS Block Public Access settings to prevent unintended data exposure.

2.2.17Ensure there are no S3 buckets writable by Everyone or Any AWS customer1
Attributes
Title

No S3 buckets writable by Everyone or Any AWS customer

Weight

100

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

4

Attribute Description

Amazon S3 buckets should have strict access controls to prevent unauthorized modifications. If an S3 bucket is writable by Everyone or Any AWS customer, it allows unauthorized users to upload, modify, or delete objects, leading to data corruption, security breaches, and compliance risks. To enhance security, S3 bucket permissions should be restricted to trusted IAM roles, AWS accounts, or specific services.

Additional Information

Allowing public or AWS-wide WRITE access creates a significant security risk, as attackers can inject malicious files, overwrite critical data, or delete essential objects. This could lead to data loss, malware distribution, or unauthorized system modifications. To prevent unauthorized changes, S3 bucket policies should explicitly deny public WRITE access, enforce least privilege access, and use AWS Block Public Access settings to secure data integrity and prevent unauthorized modifications.

2.2.18Ensure Secrets Manager secrets are not publicly accessible1
Attributes
Title

Secrets Manager secrets are not publicly accessible

Weight

100

Section
  1. Attack Surface
Sub Section

2.2 Storage

Level Of Risk

4

Attribute Description

AWS Secrets Manager is used to securely store and manage sensitive information, such as API keys, database credentials, and encryption keys. By default, Secrets Manager secrets should be restricted to authorized IAM roles and AWS services. If a secret is publicly accessible, it can be exposed to unauthorized users, leading to data leaks, security breaches, and potential exploitation of sensitive credentials. To enhance security, Secrets Manager secrets should be strictly controlled using IAM policies and resource-based permissions.

Additional Information

Allowing public access to Secrets Manager secrets creates a critical security vulnerability, as attackers could retrieve, misuse, or exfiltrate sensitive information. Compromised secrets could lead to unauthorized access to databases, applications, or cloud services, resulting in data breaches, financial loss, or compliance violations. To mitigate this risk, Secrets Manager secrets should be restricted using least privilege IAM permissions, encrypted with AWS KMS, and accessed only by trusted AWS services and roles, ensuring secure and controlled secret management.

2.3.1Ensure SNS topics do not allow global send or subscribe1
Attributes
Title

SNS topics do not allow global send or subscribe

Weight

100

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

4

Attribute Description

Amazon Simple Notification Service (SNS) topics enable messaging between AWS services, applications, and users. By default, SNS topics should be restricted to trusted AWS accounts or IAM roles to prevent unauthorized access. Allowing global send (sns:Publish) or subscribe (sns:Subscribe) permissions means any AWS account or unauthenticated entity could send messages or subscribe to the topic, potentially leading to spam, data leaks, or misuse of notifications.

Additional Information

SNS topics with global send or subscribe permissions expose AWS environments to unauthorized message injection, data exfiltration, and Denial-of-Service (DoS) attacks. An attacker could flood an SNS topic with malicious or fraudulent messages, leading to unexpected charges or service disruptions. Restricting access ensures that only authorized AWS accounts, applications, or IAM roles can send and receive messages, reducing security risks and protecting system integrity.

2.3.2Ensure that amazon EC2 instances launched using Auto Scaling group launch configurations do not have Public IP addresses1
Attributes
Title

EC2 instances launched using autoscaling group launch configurations do not have Public IP addresses

Weight

100

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

4

Attribute Description

Amazon EC2 instances launched via Auto Scaling groups can automatically scale workloads based on demand. By default, instances can be assigned public IP addresses, making them accessible from the internet. To enhance security, EC2 instances in Auto Scaling group launch configurations should not have public IP addresses, ensuring they remain within a private network and are only accessible through secure channels such as bastion hosts or VPN connections.

Additional Information

Assigning public IP addresses to Auto Scaling group instances increases the risk of unauthorized access, brute-force attacks, and potential exploitation. Publicly accessible instances can become targets for malicious actors, leading to data breaches or service disruptions. By restricting public IP addresses, organizations can enforce network segmentation, ensuring that EC2 instances are accessed securely via private networks, VPNs, or load balancers.

2.3.3Ensure that lambda functions have not resource-based policy set as Public1
Attributes
Title

Lambda functions have not resource-based policy set as Public

Weight

1000

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

5

Attribute Description

AWS Lambda functions allow running code without managing servers. Lambda supports resource-based policies that define who can invoke the function. If a Lambda function’s resource-based policy allows public access, it can be triggered by anyone on the internet, posing a significant security risk. To prevent unauthorized execution, Lambda functions should not be publicly accessible unless explicitly required and properly secured.

Additional Information

Publicly accessible Lambda functions can be abused for unauthorized execution, leading to service disruptions, data exfiltration, or increased AWS costs due to excessive invocations. Attackers could exploit misconfigured functions to perform malicious actions, extract sensitive data, or abuse compute resources. To reduce security risks, Lambda functions should only be accessible to specific IAM roles, AWS services, or trusted accounts, enforcing least privilege access and maintaining secure function execution.

2.3.4Ensure that Lambda have not public URL Function1
Attributes
Title

Lambda have not public URL Function

Weight

100

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

4

Attribute Description

AWS Lambda function URLs provide a built-in HTTPS endpoint that allows functions to be invoked directly via HTTP requests. By default, Lambda function URLs can be publicly accessible, meaning anyone on the internet can invoke the function if proper access controls are not enforced. To minimize security risks, Lambda function URLs should not be publicly accessible unless explicitly required and properly restricted.

Additional Information

Exposing Lambda function URLs to the public internet increases the risk of unauthorized access, API abuse, and potential exploitation. Attackers may invoke functions maliciously, leading to data leaks, unauthorized operations, increased costs, or denial-of-service (DoS) attacks. To enhance security, Lambda function URLs should be restricted to specific IAM roles, AWS services, or trusted clients, ensuring that only authorized users can trigger the function.

2.3.5Ensure DMS instances are not publicly accessible1
Attributes
Title

DMS instances are not publicly accessible

Weight

1000

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

5

Attribute Description

AWS Database Migration Service (DMS) instances facilitate data migration between databases across on-premises and cloud environments. By default, DMS instances can be configured with publicly accessible endpoints, making them reachable from the internet. To enhance security and prevent unauthorized access, DMS instances should not be publicly accessible unless explicitly required and properly secured.

Additional Information

Publicly accessible DMS instances increase the risk of unauthorized access, data interception, and potential exploitation. Attackers could target exposed instances to steal or manipulate sensitive data during migration. Restricting public access ensures data migrations remain secure, limiting access to trusted networks, private VPCs, and authorized IAM roles, thereby reducing the attack surface and ensuring compliance with security best practices.

2.3.6Ensure there are no EC2 AMIs set as Public1
Attributes
Title

No EC2 AMIs set as Public

Weight

1000

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

5

Attribute Description

Amazon EC2 Amazon Machine Images (AMIs) contain pre-configured operating system and application environments that can be used to launch new EC2 instances. By default, AMIs are private, but they can be manually shared or made public, which poses a security risk if sensitive data or proprietary configurations are exposed. To prevent unauthorized access and data leaks, EC2 AMIs should not be set as public unless explicitly required and properly secured.

Additional Information

Publicly accessible EC2 AMIs increase the risk of data exposure, unauthorized access, and compliance violations. Attackers could copy, analyze, or exploit public AMIs to extract sensitive credentials, misconfigurations, or proprietary software. Keeping AMIs private or shared only with specific AWS accounts ensures that only trusted users or teams can access and launch instances from them, reducing security risks and preventing unintended data exposure.

2.3.7Ensure there are no ECR repositories set as Public1
Attributes
Title

No ECR repositories set as Public

Weight

1000

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

5

Attribute Description

Amazon Elastic Container Registry (ECR) repositories store and manage container images for deployment in AWS services. By default, ECR repositories are private, but they can be manually configured as public, allowing anyone to pull container images. To prevent unauthorized access and potential security risks, ECR repositories should not be set as public unless explicitly required and properly secured.

Additional Information

Publicly accessible ECR repositories expose container images to unauthorized users, increasing the risk of intellectual property theft, malware injection, or unauthorized use of containerized applications. Attackers could analyze public images for vulnerabilities or use misconfigured images for malicious purposes. To mitigate this risk, ECR repositories should remain private or be explicitly shared with trusted AWS accounts, ensuring secure access and compliance with best practices.

2.3.8Ensure ECS services do not assign public IPs automatically1
Attributes
Title

No ECS services assign public IPs automatically

Weight

10

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

3

Attribute Description

Amazon Elastic Container Service (ECS) allows running containerized applications on AWS. By default, ECS services can be configured to assign public IP addresses to tasks or services, making them directly accessible from the internet. To enhance security, ECS services should be configured not to automatically assign public IPs, ensuring they remain within a private network and are accessed securely through internal load balancers, VPC peering, or private endpoints.

Additional Information

Automatically assigning public IPs to ECS services exposes them to the internet, increasing the risk of unauthorized access, brute-force attacks, and data breaches. Attackers could target publicly exposed containers, exploit vulnerabilities, or disrupt services. To mitigate these risks, ECS services should be restricted to private subnets and accessed through secure networking configurations, such as AWS PrivateLink, VPNs, or internal ALBs.

2.3.9Ensure ECS task sets do not automatically assign public IP addresses1
Attributes
Title

No ECS tasks sets assign public IPs autocatically

Weight

100

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

4

Attribute Description

Amazon Elastic Container Service (ECS) task sets manage multiple versions of a service during deployments. By default, ECS task sets can be configured to automatically assign public IP addresses, making them directly accessible from the internet. To enhance security, ECS task sets should be restricted to private subnets and should not automatically receive public IP addresses unless explicitly required and properly secured.

Additional Information

Automatically assigning public IPs to ECS task sets increases the risk of unauthorized access, cyberattacks, and data exposure. Publicly exposed tasks can be targeted by attackers, leading to service disruptions or exploitation of vulnerabilities. To mitigate these risks, ECS task sets should be restricted to private networking environments, accessed only through internal load balancers, VPC endpoints, or secure VPN connections, ensuring controlled and secure communication.

2.3.10Ensure no Elastic Load Balancers are facing internet1
Attributes
Title

No Elastic Load Balancers are facing internet

Weight

10

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

3

Attribute Description

Amazon Elastic Load Balancers (ELBs) distribute incoming traffic across multiple targets, such as EC2 instances, containers, and Lambda functions. By default, ELBs can be configured as either internet-facing or internal (private). If an ELB is publicly accessible, it exposes backend services to the internet, increasing the risk of unauthorized access and attacks. To enhance security, ELBs should be restricted to private networks unless explicitly required and properly secured.

Additional Information

Publicly accessible Elastic Load Balancers can serve as entry points for unauthorized traffic, brute-force attacks, and potential data breaches. Attackers may exploit misconfigured security groups, open ports, or exposed application endpoints behind the load balancer. To reduce security risks, ELBs should be configured as internal (private), allowing access only from trusted networks, VPNs, or specific VPCs, ensuring that backend services remain protected and isolated from external threats.

2.3.11Ensure EMR Account Public Access Block enabled1
Attributes
Title

EMR Account Public Access Block enabled

Weight

100

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

4

Attribute Description

Amazon Elastic MapReduce (EMR) is a managed big data processing service that can access S3, EC2, and other AWS resources. The EMR Account Public Access Block setting helps prevent public access to EMR resources, such as data stored in S3 buckets. If this setting is not enabled, there is a risk that EMR-related data and configurations could be exposed to the public, leading to unauthorized access or data breaches. To enhance security, the Public Access Block should be enabled for the EMR account.

Additional Information

Allowing public access to EMR resources increases the risk of data leaks, unauthorized access, and compliance violations. Attackers could exploit misconfigured policies or publicly accessible S3 buckets to access sensitive data processed by EMR. Enabling EMR Account Public Access Block ensures that S3 data and other EMR-related resources cannot be accessed publicly, reducing exposure and maintaining strong access controls in AWS.

2.3.12Ensure EMR cluster is not publicly accessible1
Attributes
Title

EMR cluster is not publicly accessible

Weight

10

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

3

Attribute Description

Amazon Elastic MapReduce (EMR) is a managed service for processing big data workloads using Apache Spark, Hadoop, and other frameworks. By default, EMR clusters can be configured with public or private access. If an EMR cluster is publicly accessible, it exposes data processing nodes and services to the internet, increasing the risk of unauthorized access and potential exploitation. To enhance security, EMR clusters should only be deployed in private subnets and restricted to trusted networks.

Additional Information

Publicly accessible EMR clusters increase the risk of data breaches, unauthorized access, and attacks on running workloads. Malicious actors could exploit misconfigured security groups, open ports, or weak authentication settings to compromise the cluster. To reduce exposure, EMR clusters should be placed in private subnets, restricted using VPC security controls, IAM permissions, and firewall rules, ensuring secure data processing and access management.

2.3.13Ensure that your AWS EventBridge event bus is not exposed to everyone1
Attributes
Title

AWS EventBridge event bus is not exposed to everyone

Weight

100

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

4

Attribute Description

AWS EventBridge is a serverless event bus service that enables communication between AWS services, third-party applications, and custom event sources. By default, EventBridge event buses can be configured to allow events from any AWS account or external source. If an event bus is exposed to everyone, unauthorized entities could send events to your environment, potentially leading to security risks, data injection attacks, or service disruptions. To enhance security, event buses should be restricted to specific AWS accounts, services, or trusted IAM roles.

Additional Information

Allowing unrestricted access to an EventBridge event bus increases the risk of malicious event injection, unauthorized access, and data manipulation. Attackers could flood the event bus with malicious events, leading to unexpected behavior, security breaches, or excessive AWS costs. To reduce exposure, event buses should be secured using IAM policies and resource-based permissions, ensuring that only trusted AWS services and accounts can send or receive events.

2.3.14Ensure Kafka Cluster is not exposed to the public1
Attributes
Title

Kafka Cluster is not exposed to the public

Weight

100

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

4

Attribute Description

Amazon Managed Streaming for Apache Kafka (MSK) allows organizations to build and manage real-time data streaming applications. If a Kafka cluster is publicly accessible, it exposes data streams, configurations, and messaging topics to the internet, increasing the risk of unauthorized access, data interception, and service disruptions. To enhance security, Kafka clusters should be restricted to private networks, ensuring that only trusted AWS resources, VPCs, and IAM-authenticated users can interact with the service.

Additional Information

Exposing a Kafka cluster to the public internet creates significant security risks, including unauthorized data ingestion, data leaks, and message tampering. Attackers could consume, modify, or inject malicious data into Kafka topics, disrupting real-time analytics and application workflows. To mitigate these risks, Kafka clusters should be deployed in private subnets, with access restricted via VPC security groups, IAM policies, and AWS PrivateLink, ensuring secure and controlled data streaming.

2.3.15Ensure lightsail database is not in public mode1
Attributes
Title

Lightsail database not public

Weight

100

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

4

Attribute Description

AWS Lightsail Databases provide managed database solutions for applications. If a Lightsail database is set to public mode, it is directly accessible from the internet, increasing the risk of unauthorized access and data breaches. To enhance security, Lightsail databases should be configured in private mode, ensuring they are accessible only from trusted instances, private networks, or VPN connections.

Additional Information

Publicly accessible Lightsail databases expose sensitive data to unauthorized access, brute-force attacks, and potential exploitation. Attackers can attempt to compromise credentials, inject malicious queries, or exfiltrate data. To mitigate these risks, Lightsail databases should remain private, with access controlled through firewalls, IAM authentication, and private networking configurations, ensuring secure database connectivity and data protection.

2.3.16Ensure that Lightsail instances are not publicly accessible1
Attributes
Title

Lightsail instances are not publicly accessible

Weight

100

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

4

Attribute Description

AWS Lightsail instances provide a simple way to deploy and manage cloud-based virtual machines. If a Lightsail instance is publicly accessible, it can be directly reached from the internet, increasing the risk of unauthorized access, attacks, and data breaches. To enhance security, Lightsail instances should be restricted to private access, ensuring they are reachable only through secure connections, such as VPNs, bastion hosts, or private networking configurations.

Additional Information

Publicly exposed Lightsail instances create a larger attack surface, making them vulnerable to brute-force attacks, unauthorized access, and exploitation of software vulnerabilities. Attackers could compromise credentials, gain control over the instance, or disrupt services. To mitigate these risks, Lightsail instances should be secured using firewalls, private IP configurations, security group restrictions, and IAM-based access controls, ensuring that only trusted users and networks can connect.

2.3.17Ensure MQ brokers are not publicly accessible1
Attributes
Title

MQ brokers not publicly accessible

Weight

10

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

3

Attribute Description

AWS MQ brokers manage message queues for applications, facilitating secure and reliable communication between distributed services. If an MQ broker is publicly accessible, it can be reached from the internet, increasing the risk of unauthorized access, message interception, and data breaches. To enhance security, MQ brokers should be restricted to private networks, ensuring they are accessible only from trusted VPCs, private endpoints, or secure VPN connections.

Additional Information

Publicly exposed MQ brokers pose a significant security risk, as attackers can attempt to intercept messages, inject malicious data, or disrupt message delivery. This could lead to data manipulation, unauthorized access to sensitive information, and system-wide outages. To mitigate these risks, MQ brokers should be configured within private subnets, with access restricted using security groups, IAM policies, and VPC endpoint controls, ensuring secure and controlled message queue operations.

2.3.18Ensure NeptuneDB manual cluster snapshot is not public1
Attributes
Title

NeptuneDB manual cluster snapshot is not public

Weight

1000

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

5

Attribute Description

Amazon NeptuneDB manual cluster snapshots store backups of graph database clusters, containing sensitive data such as relationships, metadata, and application configurations. By default, NeptuneDB snapshots are private, but they can be manually shared or made public, which can expose critical database information. To enhance security, NeptuneDB manual snapshots should never be publicly accessible, ensuring they are only shared with trusted AWS accounts when necessary.

Additional Information

Publicly accessible NeptuneDB snapshots pose a significant security risk, as attackers could restore the snapshot in their own AWS account and gain full access to the database contents. This could lead to data leaks, compliance violations, and unauthorized access to sensitive business information. To prevent data exposure, NeptuneDB snapshots should be restricted using IAM policies and AWS resource-based permissions, ensuring that only authorized users and services can access and manage database backups securely.

2.3.19Ensure Neptune Cluster is not using a public subnet1
Attributes
Title

Neptune Cluster is not using a public subnet

Weight

10

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

3

Attribute Description

Amazon Neptune clusters provide a fully managed graph database service designed for applications requiring complex relationship queries. By default, Neptune clusters can be deployed in either public or private subnets. If a Neptune cluster is placed in a public subnet, it becomes accessible from the internet, significantly increasing the risk of unauthorized access and data breaches. To enhance security, Neptune clusters should only be deployed in private subnets, ensuring access is restricted to trusted VPCs, IAM roles, and security group configurations.

Additional Information

Deploying a Neptune cluster in a public subnet exposes the database endpoints to external threats, making them vulnerable to brute-force attacks, unauthorized queries, and data exfiltration. Attackers could exploit misconfigurations to gain access to sensitive graph data, leading to potential compliance violations and security incidents. To reduce exposure, Neptune clusters should be restricted to private subnets, with access controlled through VPC security groups, IAM authentication, and private endpoint configurations, ensuring secure database operations and protected data access.

2.3.20Ensure Amazon Opensearch/Elasticsearch domains are not publicly accessible1
Attributes
Title

Amazon Opensearch/Elasticsearch domains are not publicly accessible

Weight

1000

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

5

Attribute Description

Amazon OpenSearch (formerly Elasticsearch) domains provide search, analytics, and log management capabilities for applications. If an OpenSearch/Elasticsearch domain is publicly accessible, it can be reached from the internet, exposing sensitive data and administrative controls to unauthorized users. To enhance security, OpenSearch domains should be restricted to private networks, ensuring access is limited to trusted VPCs, IAM roles, or specific security group rules.

Additional Information

Publicly accessible OpenSearch/Elasticsearch domains pose a significant security risk, as attackers could execute unauthorized queries, modify data, or gain administrative control over the cluster. This could lead to data breaches, service disruptions, and compliance violations. To mitigate these risks, OpenSearch domains should be deployed in private subnets, with access controlled using VPC restrictions, fine-grained access control (FGAC), IAM policies, and security group rules, ensuring secure and isolated search and analytics operations.

2.3.21Ensure Amazon SageMaker Notebook instances have not direct internet access1
Attributes
Title

Amazon SageMaker Notebook instances have not direct internet access

Weight

10

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

3

Attribute Description

Amazon SageMaker Notebook instances provide an interactive environment for machine learning development and data analysis. By default, these instances can be configured with direct internet access, which increases the risk of unauthorized access, data leaks, and exposure to malicious external threats. To enhance security, SageMaker Notebook instances should be restricted to private networks, ensuring they are accessed only through secure VPC connections, IAM authentication, or VPNs.

Additional Information

Allowing direct internet access to SageMaker Notebook instances poses a significant security risk, as attackers could exploit misconfigurations, exfiltrate data, or inject malicious code. Publicly accessible notebooks can lead to data breaches, intellectual property theft, or compromised model training workflows. To mitigate these risks, SageMaker Notebook instances should be configured within private subnets, with internet access disabled, and restricted using security groups, IAM policies, and VPC endpoint configurations to ensure secure and controlled machine learning operations.

2.3.22Ensure that SES identities are not publicly accessible1
Attributes
Title

SES identities are not publicly accessible

Weight

100

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

4

Attribute Description

Amazon Simple Email Service (SES) identities (such as email addresses or domains) are used to send and receive emails through AWS. By default, SES identities should be restricted to authorized AWS accounts and IAM roles. If an SES identity is publicly accessible, unauthorized users could send emails using the identity, leading to email spoofing, phishing attacks, or misuse of the domain for malicious purposes. To enhance security, SES identities should be properly restricted using IAM policies and verified senders.

Additional Information

Allowing public access to SES identities creates a security and reputational risk, as attackers could impersonate the identity, send spam, or launch phishing campaigns. This could lead to domain blacklisting, compliance violations, and damage to the organization’s email reputation. To mitigate these risks, SES identities should be restricted to trusted AWS accounts and IAM roles, ensuring that only authorized services and users can send emails, protecting the integrity and security of email communications.

2.3.23Ensure SQS queues have not policy set as Public1
Attributes
Title

SQS queues have not policy set as Public

Weight

1000

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

5

Attribute Description

Amazon Simple Queue Service (SQS) queues enable asynchronous message processing between distributed systems. By default, SQS queues should be restricted to authorized AWS accounts and IAM roles. If an SQS queue has a public policy, it allows anyone on the internet to send, receive, or delete messages, leading to data leaks, unauthorized message injection, and potential denial-of-service (DoS) attacks. To enhance security, SQS queue policies should be configured to allow access only to trusted AWS accounts, IAM roles, or specific AWS services.

Additional Information

Publicly accessible SQS queues pose a significant security risk, as attackers could inject malicious messages, disrupt processing workflows, or delete critical messages, leading to system failures and data integrity issues. To prevent unauthorized access, SQS policies should explicitly deny public access, enforce least privilege access control, and use IAM policies and VPC endpoint restrictions to ensure secure and controlled messaging operations.

2.3.24Ensure that there are not SSM Documents set as public1
Attributes
Title

No SSM Documents are set as public

Weight

100

Section
  1. Attack Surface
Sub Section

2.3 Application

Level Of Risk

4

Attribute Description

AWS Systems Manager (SSM) Documents define configuration, automation, and maintenance tasks for AWS resources. By default, SSM documents should be restricted to specific AWS accounts, IAM roles, or AWS services. If an SSM document is set as public, unauthorized users could access, modify, or execute automation tasks on AWS infrastructure, leading to misconfigurations, security breaches, or unintended system modifications. To enhance security, SSM documents should be kept private and assigned only to trusted AWS entities.

Additional Information

Publicly accessible SSM documents pose a significant security risk, as attackers could execute malicious commands, modify system configurations, or disrupt AWS operations. This could lead to unauthorized access, data leaks, compliance violations, or system downtime. To prevent security threats, SSM documents should explicitly deny public access, enforce least privilege permissions, and use IAM policies and resource-based access controls to ensure only trusted users and systems can manage AWS resources.

3. Logging and Monitoring2525
3.1.1Ensure CloudTrail is enabled in all regions1
Attributes
Title

CloudTrail enabled

Weight

100

Section
  1. Logging and Monitoring
Sub Section

3.1 Logging

Level Of Risk

4

Attribute Description

AWS CloudTrail is a service that records and monitors AWS API calls across an account, providing detailed logs of who performed what action, when, and from where. CloudTrail captures API activity from the AWS Management Console, SDKs, CLI, and AWS services such as CloudFormation. The logs include key details such as the identity of the API caller, timestamp, source IP address, request parameters, and response elements.

Additional Information

CloudTrail enhances security, auditing, and compliance by providing a complete history of API activities in an AWS account. Enabling a multi-region trail ensures: Detection of unauthorized activity in rarely used AWS regions. Global Service Logging is automatically enabled, capturing API calls from global services such as IAM and AWS Organizations. Tracking of all management events, ensuring that both read and write operations across AWS resources are recorded for improved security monitoring and compliance.

3.1.2Ensure CloudTrail log file validation is enabled1
Attributes
Title

CloudTrail file validation enabled

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.1 Logging

Level Of Risk

2

Attribute Description

AWS CloudTrail log file validation generates digitally signed digest files containing cryptographic hashes of each log file stored in Amazon S3. These digest files allow users to verify whether logs have been altered, deleted, or remain unchanged after being delivered by CloudTrail. Enabling log file validation ensures data integrity and auditability for security and compliance purposes.

Additional Information

Enabling log file validation enhances security by ensuring the integrity of CloudTrail logs, preventing tampering or unauthorized modifications. This helps: Detect log file alterations, ensuring logs remain trustworthy for audits and investigations. Improve compliance with frameworks that require log integrity, such as PCI DSS, SOC 2, and ISO 27001. Strengthen forensic capabilities, allowing security teams to verify log authenticity in case of a security incident.

3.1.3Ensure that server access logging is enabled on the CloudTrail S3 bucket1
Attributes
Title

Server access logging is enabled on the CloudTrail S3 bucket

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.1 Logging

Level Of Risk

2

Attribute Description

Server access logging provides detailed records of requests made to an S3 bucket, including request type, accessed resources, timestamp, and requester details. Enabling server access logging on the CloudTrail S3 bucket ensures that all interactions with CloudTrail logs are recorded, improving security visibility and auditability

Additional Information

Enabling server access logging on CloudTrail S3 buckets enhances security monitoring, incident response, and compliance by: Capturing all events affecting CloudTrail logs, helping detect unauthorized access or modifications. Providing an audit trail for forensic investigations and compliance reporting. Enhancing security workflows by storing access logs in a separate, dedicated logging bucket for improved log integrity and analysis.

3.1.4Ensure VPC flow logging is enabled in all VPCs1
Attributes
Title

VPC flow logging enabled in all VPCs

Weight

10

Section
  1. Logging and Monitoring
Sub Section

3.1 Logging

Level Of Risk

3

Attribute Description

VPC Flow Logs capture and record IP traffic information for network interfaces within a VPC, allowing administrators to monitor and analyze network activity. These logs are stored in Amazon CloudWatch Logs for retrieval and analysis. It is recommended to enable VPC Flow Logs for rejected packets to track unauthorized access attempts, misconfigurations, or potential security threats within the VPC.

Additional Information

Enabling VPC Flow Logs for rejected traffic enhances network visibility and security monitoring by detecting suspicious activity, failed connection attempts, and potential threats. These logs help identify anomalous traffic patterns, troubleshoot connectivity issues, and support incident response workflows, improving overall security posture.

3.1.5Ensure that object-level logging for write events is enabled for S3 buckets1
Attributes
Title

Object-level logging for write events is enabled for S3 buckets

Weight

1

Section
  1. Logging and Monitoring
Sub Section

3.1 Logging

Level Of Risk

1

Attribute Description

S3 object-level API operations, such as GetObject, PutObject, and DeleteObject, are classified as data events in AWS CloudTrail. By default, CloudTrail does not log data events, meaning detailed tracking of individual object interactions is not enabled. To enhance visibility and security, it is recommended to enable object-level logging for S3 buckets to monitor access and modification activities.

Additional Information

Enabling object-level logging helps organizations meet compliance requirements, enhance security monitoring, and detect unauthorized access. It allows administrators to analyze user behavior, track modifications to critical data, and respond to security incidents in real time using Amazon CloudWatch Events, ensuring greater control over S3 bucket activity.

3.1.6Ensure that object-level logging for read events is enabled for S3 buckets1
Attributes
Title

Object-level logging for read events is enabled for S3 buckets

Weight

1

Section
  1. Logging and Monitoring
Sub Section

3.1 Logging

Level Of Risk

1

Attribute Description

S3 object-level API operations, such as GetObject, PutObject, and DeleteObject, are classified as data events in AWS CloudTrail. By default, CloudTrail does not log data events, meaning individual object interactions are not tracked unless explicitly enabled. To improve security monitoring and compliance, it is recommended to enable object-level logging for S3 buckets.

Additional Information

Object-level logging enhances data security, compliance, and operational visibility by providing detailed tracking of who accessed, modified, or deleted objects within S3 buckets. This enables organizations to monitor user behavior, detect unauthorized access, and quickly respond to potential security incidents using Amazon CloudWatch Events.

3.2.1Ensure rotation for customer-created symmetric CMKs is enabled1
Attributes
Title

Rotation for customer-created symmetric CMKs enabled

Weight

10

Section
  1. Logging and Monitoring
Sub Section

3.2 Retention

Level Of Risk

3

Attribute Description

AWS Key Management Service (KMS) allows users to manage encryption keys securely. Key rotation enables the automatic replacement of the backing key (the cryptographic material tied to a customer-managed key (CMK)), ensuring continuous security without disrupting access to previously encrypted data. AWS automatically retains previous backing keys to allow seamless decryption of older data while using a newly generated key for encryption. It is recommended to enable key rotation for symmetric CMKs, as asymmetric keys do not support this feature.

Additional Information

Regularly rotating encryption keys minimizes the risk associated with key compromise by ensuring that newly encrypted data is protected with a fresh key, reducing the potential impact of an exposed key. Since AWS KMS retains prior backing keys for seamless decryption, rotation does not disrupt access to previously encrypted data. Implementing key rotation enhances security by limiting the exposure window of any single encryption key and aligning with best practices for cryptographic hygiene.

3.2.2Ensure CloudWatch Log Groups have a retention policy of specific days1
Attributes
Title

CloudWatch Log Groups have a retention policy of specific days

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.2 Retention

Level Of Risk

2

Attribute Description

AWS CloudWatch Log Groups store logs from various AWS services and applications, enabling monitoring, debugging, and security auditing. By default, CloudWatch logs are retained indefinitely, which can lead to unnecessary data storage costs and compliance risks. To manage log lifecycle effectively, it is recommended to set a retention policy for CloudWatch Log Groups, ensuring logs are retained only for a specific number of days based on operational and compliance requirements.

Additional Information

Setting a retention policy for CloudWatch logs helps balance cost management, compliance, and security. Retaining logs for too long increases storage costs and potential exposure to sensitive data, while keeping them for too short a duration can limit forensic investigations and compliance reporting. By defining a specific retention period, organizations can ensure logs are available for troubleshooting and audits while adhering to data retention best practices and regulatory requirements.

3.3.1Ensure AWS Config is enabled in all regions1
Attributes
Title

AWS Config is enabled

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

AWS Config is a service that continuously monitors, records, and evaluates configuration changes in AWS resources within an account. It tracks configuration items, relationships between resources, and changes over time, delivering logs for security analysis, change management, and compliance auditing. To ensure comprehensive monitoring, AWS Config should be enabled in all regions.

Additional Information

Enabling AWS Config in all regions improves security, visibility, and compliance by: Tracking resource changes, allowing for quick identification of misconfigurations. Supporting security audits and forensic investigations by maintaining a historical record of configurations.

3.3.2Ensure unauthorized API calls are monitored1
Attributes
Title

Unauthorized API calls are monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of API calls can be achieved by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can automatically detect and respond to unauthorized API calls, improving security visibility. It is recommended to establish a metric filter and alarm for unauthorized API calls to enhance threat detection and incident response.

Additional Information

Monitoring unauthorized API calls helps identify potential security incidents faster, reducing the time attackers have to exploit vulnerabilities. CloudWatch provides real-time monitoring and alerting, while SIEM solutions offer centralized security event analysis. Detecting unauthorized API calls early allows organizations to take immediate action, investigate potential threats, and strengthen overall AWS security posture.

3.3.3Ensure management console sign-in without MFA is monitored1
Attributes
Title

Management console sign-in without MFA is monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of AWS API calls can be implemented by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By setting up metric filters and alarms, organizations can detect and respond to security risks effectively. It is recommended to establish a metric filter and alarm for AWS console logins that are not protected by multi-factor authentication (MFA) to enhance security monitoring.

Additional Information

Monitoring console logins without MFA improves visibility into accounts that lack strong authentication controls. Accounts without MFA are more vulnerable to credential theft, brute-force attacks, and unauthorized access. By detecting these login attempts in real-time, organizations can identify security gaps, enforce MFA policies, and reduce the risk of account compromise.

3.3.4Ensure usage of the root account is monitored1
Attributes
Title

Usage of root account monitored

Weight

10

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

3

Attribute Description

Real-time monitoring of AWS API calls can be achieved by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. Setting up metric filters and alarms helps detect potential security threats. It is recommended to establish a metric filter and alarm for root account login attempts to identify unauthorized access or improper use of the highly privileged root account.

Additional Information

Monitoring root account logins enhances visibility into the usage of the most privileged AWS account, which should be used only in exceptional cases. Frequent or unauthorized root logins increase security risks by exposing critical administrative controls. Detecting root login attempts in real time enables organizations to identify potential security incidents, enforce least privilege principles, and limit unnecessary use of the root account.

3.3.5Ensure IAM policy changes are monitored1
Attributes
Title

IAM policy changes are monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of AWS API calls can be implemented by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can detect critical security events. It is recommended to establish a metric filter and alarm for changes to Identity and Access Management (IAM) policies to track modifications that could affect authentication and authorization controls.

Additional Information

Monitoring IAM policy changes helps ensure that access controls remain secure and intact. Unauthorized or unintended modifications to IAM policies can lead to privilege escalation, misconfigurations, and security breaches. Detecting these changes in real-time allows organizations to respond quickly to potential threats, enforce least privilege principles, and maintain a strong security posture.

3.3.6Ensure CloudTrail configuration changes are monitored1
Attributes
Title

CloudTrail configuration changes are monitored

Weight

10

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

3

Attribute Description

Real-time monitoring of AWS API calls can be implemented by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can track critical security events. It is recommended to establish a metric filter and alarm to detect changes to CloudTrail configurations, ensuring that logging remains active and tamper-proof.

Additional Information

Monitoring CloudTrail configuration changes helps maintain continuous visibility into AWS account activity. Unauthorized modifications to CloudTrail settings could disable or alter logging, potentially allowing malicious activity to go undetected. Detecting these changes in real time enables organizations to quickly respond to threats, enforce security best practices, and ensure compliance with auditing requirements.

3.3.7Ensure AWS Management Console authentication failures are monitored1
Attributes
Title

AWS Management Console authentication failures are monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of AWS API calls can be implemented by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By setting up metric filters and alarms, organizations can detect potential security threats. It is recommended to establish a metric filter and alarm for failed console authentication attempts to identify potential unauthorized access attempts or brute-force attacks.

Additional Information

Monitoring failed console logins helps detect brute-force attempts and unauthorized access attempts early. Repeated failed authentication attempts can indicate malicious activity, and tracking them allows security teams to identify suspicious IP addresses, correlate with other security events, and take proactive measures to protect AWS accounts.

3.3.8Ensure disabling or scheduled deletion of customer created CMKs is monitored1
Attributes
Title

Disabling or scheduled deletion of customer created CMKs is monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of AWS API calls can be achieved by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can detect security-critical changes. It is recommended to set up a metric filter and alarm for customer-managed KMS keys (CMKs) that are disabled or scheduled for deletion to prevent unintended encryption key loss.

Additional Information

Disabling or deleting a customer-managed CMK can render encrypted data permanently inaccessible, leading to data loss and service disruptions. Monitoring CMK state changes helps detect unauthorized or accidental modifications, ensuring encryption keys remain available and aligned with security policies. Detecting such changes in real time allows organizations to prevent data loss, maintain compliance, and take corrective action if needed.

3.3.9Ensure S3 bucket policy changes are monitored1
Attributes
Title

S3 bucket policy changes are monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of AWS API calls can be implemented by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can track critical security-related changes. It is recommended to set up a metric filter and alarm for modifications to S3 bucket policies to detect potential misconfigurations or unauthorized access changes.

Additional Information

Monitoring S3 bucket policy changes helps detect and respond to overly permissive configurations that could expose sensitive data. Unauthorized or accidental modifications may grant public access or excessive permissions, increasing the risk of data breaches and compliance violations. Real-time alerts allow security teams to quickly identify, investigate, and correct risky policy changes, reducing exposure and strengthening data security.

3.3.10Ensure AWS Config configuration changes are monitored1
Attributes
Title

AWS Config configuration changes are monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of AWS API calls can be implemented by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can detect critical configuration changes. It is recommended to establish a metric filter and alarm for modifications to AWS Config’s configurations to ensure continuous monitoring and compliance.

Additional Information

Monitoring AWS Config configuration changes helps maintain visibility and control over resource configurations. Unauthorized or accidental modifications to AWS Config settings may result in gaps in security monitoring, misconfigurations going undetected, and compliance violations. Real-time alerts allow security teams to quickly detect, investigate, and respond to changes, ensuring the integrity of configuration tracking across the AWS environment.

3.3.11Ensure security group changes are monitored1
Attributes
Title

Security group changes are monitored

Weight

10

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

3

Attribute Description

Real-time monitoring of AWS API calls can be implemented by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. Security groups act as stateful packet filters that control inbound and outbound traffic within a VPC. It is recommended to establish a metric filter and alarm to detect changes to security groups to prevent unauthorized modifications that could expose resources to security threats.

Additional Information

Monitoring security group changes helps ensure that network access controls remain secure and that AWS resources are not unintentionally exposed. Unauthorized or accidental modifications to security groups can create security gaps, increasing the risk of data breaches and unauthorized access. Real-time alerts enable security teams to detect, investigate, and respond to security group changes quickly, maintaining a strong network security posture.

3.3.12Ensure Network Access Control List (NACL) changes are monitored1
Attributes
Title

Network Access Control List (NACL) changes are monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of AWS API calls can be implemented by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. Network Access Control Lists (NACLs) act as stateless packet filters that control inbound and outbound traffic for subnets within a VPC. It is recommended to establish a metric filter and alarm to detect changes to NACLs to prevent unauthorized modifications that could compromise network security.

Additional Information

Monitoring NACL changes helps ensure that network traffic controls remain properly configured and that AWS resources are not unintentionally exposed. Unauthorized or accidental modifications to NACL rules can lead to misconfigured security policies, increased attack surfaces, and potential data breaches. Real-time alerts enable security teams to detect, investigate, and respond to NACL modifications quickly, maintaining strong network security controls.

3.3.13Ensure changes to network gateways are monitored1
Attributes
Title

Changes to network gateways are monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of AWS API calls can be implemented by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. Network gateways serve as the primary route for traffic entering and leaving a VPC, facilitating communication with external networks. It is recommended to establish a metric filter and alarm for changes to network gateways to ensure that network traffic is securely routed through controlled paths.

Additional Information

Monitoring network gateway changes helps maintain secure ingress and egress traffic flows within a VPC. Unauthorized or accidental modifications to network gateways can disrupt connectivity, introduce security vulnerabilities, or expose AWS resources to external threats. Real-time alerts enable security teams to detect, investigate, and respond to changes quickly, ensuring that all traffic follows a controlled and secure routing policy.

3.3.14Ensure route table changes are monitored1
Attributes
Title

Route table changes are monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of AWS API calls can be achieved by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. Route tables determine how network traffic is directed between subnets and network gateways within a VPC. It is recommended to establish a metric filter and alarm for changes to route tables to detect unauthorized or accidental modifications that could impact network security and connectivity.

Additional Information

Monitoring route table changes ensures that VPC traffic follows the intended and secure routing paths. Unauthorized modifications can result in misrouted traffic, exposure of sensitive resources, or connectivity disruptions. Real-time alerts enable security teams to detect, investigate, and respond to route table changes promptly, preventing potential security risks and maintaining a controlled and secure network environment.

3.3.15Ensure VPC changes are monitored1
Attributes
Title

VPC changes are monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of AWS API calls can be implemented by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. AWS accounts can contain multiple Virtual Private Clouds (VPCs), and VPC peering connections allow network traffic to flow between them. It is recommended to establish a metric filter and alarm for changes made to VPC configurations to detect unauthorized modifications that could impact network security and connectivity.

Additional Information

Monitoring VPC configuration changes helps ensure network integrity, security, and proper traffic flow within AWS environments. Unauthorized or accidental modifications can result in misconfigured routing, unintended internet exposure, or connectivity disruptions between resources. Real-time alerts enable security teams to detect, investigate, and respond to VPC changes promptly, preventing security risks and ensuring consistent network accessibility and isolation.

3.3.16Ensure AWS Organizations changes are monitored1
Attributes
Title

AWS Organizations changes are monitored

Weight

8

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

2

Attribute Description

Real-time monitoring of AWS API calls can be achieved by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. AWS Organizations allows centralized management of multiple AWS accounts, and modifications to its configuration can significantly impact access control, account governance, and security policies. It is recommended to establish a metric filter and alarm for changes made to AWS Organizations in the master AWS account to detect unauthorized or unintended modifications.

Additional Information

Monitoring AWS Organizations configuration changes helps prevent unwanted, accidental, or malicious modifications that could lead to unauthorized access, policy misconfigurations, or security breaches. Detecting changes in real time ensures that unexpected modifications can be investigated and remediated quickly, reducing the risk of compromised governance structures and ensuring compliance with organizational security policies.

3.3.17Ensure AWS Security Hub is enabled1
Attributes
Title

Security Hub enabled

Weight

10

Section
  1. Logging and Monitoring
Sub Section

3.3 Monitoring

Level Of Risk

3

Attribute Description

AWS Security Hub centralizes security data from multiple AWS services and third-party security tools, allowing for real-time threat detection, risk assessment, and compliance monitoring. When enabled, Security Hub aggregates, organizes, and prioritizes security findings from services such as Amazon GuardDuty, Amazon Inspector, and Amazon Macie, as well as integrated third-party security products. This provides organizations with a unified security management platform to enhance threat visibility.

Additional Information

Enabling AWS Security Hub provides a comprehensive view of your security posture, helping to identify vulnerabilities, detect threats, and enforce security best practices. It allows organizations to monitor security trends, benchmark environments against industry standards, and quickly respond to high-priority security issues, strengthening overall AWS security governance and compliance.

4. Encryption66
4.1.1Ensure S3 Bucket Policy is set to deny HTTP requests1
Attributes
Title

S3 bucket deny HTTP requests

Weight

10

Section
  1. Encryption
Sub Section

4.1 In-Transit

Level Of Risk

3

Attribute Description

Amazon S3 bucket permissions can be configured using a bucket policy to enforce access restrictions. To enhance security, objects within the bucket should be made accessible only via HTTPS, ensuring encrypted data transmission.

Additional Information

By default, Amazon S3 accepts both HTTP and HTTPS requests, which can expose data to interception. To enforce secure access, HTTP requests should be explicitly denied in the bucket policy. Simply allowing HTTPS without blocking HTTP does not fully comply with security best practices, as unencrypted requests may still be accepted.

4.1.2Ensure that EC2 Metadata Service only allows IMDSv21
Attributes
Title

EC2 Metadata Service only allows IMDSv2

Weight

100

Section
  1. Encryption
Sub Section

4.1 In-Transit

Level Of Risk

4

Attribute Description

AWS EC2 instances allow users to choose between Instance Metadata Service Version 1 (IMDSv1), which uses a request/response model, or Instance Metadata Service Version 2 (IMDSv2), which uses a session-based approach for enhanced security

Additional Information

Instance metadata refers to the data about an EC2 instance, such as host names, events, and security groups, that is used for managing and configuring the instance. When enabling the Metadata Service, users can opt for either IMDSv1, which operates via a simple request/response model, or IMDSv2, which implements session authentication for additional security. With IMDSv2, each request is secured by session-based authentication, ensuring that all interactions with the instance's metadata and credentials are protected. IMDSv1, on the other hand, may expose instances to Server-Side Request Forgery (SSRF) attacks. To improve security, Amazon recommends using IMDSv2

4.1.3Ensure that all expired SSL/TLS certificates stored in AWS IAM are removed1
Attributes
Title

Expired SSL/TLS certificates removed

Weight

1000

Section
  1. Encryption
Sub Section

4.1 In-Transit

Level Of Risk

5

Attribute Description

To enable HTTPS connections for applications and websites hosted on AWS, an SSL/TLS server certificate is required. AWS provides two options for managing certificates: AWS Certificate Manager (ACM) – The preferred method for managing SSL/TLS certificates, automating renewals and deployment. IAM Certificate Storage – Used only when deploying SSL/TLS certificates in regions not supported by ACM. IAM securely encrypts private keys and stores them, but certificates must be obtained from an external provider. ACM certificates cannot be uploaded to IAM, and IAM certificates cannot be managed from the IAM Console.

Additional Information

Removing expired SSL/TLS certificates prevents the accidental deployment of invalid certificates, which could cause service disruptions, security warnings, and loss of credibility for applications using AWS services like Elastic Load Balancer (ELB). As a best practice, expired certificates should be deleted to maintain a secure and trusted application environment.

4.2.1Ensure EBS volume encryption is enabled in all regions1
Attributes
Title

EBS volume encryption

Weight

10

Section
  1. Encryption
Sub Section

4.2 At-Rest

Level Of Risk

3

Attribute Description

Amazon Elastic Compute Cloud (EC2) supports encryption at rest for Elastic Block Store (EBS) volumes, ensuring that stored data remains protected. While EBS encryption is disabled by default, organizations can enforce automatic encryption of newly created volumes to enhance data security and compliance.

Additional Information

Enforcing EBS volume encryption reduces the risk of data exposure, unauthorized access, and compliance violations. If encryption remains intact, even if storage is compromised, data remains unreadable to unauthorized users. Encrypting data at rest ensures that sensitive information is protected against accidental disclosure, insider threats, and external attacks.

4.2.2Ensure that encryption-at-rest is enabled for RDS instances1
Attributes
Title

RDS instances encryption at rest enabled

Weight

10

Section
  1. Encryption
Sub Section

4.2 At-Rest

Level Of Risk

3

Attribute Description

Amazon Relational Database Service (RDS) supports encryption at rest using the industry-standard AES-256 encryption algorithm to secure database instances and their associated storage. Once enabled, RDS encryption automatically handles access authentication and decryption, ensuring secure data storage with minimal performance impact.

Additional Information

Databases often contain sensitive and business-critical information, making encryption essential to protect against unauthorized access and data breaches. Enabling RDS encryption ensures that underlying storage, automated backups, read replicas, and snapshots are all encrypted, preventing accidental or malicious data exposure while maintaining compliance with security best practices.

4.2.3Ensure CloudTrail logs are encrypted at rest using KMS CMKs1
Attributes
Title

CloudTrail logs are encrypted at rest using KMS CMKs

Weight

10

Section
  1. Encryption
Sub Section

4.2 At-Rest

Level Of Risk

3

Attribute Description

AWS CloudTrail records API activity across an AWS account, and its logs contain sensitive security and operational data. AWS Key Management Service (KMS) provides encryption key management using customer-managed keys (CMKs) and Hardware Security Modules (HSMs) to ensure secure key storage and usage. CloudTrail logs can be encrypted using Server-Side Encryption (SSE) with KMS (SSE-KMS) to add an extra layer of protection and access control

Additional Information

Using SSE-KMS encryption for CloudTrail logs enhances security by adding an extra layer of access control. This ensures that only authorized users with both S3 read permissions and KMS decryption rights can access log data, protecting sensitive security information from unauthorized access or tampering. It also helps maintain compliance with security and regulatory standards by enforcing strict encryption controls.