Operational Best Practices for NERC CIP - AWS Config

Operational Best Practices for NERC CIP

Conformance packs provide a general-purpose compliance framework designed to enable you to create security, operational or cost-optimization governance checks using managed or custom AWS Config rules and AWS Config remediation actions. Conformance Packs, as sample templates, are not designed to fully ensure compliance with a specific governance or compliance standard. You are responsible for making your own assessment of whether your use of the Services meets applicable legal and regulatory requirements.

The following provides a sample mapping between the North American Electric Reliability Corporation Critical Infrastructure Protection Standards (NERC CIP) AWS managed Config rules. Each AWS Config rule applies to a specific AWS resource, and relates to one or more NERC CIP controls. A NERC CIP control can be related to multiple Config rules. Refer to the table below for more detail and guidance related to these mappings.

AWS Region: All supported AWS Regions except Middle East (Bahrain)

Control ID Control Description AWS Config Rule Guidance
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

dms-replication-not-public

Manage access to the AWS Cloud by ensuring DMS replication instances cannot be publicly accessed. DMS replication instances can contain sensitive information and access control is required for such accounts.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

ebs-snapshot-public-restorable-check

Manage access to the AWS Cloud by ensuring EBS snapshots are not publicly restorable. EBS volume snapshots can contain sensitive information and access control is required for such accounts.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

ec2-instance-no-public-ip

Manage access to the AWS Cloud by ensuring Amazon Elastic Compute Cloud (Amazon EC2) instances cannot be publicly accessed. Amazon EC2 instances can contain sensitive information and access control is required for such accounts.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

elasticsearch-in-vpc-only

Manage access to the AWS Cloud by ensuring Amazon OpenSearch Service (OpenSearch Service) Domains are within an Amazon Virtual Private Cloud (Amazon VPC). An OpenSearch Service domain within an Amazon VPC enables secure communication between OpenSearch Service and other services within the Amazon VPC without the need for an internet gateway, NAT device, or VPN connection.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

no-unrestricted-route-to-igw

Ensure Amazon EC2 route tables do not have unrestricted routes to an internet gateway. Removing or limiting the access to the internet for workloads within Amazon VPCs can reduce unintended access within your environment.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

s3-bucket-level-public-access-prohibited

Manage access to resources in the AWS Cloud by ensuring that Amazon Simple Storage Service (Amazon S3) buckets cannot be publicly accessed. This rule helps keeping sensitive data safe from unauthorized remote users by preventing public access at the bucket level.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

subnet-auto-assign-public-ip-disabled

Manage access to the AWS Cloud by ensuring Amazon Virtual Private Cloud (VPC) subnets are not automatically assigned a public IP address. Amazon Elastic Compute Cloud (EC2) instances that are launched into subnets that have this attribute enabled have a public IP address assigned to their primary network interface.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

autoscaling-launch-config-public-ip-disabled

If you configure your Network Interfaces with a public IP address, then the associated resources to those Network Interfaces are reachable from the internet. EC2 resources should not be publicly accessible, as this may allow unintended access to your applications or servers.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

ssm-document-not-public

Ensure AWS Systems Manager (SSM) documents are not public, as this may allow unintended access to your SSM documents. A public SSM document can expose information about your account, resources and internal processes.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

emr-master-no-public-ip

Manage access to the AWS Cloud by ensuring Amazon EMR cluster master nodes cannot be publicly accessed. Amazon EMR cluster master nodes can contain sensitive information and access control is required for such accounts.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

restricted-ssh

Amazon Elastic Compute Cloud (Amazon EC2) Security Groups can help manage network access by providing stateful filtering of ingress and egress network traffic to AWS resources. Not allowing ingress (or remote) traffic from 0.0.0.0/0 to port 22 on your resources help you restricting remote access.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

ec2-instances-in-vpc

Deploy Amazon Elastic Compute Cloud (Amazon EC2) instances within an Amazon Virtual Private Cloud (Amazon VPC) to enable secure communication between an instance and other services within the amazon VPC, without requiring an internet gateway, NAT device, or VPN connection. All traffic remains securely within the AWS Cloud. Because of their logical isolation, domains that reside within an Amazon VPC have an extra layer of security when compared to domains that use public endpoints. Assign Amazon EC2 instances to an Amazon VPC to properly manage access.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

internet-gateway-authorized-vpc-only

Manage access to resources in the AWS Cloud by ensuring that internet gateways are only attached to authorized Amazon Virtual Private Cloud (Amazon VPC). Internet gateways allow bi-directional internet access to and from the Amazon VPC that can potentially lead to unauthorized access to Amazon VPC resources.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

lambda-function-public-access-prohibited

Manage access to resources in the AWS Cloud by ensuring AWS Lambda functions cannot be publicly accessed. Public access can potentially lead to degradation of availability of resources.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

lambda-inside-vpc

Deploy AWS Lambda functions within an Amazon Virtual Private Cloud (Amazon VPC) for a secure communication between a function and other services within the Amazon VPC. With this configuration, there is no requirement for an internet gateway, NAT device, or VPN connection. All the traffic remains securely within the AWS Cloud. Because of their logical isolation, domains that reside within an Amazon VPC have an extra layer of security when compared to domains that use public endpoints. To properly manage access, AWS Lambda functions should be assigned to a VPC.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

rds-instance-public-access-check

Manage access to resources in the AWS Cloud by ensuring that Amazon Relational Database Service (Amazon RDS) instances are not public. Amazon RDS database instances can contain sensitive information, and principles and access control is required for such accounts.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

rds-snapshots-public-prohibited

Manage access to resources in the AWS Cloud by ensuring that Amazon Relational Database Service (Amazon RDS) instances are not public. Amazon RDS database instances can contain sensitive information and principles and access control is required for such accounts.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

redshift-cluster-public-access-check

Manage access to resources in the AWS Cloud by ensuring that Amazon Redshift clusters are not public. Amazon Redshift clusters can contain sensitive information and principles and access control is required for such accounts.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

restricted-common-ports

Manage access to resources in the AWS Cloud by ensuring common ports are restricted on Amazon Elastic Compute Cloud (Amazon EC2) security groups. Not restricting access to ports to trusted sources can lead to attacks against the availability, integrity and confidentiality of systems. This rule allows you to optionally set blockedPort1 - blockedPort5 parameters (Config Defaults: 20,21,3389,3306,4333). The actual values should reflect your organization's policies.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

