Scan Infrastructure for Runtime Misconfigurations

Description

Cloud misconfigurations occur when resources have not been constructed properly, leaving your systems vulnerable to attack. Cloud environment misconfigurations can cause system outages, unwanted downtime, or security risks. Causes can include overly complex environments, insufficient security practice knowledge, and human error due to manual processes.

Stack layerSecurity domainSecurity tool initiated by this item
Cloud SecurityCloud runtime scanningProwler

Integration requirements

Depending on your specific cloud provider(s), you must perform one or more of the following integrations before you can activate this security control.

AWS checklist

This security requirement runs the following checks:

Cloud ServiceChecks
IAMEnsure no root account access key exists
Ensure that no custom IAM policies exist which allow permissive role assumption (e.g. sts:AssumeRole on *)
Avoid the use of the root accounts
Ensure Multi-Factor Authentication (MFA) is enabled for all IAM users that have a console password
Ensure users of groups with AdministratorAccess policy have MFA tokens enabled
Ensure MFA is enabled for the root account
Ensure no Customer Managed IAM policies allow actions that may lead into Privilege Escalation
Ensure only hardware MFA is enabled for the root account
Ensure that all the expired SSL/TLS certificates stored in AWS IAM are removed
S3Check if S3 buckets have policies which allow WRITE access
Ensure there are no S3 buckets open to Everyone or Any AWS user
Check S3 Account Level Public Access Block
CloudTrailEnsure the S3 bucket CloudTrail logs is not publicly accessible
Ensure CloudTrail is enabled in all regions
SQSCheck if SQS queues have policy set as Public
EC2Ensure there are no EC2 AMIs set as Public
Ensure there are no EBS Snapshots set as Public
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to any port
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to Memcached port 11211
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to Kafka port 9092
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to Postgres port 5432
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to Redis port 6379
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to FTP ports 20 or 21
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to Telnet port 23
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to MySQL port 3306
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to Windows SQL Server ports 1433 or 1434
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to Cassandra ports 7199 or 9160 or 8888
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to MongoDB ports 27017 and 27018
Ensure there are no security groups without ingress filtering being used
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to Oracle ports 1521 or 2483
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to port 3389
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to SSH port 22
Ensure the default security group of every VPC restricts all traffic
Check if any of the Elastic or Public IP are in Shodan (requires Shodan API KEY)
Ensure no security groups allow ingress from 0.0.0.0/0 or ::/0 to Elasticsearch/Kibana ports
Ensure no security groups allow ingress from wide-open non-RFC1918 address
Find security groups with more than 50 ingress or egress rules
RDSEnsure there are no Public Accessible RDS instances
Check if RDS Snapshots and Cluster Snapshots are public
Check if RDS instances client connections are encrypted (Microsoft SQL Server and PostgreSQL)
GlacierCheck if S3 Glacier vaults have policies which allow access to everyone
EFSCheck if EFS have policies which allow access to everyone
SNSCheck if SNS topics have policy set as Public
Ensure there are no SNS Topics unencrypted
OpensearchCheck if Amazon Elasticsearch/Opensearch Service domains has Amazon Cognito authentication for Kibana enabled
Check if Amazon Elasticsearch/Opensearch domains are set as Public or if it has open policy access
SSMFind secrets in SSM Documents
Check if there are SSM Documents set as public
Check if EC2 instances managed by Systems Manager are compliant with patching requirements
AutoScalingFind secrets in EC2 Auto Scaling Launch Configuration
GuardDutyThere are High severity GuardDuty findings
RedshiftCheck for Publicly Accessible Redshift Clusters
CloudFormationFind secrets in CloudFormation outputs
ECREnsure there are no ECR repositories set as Public
EKSEnsure EKS Clusters are created with Private Endpoint Enabled and Public Access Disabled
EMREMR Account Public Access Block enabled
ACMCheck if ACM Certificates are about to expire in specific days or less
CodeArtifactEnsure CodeArtifact internal packages do not allow external public source publishing
WorkSpacesEnsure that your Amazon WorkSpaces storage volumes are encrypted in order to meet security and compliance requirements

Azure checklist

This security requirement runs the following checks:

Cloud ServiceChecks
defenderEnsure That Microsoft Defender for App Services Is Set To 'On'
Ensure That Microsoft Defender for Azure Resource Manager Is Set To 'On'
Ensure That Microsoft Defender for Azure SQL Databases Is Set To 'On'
Ensure That Microsoft Defender for Containers Is Set To 'On'
Ensure That Microsoft Defender for Cosmos DB Is Set To 'On'
Ensure That Microsoft Defender for Databases Is Set To 'On'
Ensure That Microsoft Defender for DNS Is Set To 'On'
Ensure That Microsoft Defender for KeyVault Is Set To 'On'
Ensure That Microsoft Defender for Open-Source Relational Databases Is Set To 'On'
Ensure That Microsoft Defender for Servers Is Set to 'On'
Ensure That Microsoft Defender for SQL Servers on Machines Is Set To 'On'
Ensure That Microsoft Defender for Storage Is Set To 'On'
IAMEnsure that no custom subscription owner roles are created
storageEnsure that your Microsoft Azure Storage accounts are using Customer Managed Keys (CMKs) instead of Microsoft Managed Keys

Google Cloud Platform checklist

This security requirement runs the following checks:

Cloud ServiceChecks
bigqueryEnsure BigQuery datasets are encrypted with Customer-Managed Keys (CMKs)
Ensure That BigQuery Datasets Are Not Anonymously or Publicly Accessible.
Ensure BigQuery tables are encrypted with Customer-Managed Keys (CMKs).
cloudsqlEnsure That Cloud SQL Database Instances Do Not Implicitly Whitelist All Public IP Addresses
Ensure 'external scripts enabled' database flag for Cloud SQL SQL Server instance is set to 'off'
Ensure 'remote access' database flag for Cloud SQL SQL Server instance is set to 'off'
cloudstorageEnsure That Cloud Storage Bucket Is Not Anonymously or Publicly Accessible
computeCheck for Virtual Machine Instances with Public IP Addresses
Ensure that the default network does not exist
IAMEnsure Service Account does not have admin privileges
KMSCheck for Publicly Accessible Cloud KMS Keys