Skip to main content

CIS Amazon Web Services Foundations Benchmark

Overview

Center for Internet Security (CIS) provides set of best practices and security recommendations which is referred to as Amazon Web Services (AWS) Foundations Benchmark. These benchmarks are provided for enhancing the security of the AWS environments.

Purpose

The CIS AWS Foundations Benchmark serves as a crucial resource for organizations looking to establish a strong security foundation in their AWS infrastructure. It offers a well-defined and widely-recognized set of security guidelines tailored specifically for AWS environments. The primary purposes of this benchmark are:

  1. Security Enhancement: The benchmark is designed to assist organizations in proactively identifying and addressing security vulnerabilities, misconfigurations, and best practices that are essential to the security of AWS resources.

  2. Compliance Alignment: In a rapidly evolving regulatory landscape, the benchmark helps organizations align with industry and regulatory compliance requirements by providing detailed security recommendations.

  3. Standardization: By offering a universally accepted set of best practices, the benchmark encourages the adoption of standardized security practices across AWS environments, ensuring consistency and uniformity in security configurations.

Importance

Securing AWS resources is of paramount importance for several reasons:

  • Data Protection: AWS environments often handle sensitive data, and inadequate security measures can result in data breaches and loss.

  • Operational Continuity: Security incidents can disrupt operations and lead to downtime, making a secure AWS environment essential for maintaining business continuity.

  • Reputation and Trust: Security incidents can damage an organization's reputation and erode trust among customers and partners. Implementing robust security measures is crucial for maintaining trust and integrity.

  • Legal and Regulatory Compliance: Many industries and jurisdictions have stringent data protection and security regulations. Non-compliance can lead to legal consequences and liabilities.

By adhering to the recommendations outlined in the CIS AWS Foundations Benchmark, organizations can significantly bolster the security of their AWS cloud resources, protect their assets, and mitigate potential security threats effectively.

How BOS targets CIS AWS Foundations Benchmarks v2.0.0

Benchmark IndexCIS Benchmark RecommendationBOS Env Template SupportsBOS Pipeline Template SupportsBOS DefaultComments
1.0Identity and Access Management
1.1Maintain current contact detailsYesNANoConfigurable with BOS Template. Not applied in default as account owners should be responsible for maintaining current contact details.
1.10Ensure multi-factor authentication (MFA) is enabled for all IAM users that have a console passwordNANANAWe are not creating any user for template which has console access enabled.

This falls outside the scope of current BOS Template.
1.11Do not setup access keys during initial user setup for all IAM users that have a console passwordNANANAWe are not creating any user for template which has console access enabled.

This falls outside the scope of current BOS Template.
1.12Ensure credentials unused for 45 days or greater are disabledNANANAWe are not creating any user for template which has console access enabled.
1.13Ensure there is only one active access key available for any single IAM userYesNoYesIAM Users created by ENV Template has only one active access key
1.14Ensure access keys are rotated every 90 days or lessYesNoYesIAM Users created by ENV Template has the provision to rotate access keys with a parameter
1.15Ensure IAM Users Receive Permissions Only Through GroupsYesNoYesWe give permissions to iam users created through groups.
1.16Ensure IAM policies that allow full "*:*" administrative privileges are not attachedYesNoYesENV Template follows standard security advice to grant least privilege, IAM policies created by ENV template does not allow full "*:*" administrative privileges
1.17Ensure a support role has been created to manage incidents with AWS SupportNANANAThis falls outside the scope of current BOS Template.
1.18Ensure IAM instance roles are used for AWS resource access from instancesYesNoYesWe create instance role for any ec2 created from ENV Template
1.19Ensure that all the expired SSL/TLS certificates stored in AWS IAM are removedNANANAWe are making use of certificates from ACM not from IAM. We have provision to remove certificate or update certificate in ACM through our ENV template parameters.
1.2Ensure security contact information is registeredYesNANoConfigurable with BOS Template. Not applied in default as account owners should be responsible for maintaining security contact details.
1.20Ensure that IAM Access analyser is enabled for all regionsYesNoYesWe create IAM Access analyser as part of the environment.
1.21Ensure IAM users are managed centrally via identity federation or AWS Organizations for multi-account environmentsNANANAThis falls outside the scope of current BOS Template.
1.22Ensure access to AWSCloudShellFullAccess is restrictedNANANAWe are not using AWSCloudShellFullAccess Policy in our templates
1.3Ensure security questions are registered in the AWS accountNANANAWe need to setup authentication using secret questions for root user.

This is an AWS Account configuration, not relating to specific environment.
1.4Ensure no 'root' user account access key existsNANANAUsers created by BOS Template are non root and have the provision to renew access key. Users created outside the BOS template does not fall in the scope.
1.5Ensure MFA is enabled for the 'root' user accountNANANAWe should setup MFA for the 'root' user.

This falls outside the scope of current BOS Template
1.6Ensure hardware MFA is enabled for the 'root' user accountNANANAWe should setup Hardware MFA for the 'root' user.