s3-account-level-public-access-blocks-periodic

Manage access to resources in the AWS Cloud by ensuring that Amazon Simple Storage Service (Amazon S3) buckets cannot be publicly accessed. This rule helps keeping sensitive data safe from unauthorized remote users by preventing public access. This rule allows you to optionally set the ignorePublicAcls (Config Default: True), blockPublicPolicy (Config Default: True), blockPublicAcls (Config Default: True), and restrictPublicBuckets parameters (Config Default: True). The actual values should reflect your organization's policies.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

s3-bucket-public-read-prohibited

Manage access to resources in the AWS Cloud by only allowing authorized users, processes, and devices access to Amazon Simple Storage Service (Amazon S3) buckets. The management of access should be consistent with the classification of the data.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

s3-bucket-public-write-prohibited

Manage access to resources in the AWS Cloud by only allowing authorized users, processes, and devices access to Amazon Simple Storage Service (Amazon S3) buckets. The management of access should be consistent with the classification of the data.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

sagemaker-notebook-no-direct-internet-access

Manage access to resources in the AWS Cloud by ensuring that Amazon SageMaker notebooks do not allow direct internet access. By preventing direct internet access, you can keep sensitive data from being accessed by unauthorized users.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

vpc-default-security-group-closed

Amazon Elastic Compute Cloud (Amazon EC2) security groups can help in the management of network access by providing stateful filtering of ingress and egress network traffic to AWS resources. Restricting all the traffic on the default security group helps in restricting remote access to your AWS resources.
CIP-003-8-Attachment 1-Section 3.1 Electronic Access Controls: For each asset containing low impact BES Cyber System(s) identified pursuant to CIP-002, the Responsible Entity shall implement electronic access controls to: 3.1 Permit only necessary inbound and outbound electronic access as determined by the Responsible Entity for any communications that are: ii. using a routable protocol when entering or leaving the asset containing the low impact BES Cyber System(s).

vpc-sg-open-only-to-authorized-ports

Manage access to resources in the AWS Cloud by ensuring common ports are restricted on Amazon Elastic Compute Cloud (Amazon EC2) Security Groups. Not restricting access on ports to trusted sources can lead to attacks against the availability, integrity and confidentiality of systems. By restricting access to resources within a security group from the internet (0.0.0.0/0) remote access can be controlled to internal systems.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

emr-kerberos-enabled

The access permissions and authorizations can be managed and incorporated with the principles of least privilege and separation of duties, by enabling Kerberos for Amazon EMR clusters. In Kerberos, the services and the users that need to authenticate are known as principals. The principals exist within a Kerberos realm. Within the realm, a Kerberos server is known as the key distribution center (KDC). It provides a means for the principals to authenticate. The KDC authenticates by issuing tickets for authentication. The KDC maintains a database of the principals within its realm, their passwords, and other administrative information about each principal.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

iam-group-has-users-check

AWS Identity and Access Management (IAM) can help you incorporate the principles of least privilege and separation of duties with access permissions and authorizations, by ensuring that IAM groups have at least one IAM user. Placing IAM users in groups based on their associated permissions or job function is one way to incorporate least privilege.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

iam-policy-no-statements-with-admin-access

AWS Identity and Access Management (IAM) can help you incorporate the principles of least privilege and separation of duties with access permissions and authorizations, restricting policies from containing "Effect": "Allow" with "Action": "*" over "Resource": "*". Allowing users to have more privileges than needed to complete a task may violate the principle of least privilege and separation of duties.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

iam-root-access-key-check

Access to systems and assets can be controlled by checking that the root user does not have access keys attached to their AWS Identity and Access Management (IAM) role. Ensure that the root access keys are deleted. Instead, create and use role-based AWS accounts to help to incorporate the principle of least functionality.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

iam-user-group-membership-check

AWS Identity and Access Management (IAM) can help you restrict access permissions and authorizations, by ensuring IAM users are members of at least one group. Allowing users more privileges than needed to complete a task may violate the principle of least privilege and separation of duties.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

iam-user-no-policies-check

This rule ensures AWS Identity and Access Management (IAM) policies are attached only to groups or roles to control access to systems and assets. Assigning privileges at the group or the role level helps to reduce opportunity for an identity to receive or retain excessive privileges.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

iam-user-unused-credentials-check

AWS Identity and Access Management (IAM) can help you with access permissions and authorizations by checking for IAM passwords and access keys that are not used for a specified time period. If these unused credentials are identified, you should disable and/or remove the credentials, as this may violate the principle of least privilege. This rule requires you to set a value to the maxCredentialUsageAge (Config Default: 90). The actual value should reflect your organization's policies.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

dms-replication-not-public

Manage access to the AWS Cloud by ensuring DMS replication instances cannot be publicly accessed. DMS replication instances can contain sensitive information and access control is required for such accounts.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

ebs-snapshot-public-restorable-check

Manage access to the AWS Cloud by ensuring EBS snapshots are not publicly restorable. EBS volume snapshots can contain sensitive information and access control is required for such accounts.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

iam-customer-policy-blocked-kms-actions

AWS Identity and Access Management (IAM) can help you incorporate the principles of least privilege and separation of duties with access permissions and authorizations, restricting policies from containing blocked actions on all AWS Key Management Service keys. Having more privileges than needed to complete a task may violate the principle of least privilege and separation of duties. This rule allows you to set the blockedActionsPatterns parameter. (AWS Foundational Security Best Practices value: kms:Decrypt, kms:ReEncryptFrom). The actual values should reflect your organization's policies
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

iam-inline-policy-blocked-kms-actions

Ensure an AWS Identity and Access Management (IAM) user, IAM role or IAM group does not have an inline policy to allow blocked actions on all AWS Key Management Service keys. AWS recommends to use managed policies instead of inline policies. The managed policies allow reusability, versioning, rolling back, and delegating permissions management. This rule allows you to set the blockedActionsPatterns parameter. (AWS Foundational Security Best Practices value: kms:Decrypt, kms:ReEncryptFrom). The actual values should reflect your organization's policies.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

iam-no-inline-policy-check

Ensure an AWS Identity and Access Management (IAM) user, IAM role or IAM group does not have an inline policy to control access to systems and assets. AWS recommends to use managed policies instead of inline policies. The managed policies allow reusability, versioning and rolling back, and delegating permissions management.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

ec2-instance-profile-attached

EC2 instance profiles pass an IAM role to an EC2 instance. Attaching an instance profile to your instances can assist with least privilege and permissions management.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

iam-policy-no-statements-with-full-access

Ensure IAM Actions are restricted to only those actions that are needed. Allowing users to have more privileges than needed to complete a task may violate the principle of least privilege and separation of duties.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

ecs-task-definition-user-for-host-mode-check

If a task definition has elevated privileges it is because the customer has specifically opted-in to those configurations. This control checks for unexpected privilege escalation when a task definition has host networking enabled but the customer has not opted-in to elevated privileges.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

no-unrestricted-route-to-igw

Ensure Amazon EC2 route tables do not have unrestricted routes to an internet gateway. Removing or limiting the access to the internet for workloads within Amazon VPCs can reduce unintended access within your environment.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

s3-bucket-level-public-access-prohibited

Manage access to resources in the AWS Cloud by ensuring that Amazon Simple Storage Service (Amazon S3) buckets cannot be publicly accessed. This rule helps keeping sensitive data safe from unauthorized remote users by preventing public access at the bucket level.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

subnet-auto-assign-public-ip-disabled

Manage access to the AWS Cloud by ensuring Amazon Virtual Private Cloud (VPC) subnets are not automatically assigned a public IP address. Amazon Elastic Compute Cloud (EC2) instances that are launched into subnets that have this attribute enabled have a public IP address assigned to their primary network interface.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

autoscaling-launch-config-public-ip-disabled

If you configure your Network Interfaces with a public IP address, then the associated resources to those Network Interfaces are reachable from the internet. EC2 resources should not be publicly accessible, as this may allow unintended access to your applications or servers.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

s3-account-level-public-access-blocks-periodic

Manage access to resources in the AWS Cloud by ensuring that Amazon Simple Storage Service (Amazon S3) buckets cannot be publicly accessed. This rule helps keeping sensitive data safe from unauthorized remote users by preventing public access. This rule allows you to optionally set the ignorePublicAcls (Config Default: True), blockPublicPolicy (Config Default: True), blockPublicAcls (Config Default: True), and restrictPublicBuckets parameters (Config Default: True). The actual values should reflect your organization's policies.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

ssm-document-not-public

Ensure AWS Systems Manager (SSM) documents are not public, as this may allow unintended access to your SSM documents. A public SSM document can expose information about your account, resources and internal processes.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

lambda-function-public-access-prohibited

Manage access to resources in the AWS Cloud by ensuring AWS Lambda functions cannot be publicly accessed. Public access can potentially lead to degradation of availability of resources.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

rds-instance-public-access-check

Manage access to resources in the AWS Cloud by ensuring that Amazon Relational Database Service (Amazon RDS) instances are not public. Amazon RDS database instances can contain sensitive information, and principles and access control is required for such accounts.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

rds-snapshots-public-prohibited

Manage access to resources in the AWS Cloud by ensuring that Amazon Relational Database Service (Amazon RDS) instances are not public. Amazon RDS database instances can contain sensitive information and principles and access control is required for such accounts.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

redshift-cluster-public-access-check

Manage access to resources in the AWS Cloud by ensuring that Amazon Redshift clusters are not public. Amazon Redshift clusters can contain sensitive information and principles and access control is required for such accounts.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

s3-account-level-public-access-blocks-periodic

Manage access to resources in the AWS Cloud by ensuring that Amazon Simple Storage Service (Amazon S3) buckets cannot be publicly accessed. This rule helps keeping sensitive data safe from unauthorized remote users by preventing public access. This rule allows you to optionally set the ignorePublicAcls (Config Default: True), blockPublicPolicy (Config Default: True), blockPublicAcls (Config Default: True), and restrictPublicBuckets parameters (Config Default: True). The actual values should reflect your organization's policies.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

s3-bucket-public-read-prohibited

Manage access to resources in the AWS Cloud by only allowing authorized users, processes, and devices access to Amazon Simple Storage Service (Amazon S3) buckets. The management of access should be consistent with the classification of the data.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

s3-bucket-public-write-prohibited

Manage access to resources in the AWS Cloud by only allowing authorized users, processes, and devices access to Amazon Simple Storage Service (Amazon S3) buckets. The management of access should be consistent with the classification of the data.
CIP-004-6-R4-Part 4.1.1 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.1. Electronic access.

sagemaker-notebook-no-direct-internet-access

Manage access to resources in the AWS Cloud by ensuring that Amazon SageMaker notebooks do not allow direct internet access. By preventing direct internet access, you can keep sensitive data from being accessed by unauthorized users.
CIP-004-6-R4-Part 4.1.3 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.3. Access to designated storage locations, whether physical or electronic, for BES Cyber System Information.

s3-bucket-policy-grantee-check

Manage access to the AWS Cloud by enabling s3_ bucket_policy_grantee_check. This rule checks that the access granted by the Amazon S3 bucket is restricted by any of the AWS principals, federated users, service principals, IP addresses, or Amazon Virtual Private Cloud (Amazon VPC) IDs that you provide.
CIP-004-6-R4-Part 4.1.3 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.3. Access to designated storage locations, whether physical or electronic, for BES Cyber System Information.

s3-bucket-public-read-prohibited

Manage access to resources in the AWS Cloud by only allowing authorized users, processes, and devices access to Amazon Simple Storage Service (Amazon S3) buckets. The management of access should be consistent with the classification of the data.
CIP-004-6-R4-Part 4.1.3 Each Responsible Entity shall implement one or more documented access management program(s) that collectively include each of the applicable requirement parts in CIP‐004‐6 Table R4 – Access Management Program. 4.1.3. Access to designated storage locations, whether physical or electronic, for BES Cyber System Information.

s3-bucket-public-write-prohibited

Manage access to resources in the AWS Cloud by only allowing authorized users, processes, and devices access to Amazon Simple Storage Service (Amazon S3) buckets. The management of access should be consistent with the classification of the data.
CIP-005-6-R1-Part 2.3 Each Responsible Entity shall implement one or more documented processes that collectively include the applicable requirement parts, where technically feasible, in CIP-005-6 Table R2 – Remote Access Management. Part 2.3: Require multi-factor authentication for all Interactive Remote Access sessions.

iam-user-mfa-enabled