This falls outside the scope of current BOS Template.
1.7Eliminate use of the 'root' user for administrative and daily tasksNANANAWe don't use Root user for our templates to run.
1.8Ensure IAM password policy requires minimum length of 14 or greaterYesNoYesConfigurable with BOS Template with parameters.
1.9Ensure IAM password policy prevents password reuseYesNoYesConfigurable with BOS Template with parameters.
2.1Simple Storage Service (S3)
2.1.1Ensure S3 Bucket Policy is set to deny HTTP requestsYesNoYesOur template provisions s3 which deny HTTP requests.
2.1.2Ensure MFA Delete is enabled on S3 bucketsNANANAThis feature works best outside of ENV Template.
2.1.3Ensure all data in Amazon S3 has been discovered, classified and secured when required.YesNoNoOur template has the provision to enable/disable Amazon Macie to discover data from s3

Not enabled in default to limit cost
2.1.4Ensure that S3 Buckets are configured with 'Block public access (bucket settings)'YesNoYesOur template provisions s3 which blocks all public access.
2.2Elastic Compute Cloud (EC2)
2.2.1Ensure EBS Volume Encryption is Enabled in all RegionsYesNoYesOur template provisions EBS Volumes which are encrypted.
2.3Relational Database Service (RDS)
2.3.1Ensure that encryption-at-rest is enabled for RDS InstancesYesNoYesWe are encrypting the RDS instances with CMK
2.3.2Ensure Auto Minor Version Upgrade feature is Enabled for RDS InstancesYesNoYesWe have provision to enable with our ENV template parameters.
2.3.3Ensure that public access is not given to RDS InstanceYesNoYesWe have disabled public access.
2.4Elastic File System (EFS)
2.4.1Ensure that encryption is enabled for EFS file systemsNANANAWe are not making use of any EFS file systems yet.
3.0Logging
3.1Ensure CloudTrail is enabled in all regionsYesNoYesWe have provision to enable this with our ENV template parameters.
3.10Ensure that Object-level logging for write events is enabled for S3 bucketYesNoYesWe have provision to enable this with our ENV template parameters.
3.11Ensure that Object-level logging for read events is enabled for S3 bucketYesNoYesWe have provision to enable this with our ENV template parameters.
3.2Ensure CloudTrail log file validation is enabledYesNoYesWe have provision to enable this with our ENV template parameters.
3.3Ensure the S3 bucket used to store CloudTrail logs is not publicly accessibleYesNoYesOur template provisions s3 which blocks all public access.
3.4Ensure CloudTrail trails are integrated with CloudWatch LogsYesNoYesWe have provision to enable this with our ENV template parameters.
3.5Ensure AWS Config is enabled in all regionsYesNoNoWe have provision to enable this with our ENV template parameters.

Not enabled in default to limit cost
3.6Ensure S3 bucket access logging is enabled on the CloudTrail S3 bucketYesNoYesWe have provision to enable this with our ENV template parameters.
3.7Ensure CloudTrail logs are encrypted at rest using KMS CMKsYesNoYesWe encrypt the s3 where logs are stored and CloudTrail with keys stored in KMS
3.8Ensure rotation for customer created symmetric CMKs is enabledYesNoYesWe have provision to enable this with our ENV template parameters.
3.9Ensure VPC flow logging is enabled in all VPCsYesNoYesWe have provision to enable this with our ENV template parameters.
4.0Monitoring
4.1Ensure unauthorized API calls are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.10Ensure security group changes are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.11Ensure Network Access Control Lists (NACL) changes are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.12Ensure changes to network gateways are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.13Ensure route table changes are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.14Ensure VPC changes are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.15Ensure AWS Organizations changes are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.16Ensure AWS Security Hub is enabledYesNoNoBOS ENV Template supports enablement of security hub with an parameter

Not enabled in default to limit cost
4.2Ensure management console sign-in without MFA is monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.3Ensure usage of 'root' account is monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.4Ensure IAM policy changes are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.5Ensure CloudTrail configuration changes are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.6Ensure AWS Management Console authentication failures are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.7Ensure disabling or scheduled deletion of customer created CMKs is monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.8Ensure S3 bucket policy changes are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
4.9Ensure AWS Config configuration changes are monitoredYesNoYesBOS ENV Template configures an alert to monitor this.
5.0Networking
5.1Ensure no Network ACLs allow ingress from 0.0.0.0/0 to remote server administration portsNANANAWe are making use if security groups instead of ACLs
5.2Ensure no security groups allow ingress from 0.0.0.0/0 to remote server administration portsYesNoYesWe are not making use of any 0.0.0.0/0 for remote server administration in any security groups
5.3Ensure no security groups allow ingress from ::/0 to remote server administration portsYesNoYesWe are not making use of any 0.0.0.0/0 for remote server administration in any security groups
5.4Ensure the default security group of every VPC restricts all trafficYesNAYesOur template creates VPC with default security group rules which restricts all traffic
5.5Ensure routing tables for VPC peering are "least access"NANANAWe are not establishing any VPC Peering
5.6Ensure that EC2 Metadata Service only allows IMDSv2YesNoYesInstance Metadata Service Version 2 (IMDSv2) is allowed through our ENV Template parameter.