Enable this rule to restrict access to resources in the AWS Cloud. This rule ensures multi-factor authentication (MFA) is enabled for all IAM users. MFA adds an extra layer of protection on top of a user name and password. Reduce the incidents of compromised accounts by requiring MFA for IAM users.
CIP-005-6-R1-Part 2.3 Each Responsible Entity shall implement one or more documented processes that collectively include the applicable requirement parts, where technically feasible, in CIP-005-6 Table R2 – Remote Access Management. Part 2.3: Require multi-factor authentication for all Interactive Remote Access sessions

mfa-enabled-for-iam-console-access

Manage access to resources in the AWS Cloud by ensuring that MFA is enabled for all AWS Identity and Access Management (IAM) users that have a console password. MFA adds an extra layer of protection on top of a user name and password. By requiring MFA for IAM users, you can reduce incidents of compromised accounts and keep sensitive data from being accessed by unauthorized users.
CIP-005-6-R1-Part 2.3 Each Responsible Entity shall implement one or more documented processes that collectively include the applicable requirement parts, where technically feasible, in CIP-005-6 Table R2 – Remote Access Management. Part 2.3: Require multi-factor authentication for all Interactive Remote Access sessions

root-account-hardware-mfa-enabled

Manage access to resources in the AWS Cloud by ensuring hardware MFA is enabled for the root user. The root user is the most privileged user in an AWS account. The MFA adds an extra layer of protection for a user name and password. By requiring MFA for the root user, you can reduce the incidents of compromised AWS accounts.
CIP-005-6-R1-Part 2.3 Each Responsible Entity shall implement one or more documented processes that collectively include the applicable requirement parts, where technically feasible, in CIP-005-6 Table R2 – Remote Access Management. Part 2.3: Require multi-factor authentication for all Interactive Remote Access sessions

root-account-mfa-enabled

Manage access to resources in the AWS Cloud by ensuring MFA is enabled for the root user. The root user is the most privileged user in an AWS account. The MFA adds an extra layer of protection for a user name and password. By requiring MFA for the root user, you can reduce the incidents of compromised AWS accounts.
CIP-007-6-R1-Part 1.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R1 – Ports and Services. Part 1.1: Where technically feasible, enable only logical network accessible ports that have been determined to be needed by the Responsible Entity, including port ranges or services where needed to handle dynamic ports. If a device has no provision for disabling or restricting logical ports on the device then those ports that are open are deemed needed.

ec2-instance-no-public-ip

Manage access to the AWS Cloud by ensuring Amazon Elastic Compute Cloud (Amazon EC2) instances cannot be publicly accessed. Amazon EC2 instances can contain sensitive information and access control is required for such accounts.
CIP-007-6-R1-Part 1.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R1 – Ports and Services. Part 1.1: Where technically feasible, enable only logical network accessible ports that have been determined to be needed by the Responsible Entity, including port ranges or services where needed to handle dynamic ports. If a device has no provision for disabling or restricting logical ports on the device then those ports that are open are deemed needed.

emr-master-no-public-ip

Manage access to the AWS Cloud by ensuring Amazon EMR cluster master nodes cannot be publicly accessed. Amazon EMR cluster master nodes can contain sensitive information and access control is required for such accounts.
CIP-007-6-R1-Part 1.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R1 – Ports and Services. Part 1.1: Where technically feasible, enable only logical network accessible ports that have been determined to be needed by the Responsible Entity, including port ranges or services where needed to handle dynamic ports. If a device has no provision for disabling or restricting logical ports on the device then those ports that are open are deemed needed.

restricted-ssh

Amazon Elastic Compute Cloud (Amazon EC2) Security Groups can help manage network access by providing stateful filtering of ingress and egress network traffic to AWS resources. Not allowing ingress (or remote) traffic from 0.0.0.0/0 to port 22 on your resources help you restricting remote access.
CIP-007-6-R1-Part 1.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R1 – Ports and Services. Part 1.1: Where technically feasible, enable only logical network accessible ports that have been determined to be needed by the Responsible Entity, including port ranges or services where needed to handle dynamic ports. If a device has no provision for disabling or restricting logical ports on the device then those ports that are open are deemed needed.

restricted-common-ports

Manage access to resources in the AWS Cloud by ensuring common ports are restricted on Amazon Elastic Compute Cloud (Amazon EC2) security groups. Not restricting access to ports to trusted sources can lead to attacks against the availability, integrity and confidentiality of systems. This rule allows you to optionally set blockedPort1 - blockedPort5 parameters (Config Defaults: 20,21,3389,3306,4333). The actual values should reflect your organization's policies.
CIP-007-6-R1-Part 1.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R1 – Ports and Services. Part 1.1: Where technically feasible, enable only logical network accessible ports that have been determined to be needed by the Responsible Entity, including port ranges or services where needed to handle dynamic ports. If a device has no provision for disabling or restricting logical ports on the device then those ports that are open are deemed needed.

vpc-default-security-group-closed

Amazon Elastic Compute Cloud (Amazon EC2) security groups can help in the management of network access by providing stateful filtering of ingress and egress network traffic to AWS resources. Restricting all the traffic on the default security group helps in restricting remote access to your AWS resources.
CIP-007-6-R1-Part 1.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R1 – Ports and Services. Part 1.1: Where technically feasible, enable only logical network accessible ports that have been determined to be needed by the Responsible Entity, including port ranges or services where needed to handle dynamic ports. If a device has no provision for disabling or restricting logical ports on the device then those ports that are open are deemed needed.

vpc-sg-open-only-to-authorized-ports

Manage access to resources in the AWS Cloud by ensuring common ports are restricted on Amazon Elastic Compute Cloud (Amazon EC2) Security Groups. Not restricting access on ports to trusted sources can lead to attacks against the availability, integrity and confidentiality of systems. By restricting access to resources within a security group from the internet (0.0.0.0/0) remote access can be controlled to internal systems.
CIP-007-6-R2-Part 2.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R2 – Security Patch Management. Part 2.1: A patch management process for tracking, evaluating, and installing cyber security patches for applicable Cyber Assets. The tracking portion shall include the identification of a source or sources that the Responsible Entity tracks for the release of cyber security patches for applicable Cyber Assets that are updateable and for which a patching source exists.

guardduty-non-archived-findings

Amazon GuardDuty helps you understand the impact of an incident by classifying findings by severity: low, medium, and high. You can use these classifications for determining remediation strategies and priorities. This rule allows you to optionally set the daysLowSev (Config Default: 30), daysMediumSev (Config Default: 7), and daysHighSev (Config Default: 1) for non-archived findings, as required by your organization's policies.
CIP-007-6-R2-Part 2.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R2 – Security Patch Management. Part 2.1: A patch management process for tracking, evaluating, and installing cyber security patches for applicable Cyber Assets. The tracking portion shall include the identification of a source or sources that the Responsible Entity tracks for the release of cyber security patches for applicable Cyber Assets that are updateable and for which a patching source exists.

ec2-managedinstance-patch-compliance-status-check

Enable this rule to help with identification and documentation of Amazon Elastic Compute Cloud (Amazon EC2) vulnerabilities. The rule checks if Amazon EC2 instance patch compliance in AWS Systems Manager as required by your organization's policies and procedures.
CIP-007-6-R2-Part 2.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R2 – Security Patch Management. Part 2.1: A patch management process for tracking, evaluating, and installing cyber security patches for applicable Cyber Assets. The tracking portion shall include the identification of a source or sources that the Responsible Entity tracks for the release of cyber security patches for applicable Cyber Assets that are updateable and for which a patching source exists.

redshift-cluster-maintenancesettings-check

This rule ensures that Amazon Redshift clusters have the preferred settings for your organization. Specifically, that they have preferred maintenance windows and automated snapshot retention periods for the database. This rule requires you to set the allowVersionUpgrade. The default is true. It also lets you optionally set the preferredMaintenanceWindow (the default is sat:16:00-sat:16:30), and the automatedSnapshotRetentionPeriod (the default is 1). The actual values should reflect your organization's policies.
CIP-007-6-R2-Part 2.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R2 – Security Patch Management. Part 2.1: A patch management process for tracking, evaluating, and installing cyber security patches for applicable Cyber Assets. The tracking portion shall include the identification of a source or sources that the Responsible Entity tracks for the release of cyber security patches for applicable Cyber Assets that are updateable and for which a patching source exists.

elastic-beanstalk-managed-updates-enabled

Enabling managed platform updates for an Amazon Elastic Beanstalk environment ensures that the latest available platform fixes, updates, and features for the environment are installed. Keeping up to date with patch installation is a best practice in securing systems.
CIP-007-6-R2-Part 2.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R2 – Security Patch Management. Part 2.1: A patch management process for tracking, evaluating, and installing cyber security patches for applicable Cyber Assets. The tracking portion shall include the identification of a source or sources that the Responsible Entity tracks for the release of cyber security patches for applicable Cyber Assets that are updateable and for which a patching source exists.

ec2-managedinstance-association-compliance-status-check

Use AWS Systems Manager Associations to help with inventory of software platforms and applications within an organization. AWS Systems Manager assigns a configuration state to your managed instances and allows you to set baselines of operating system patch levels, software installations, application configurations, and other details about your environment.
CIP-007-6-R3-Part 3.1-2 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R2 – Security Patch Management. Part 3.1: Deploy method(s) to deter, detect, or prevent malicious code. Part 3.2: Mitigate the threat of detected malicious code.

guardduty-enabled-centralized

Amazon GuardDuty can help to monitor and detect potential cybersecurity events by using threat intelligence feeds. These include lists of malicious IPs and machine learning to identify unexpected, unauthorized, and malicious activity within your AWS Cloud environment.
CIP-007-6-R3-Part 3.1-2 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R2 – Security Patch Management. Part 3.1: Deploy method(s) to deter, detect, or prevent malicious code. Part 3.2: Mitigate the threat of detected malicious code.

alb-waf-enabled

Ensure AWS WAF is enabled on Elastic Load Balancers (ELB) to help protect web applications. A WAF helps to protect your web applications or APIs against common web exploits. These web exploits may affect availability, compromise security, or consume excessive resources within your environment.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

cloudtrail-enabled

AWS CloudTrail can help in non-repudiation by recording AWS Management Console actions and API calls. You can identify the users and AWS accounts that called an AWS service, the source IP address where the calls generated, and the timings of the calls. Details of captured data are seen within AWS CloudTrail Record Contents.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

api-gw-execution-logging-enabled

API Gateway logging displays detailed views of users who accessed the API and the way they accessed the API. This insight enables visibility of user activities.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

elasticsearch-logs-to-cloudwatch

Ensure Amazon OpenSearch Service domains have error logs enabled and streamed to Amazon CloudWatch Logs for retention and response. Domain error logs can assist with security and access audits, and can help to diagnose availability issues.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

cloud-trail-cloud-watch-logs-enabled

Use Amazon CloudWatch to centrally collect and manage log event activity. Inclusion of AWS CloudTrail data provides details of API call activity within your AWS account.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

cloudtrail-s3-dataevents-enabled

The collection of Simple Storage Service (Amazon S3) data events helps in detecting any anomalous activity. The details include AWS account information that accessed an Amazon S3 bucket, IP address, and time of event.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

elb-logging-enabled

Elastic Load Balancing activity is a central point of communication within an environment. Ensure ELB logging is enabled. The collected data provides detailed information about requests sent to the ELB. Each log contains information such as the time the request was received, the client's IP address, latencies, request paths, and server responses.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

multi-region-cloudtrail-enabled

AWS CloudTrail records AWS Management Console actions and API calls. You can identify which users and accounts called AWS, the source IP address from where the calls were made, and when the calls occurred. CloudTrail will deliver log files from all AWS Regions to your S3 bucket if MULTI_REGION_CLOUD_TRAIL_ENABLED is enabled. Additionally, when AWS launches a new Region, CloudTrail will create the same trail in the new Region. As a result, you will receive log files containing API activity for the new Region without taking any action.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

redshift-cluster-configuration-check

To protect data at rest, ensure that encryption is enabled for your Amazon Redshift clusters. You must also ensure that required configurations are deployed on Amazon Redshift clusters. The audit logging should be enabled to provide information about connections and user activities in the database. This rule requires that a value is set for clusterDbEncrypted (Config Default : TRUE), and loggingEnabled (Config Default: TRUE). The actual values should reflect your organization's policies.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

s3-bucket-logging-enabled

Amazon Simple Storage Service (Amazon S3) server access logging provides a method to monitor the network for potential cybersecurity events. The events are monitored by capturing detailed records for the requests that are made to an Amazon S3 bucket. Each access log record provides details about a single access request. The details include the requester, bucket name, request time, request action, response status, and an error code, if relevant.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

vpc-flow-logs-enabled

The VPC flow logs provide detailed records for information about the IP traffic going to and from network interfaces in your Amazon Virtual Private Cloud (Amazon VPC). By default, the flow log record includes values for the different components of the IP flow, including the source, destination, and protocol.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

rds-logging-enabled

To help with logging and monitoring within your environment, ensure Amazon Relational Database Service (Amazon RDS) logging is enabled. With Amazon RDS logging, you can capture events such as connections, disconnections, queries, or tables queried.
CIP-007-6-R4-Part 4.1 Each Responsible Entity shall implement one or more documented process(es)that collectively include each of the applicable requirement parts in CIP-007-6 Table R4 – Security Event Monitoring. Part 4.1: Log events at the BES Cyber System level (per BES Cyber System capability) or at the Cyber Asset level (per Cyber Asset capability) for identification of, and after-the-fact investigations of, Cyber Security Incidents that includes, as a minimum, each of the following types of events: 4.1.1. Detected successful login attempts; 4.1.2. Detected failed access attempts and failed login attempts; 4.1.3. Detected malicious code.

wafv2-logging-enabled

To help with logging and monitoring within your environment, enable AWS WAF (V2) logging on regional and global web ACLs. AWS WAF logging provides detailed information about the traffic that is analyzed by your web ACL. The logs record the time that AWS WAF received the request from your AWS resource, information about the request, and an action for the rule that each request matched.
CIP-007-6-R4-Part 4.3 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP‐007‐6 Table R4 – Security Event Monitoring. Part 4.3: Where technically feasible, retain applicable event logs identified in Part 4.1 for at least the last 90 consecutive calendar days except under CIP Exceptional Circumstances.

cw-loggroup-retention-period-check

Ensure a minimum duration of event log data is retained for your log groups to help with troubleshooting and forensics investigations. The lack of available past event log data makes it difficult to reconstruct and identify potentially malicious events.
CIP-007-6-R5-Part 5.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-007-6 Table R5 – System Access Controls. Part 5.1: Have a method(s) to enforce authentication of interactive user access, where technically feasible.

iam-password-policy

The identities and the credentials are issued, managed, and verified based on an organizational IAM password policy. They meet or exceed requirements as stated by NIST SP 800-63 and the AWS Foundational Security Best Practices standard for password strength. This rule allows you to optionally set RequireUppercaseCharacters (AWS Foundational Security Best Practices value: true), RequireLowercaseCharacters (AWS Foundational Security Best Practices value: true), RequireSymbols (AWS Foundational Security Best Practices value: true), RequireNumbers (AWS Foundational Security Best Practices value: true), MinimumPasswordLength (AWS Foundational Security Best Practices value: 14), PasswordReusePrevention (AWS Foundational Security Best Practices value: 24), and MaxPasswordAge (AWS Foundational Security Best Practices value: 90) for your IAM Password Policy. The actual values should reflect your organization's policies.
CIP-008-6-R1-Part 1.1 Each Each Responsible Entity shall document one or more Cyber Security Incident response plan(s) that collectively include each of the applicable requirement parts in CIP-008-6 Table R1 – Cyber Security Incident Response Plan Specifications. Part 1.1: One or more processes to identify, classify, and respond to Cyber Security Incidents. response-plan-exists-maintained (process check) Ensure incident response plans are established, maintained, and distributed to responsible personnel.
CIP-008-6-R1-Part 2.1 Each Responsible Entity shall implement each of its documented Cyber Security Incident response plans to collectively include each of the applicable requirement parts in CIP-008-6 Table R2 – Cyber Security Incident Response Plan Implementation and Testing. Part 2.1: Test each Cyber Security Incident response plan(s) at least once every 15 calendar months: •By responding to an actual Reportable Cyber Security Incident;•With a paper drill or tabletop exercise of a Reportable Cyber Security Incident; or•With an operational exercise of a Reportable Cyber Security Incident. response-plan-tested (process check) Ensure Incident response and recovery plans are tested. This can assist in understanding if your plan will be effective during an incident and if any gaps or updates need to be addressed.
CIP-009-6-R1-Part 1.3 Each Responsible Entity shall have one or more documented recovery plans that collectively include each of the applicable requirement parts in CIP‐009‐6 Table R1 – Recovery Plan Specifications. Part 1.3: One or more processes for the backup and storage of information required to recover BES Cyber System functionality.

db-instance-backup-enabled

The backup feature of Amazon RDS creates backups of your databases and transaction logs. Amazon RDS automatically creates a storage volume snapshot of your DB instance, backing up the entire DB instance. The system allows you to set specific retention periods to meet your resilience requirements.
CIP-009-6-R1-Part 1.3 Each Responsible Entity shall have one or more documented recovery plans that collectively include each of the applicable requirement parts in CIP‐009‐6 Table R1 – Recovery Plan Specifications. Part 1.3: One or more processes for the backup and storage of information required to recover BES Cyber System functionality.

dynamodb-in-backup-plan

To help with data back-up processes, ensure your Amazon DynamoDB tables are a part of an AWS Backup plan. AWS Backup is a fully managed backup service with a policy-based backup solution. This solution simplifies your backup management and enables you to meet your business and regulatory backup compliance requirements.
CIP-009-6-R1-Part 1.3 Each Responsible Entity shall have one or more documented recovery plans that collectively include each of the applicable requirement parts in CIP‐009‐6 Table R1 – Recovery Plan Specifications. Part 1.3: One or more processes for the backup and storage of information required to recover BES Cyber System functionality.

dynamodb-pitr-enabled

Enable this rule to check that information has been backed up. It also maintains the backups by ensuring that point-in-time recovery is enabled in Amazon DynamoDB. The recovery maintains continuous backups of your table for the last 35 days.
CIP-009-6-R1-Part 1.3 Each Responsible Entity shall have one or more documented recovery plans that collectively include each of the applicable requirement parts in CIP‐009‐6 Table R1 – Recovery Plan Specifications. Part 1.3: One or more processes for the backup and storage of information required to recover BES Cyber System functionality.

ebs-in-backup-plan

To help with data back-up processes, ensure your Amazon Elastic Block Store (Amazon EBS) volumes are a part of an AWS Backup plan. AWS Backup is a fully managed backup service with a policy-based backup solution. This solution simplifies your backup management and enables you to meet your business and regulatory backup compliance requirements.
CIP-009-6-R1-Part 1.3 Each Responsible Entity shall have one or more documented recovery plans that collectively include each of the applicable requirement parts in CIP‐009‐6 Table R1 – Recovery Plan Specifications. Part 1.3: One or more processes for the backup and storage of information required to recover BES Cyber System functionality.

efs-in-backup-plan

To help with data back-up processes, ensure your Amazon Elastic File System (Amazon EFS) file systems are a part of an AWS Backup plan. AWS Backup is a fully managed backup service with a policy-based backup solution. This solution simplifies your backup management and enables you to meet your business and regulatory backup compliance requirements.
CIP-009-6-R1-Part 1.3 Each Responsible Entity shall have one or more documented recovery plans that collectively include each of the applicable requirement parts in CIP‐009‐6 Table R1 – Recovery Plan Specifications. Part 1.3: One or more processes for the backup and storage of information required to recover BES Cyber System functionality.

elasticache-redis-cluster-automatic-backup-check

When automatic backups are enabled, Amazon ElastiCache creates a backup of the cluster on a daily basis. The backup can be retained for a number of days as specified by your organization. Automatic backups can help guard against data loss. If a failure occurs, you can create a new cluster, which restores your data from the most recent backup.
CIP-009-6-R1-Part 1.3 Each Responsible Entity shall have one or more documented recovery plans that collectively include each of the applicable requirement parts in CIP‐009‐6 Table R1 – Recovery Plan Specifications. Part 1.3: One or more processes for the backup and storage of information required to recover BES Cyber System functionality.

rds-in-backup-plan

To help with data back-up processes, ensure your Amazon Relational Database Service (Amazon RDS) instances are a part of an AWS Backup plan. AWS Backup is a fully managed backup service with a policy-based backup solution. This solution simplifies your backup management and enables you to meet your business and regulatory backup compliance requirements.
CIP-009-6-R1-Part 1.3 Each Responsible Entity shall have one or more documented recovery plans that collectively include each of the applicable requirement parts in CIP‐009‐6 Table R1 – Recovery Plan Specifications. Part 1.3: One or more processes for the backup and storage of information required to recover BES Cyber System functionality.

s3-bucket-replication-enabled

Amazon Simple Storage Service (Amazon S3) Cross-Region Replication (CRR) supports maintaining adequate capacity and availability. CRR enables automatic, asynchronous copying of objects across Amazon S3 buckets to help ensure that data availability is maintained.
CIP-009-6-R1-Part 1.3 Each Responsible Entity shall have one or more documented recovery plans that collectively include each of the applicable requirement parts in CIP‐009‐6 Table R1 – Recovery Plan Specifications. Part 1.3: One or more processes for the backup and storage of information required to recover BES Cyber System functionality.

redshift-backup-enabled

To help with data back-up processes, ensure your Amazon Redshift clusters have automated snapshots. When automated snapshots are enabled for a cluster, Redshift periodically takes snapshots of that cluster. By default, Redshift takes a snapshot every eight hours or every 5 GB per node of data changes, or whichever comes first.
CIP-009-6-R1-Part 1.3 Each Responsible Entity shall have one or more documented recovery plans that collectively include each of the applicable requirement parts in CIP‐009‐6 Table R1 – Recovery Plan Specifications. Part 1.3: One or more processes for the backup and storage of information required to recover BES Cyber System functionality.

s3-bucket-versioning-enabled

Amazon Simple Storage Service (Amazon S3) bucket versioning helps keep multiple variants of an object in the same Amazon S3 bucket. Use versioning to preserve, retrieve, and restore every version of every object stored in your Amazon S3 bucket. Versioning helps you to easily recover from unintended user actions and application failures.
CIP-009-6-R1-Part 1.3 Each Responsible Entity shall have one or more documented recovery plans that collectively include each of the applicable requirement parts in CIP‐009‐6 Table R1 – Recovery Plan Specifications. Part 1.3: One or more processes for the backup and storage of information required to recover BES Cyber System functionality.

s3-bucket-default-lock-enabled

Ensure that your Amazon Simple Storage Service (Amazon S3) bucket has lock enabled, by default. Because sensitive data can exist at rest in S3 buckets, enforce object locks at rest to help protect that data.
CIP-010-3-R1-Part 1.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-010-3 Table R1 – Configuration Change Management. Part 1.1: Develop a baseline configuration, individually or by group, which shall include the following items: 1.1.1.Operating system(s) (including version) or firmware where no independent operating system exists; 1.1.2.Any commercially available or open-source application software (including version) intentionally installed;1.1.3.Any custom software installed; 1.1.4.Any logical network accessible ports; and1.1.5.Any security patches applied.

ec2-instance-managed-by-systems-manager

An inventory of the software platforms and applications within the organization is possible by managing Amazon Elastic Compute Cloud (Amazon EC2) instances with AWS Systems Manager. Use AWS Systems Manager to provide detailed system configurations, operating system patch levels, services name and type, software installations, application name, publisher and version, and other details about your environment.
CIP-010-3-R1-Part 1.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-010-3 Table R1 – Configuration Change Management. Part 1.1: Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-010-3 Table R1 – Configuration Change Management. Part 1.1 Develop a baseline configuration, individually or by group, which shall include the following items: 1.1.1.Operating system(s) (including version) or firmware where no independent operating system exists; 1.1.2.Any commercially available or open-source application software (including version) intentionally installed;1.1.3.Any custom software installed; 1.1.4.Any logical network accessible ports; and1.1.5.Any security patches applied.

ec2-managedinstance-association-compliance-status-check

Use AWS Systems Manager Associations to help with inventory of software platforms and applications within an organization. AWS Systems Manager assigns a configuration state to your managed instances and allows you to set baselines of operating system patch levels, software installations, application configurations, and other details about your environment.
CIP-010-3-R1-Part 3.1 Each Responsible Entity shall implement one or more documented process(es) that collectively include each of the applicable requirement parts in CIP-010-3 Table R3– Vulnerability Assessments. Part 3.1: At least once every 15 calendar months, conduct a paper or active vulnerability assessment. vuln-management-plan-exists (process check) Ensure a vulnerability management plan is developed and implemented in order to have a formally defined processes to address vulnerabilities in your environment.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

acm-certificate-expiration-check

Ensure network integrity is protected by ensuring X509 certificates are issued by AWS ACM. These certificates must be valid and unexpired. This rule requires a value for daysToExpiration (AWS Foundational Security Best Practices value: 90). The actual value should reflect your organization's policies.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

alb-http-drop-invalid-header-enabled

Ensure that your Elastic Load Balancers (ELB) are configured to drop http headers. Because sensitive data can exist, enable encryption in transit to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

alb-http-to-https-redirection-check

To help protect data in transit, ensure that your Application Load Balancer automatically redirects unencrypted HTTP requests to HTTPS. Because sensitive data can exist, enable encryption in transit to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

api-gw-cache-enabled-and-encrypted

To help protect data at rest, ensure encryption is enabled for your API Gateway stage's cache. Because sensitive data can be captured for the API method, enable encryption at rest to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

cloud-trail-encryption-enabled

Because sensitive data may exist and to help protect data at rest, ensure encryption is enabled for your AWS CloudTrail trails.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

cloudwatch-log-group-encrypted

To help protect sensitive data at rest, ensure encryption is enabled for your Amazon CloudWatch Log Groups.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

cmk-backing-key-rotation-enabled

Enable key rotation to ensure that keys are rotated once they have reached the end of their crypto period.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

dynamodb-table-encrypted-kms

Ensure that encryption is enabled for your Amazon DynamoDB tables. Because sensitive data can exist at rest in these tables, enable encryption at rest to help protect that data. By default, DynamoDB tables are encrypted with an AWS owned customer master key (CMK).
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

ec2-ebs-encryption-by-default

To help protect data at rest, ensure that encryption is enabled for your Amazon Elastic Block Store (Amazon EBS) volumes. Because sensitive data can exist at rest in these volumes, enable encryption at rest to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

efs-encrypted-check

Because sensitive data can exist and to help protect data at rest, ensure encryption is enabled for your Amazon Elastic File System (EFS).
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

elasticsearch-encrypted-at-rest

Because sensitive data can exist and to help protect data at rest, ensure encryption is enabled for your Amazon OpenSearch Service (OpenSearch Service) domains.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

elasticsearch-node-to-node-encryption-check

Ensure node-to-node encryption for Amazon OpenSearch Service is enabled. Node-to-node encryption enables TLS 1.2 encryption for all communications within the Amazon Virtual Private Cloud (Amazon VPC). Because sensitive data can exist, enable encryption in transit to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

elb-acm-certificate-required

Because sensitive data can exist and to help protect data at transit, ensure encryption is enabled for your Elastic Load Balancing. Use AWS Certificate Manager to manage, provision and deploy public and private SSL/TLS certificates with AWS services and internal resources.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

elb-tls-https-listeners-only

Ensure that your Elastic Load Balancers (ELBs) are configured with SSL or HTTPS listeners. Because sensitive data can exist, enable encryption in transit to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

encrypted-volumes

Because sensitive data can exist and to help protect data at rest, ensure encryption is enabled for your Amazon Elastic Block Store (Amazon EBS) volumes.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

kms-cmk-not-scheduled-for-deletion

To help protect data at rest, ensure necessary customer master keys (CMKs) are not scheduled for deletion in AWS Key Management Service (AWS KMS). Because key deletion is necessary at times, this rule can assist in checking for all keys scheduled for deletion, in case a key was scheduled unintentionally.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

rds-snapshot-encrypted

Ensure that encryption is enabled for your Amazon Relational Database Service (Amazon RDS) snapshots. Because sensitive data can exist at rest, enable encryption at rest to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

rds-storage-encrypted

To help protect data at rest, ensure that encryption is enabled for your Amazon Relational Database Service (Amazon RDS) instances. Because sensitive data can exist at rest in Amazon RDS instances, enable encryption at rest to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

redshift-cluster-configuration-check

To protect data at rest, ensure that encryption is enabled for your Amazon Redshift clusters. You must also ensure that required configurations are deployed on Amazon Redshift clusters. The audit logging should be enabled to provide information about connections and user activities in the database. This rule requires that a value is set for clusterDbEncrypted (Config Default : TRUE), and loggingEnabled (Config Default: TRUE). The actual values should reflect your organization's policies.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

redshift-require-tls-ssl

Ensure that your Amazon Redshift clusters require TLS/SSL encryption to connect to SQL clients. Because sensitive data can exist, enable encryption in transit to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

s3-bucket-server-side-encryption-enabled

To help protect data at rest, ensure encryption is enabled for your Amazon Simple Storage Service (Amazon S3) buckets. Because sensitive data can exist at rest in Amazon S3 buckets, enable encryption to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

s3-bucket-ssl-requests-only

To help protect data in transit, ensure that your Amazon Simple Storage Service (Amazon S3) buckets require requests to use Secure Socket Layer (SSL). Because sensitive data can exist, enable encryption in transit to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

s3-default-encryption-kms

Ensure that encryption is enabled for your Amazon Simple Storage Service (Amazon S3) buckets. Because sensitive data can exist at rest in an Amazon S3 bucket, enable encryption at rest to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

sagemaker-endpoint-configuration-kms-key-configured

To help protect data at rest, ensure encryption with AWS Key Management Service (AWS KMS) is enabled for your SageMaker endpoint. Because sensitive data can exist at rest in SageMaker endpoint, enable encryption at rest to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

sagemaker-notebook-instance-kms-key-configured

To help protect data at rest, ensure encryption with AWS Key Management Service (AWS KMS) is enabled for your SageMaker notebook. Because sensitive data can exist at rest in SageMaker notebook, enable encryption at rest to help protect that data.
CIP-011-2-R1-Part 1.2 Each Responsible Entity shall implement one or more documented information protection program(s)that collectively includes each of the applicable requirement parts in CIP-011-2 Table R1 – Information Protection.Part 1.2: Procedure(s) for protecting and securely handling BES Cyber System Information, including storage, transit, and use.

sns-encrypted-kms

To help protect data at rest, ensure that your Amazon Simple Notification Service (Amazon SNS) topics require encryption using AWS Key Management Service (AWS KMS). Because sensitive data can exist at rest in published messages, enable encryption at rest to help protect that data.

Template

The template is available on GitHub: Operational Best Practices for NERC CIP.