Skip to main content

628 docs tagged with "policy"

View all tags

🛡️ [LEGACY] VHDs are not encrypted🟢⚪

VHD (Virtual Hard Disks) are stored in blob storage and are the old-style disks that were attached to Virtual Machines. The blob VHD was then leased to the VM. By default, storage accounts are not encrypted, and Microsoft Defender will then recommend that the OS disks should be encrypted.

🛡️ Access Approval is not enabled🟢

GCP Access Approval enables you to require your organizations' explicit approval whenever Google support try to access your projects. You can then select users within your organization who can approve these requests through giving them a security role in IAM. All access requests display which Google Employee requested them in an email or Pub/Sub message that you can choose to Approve. This adds an additional control and logging of who in your organization approved/denied these requests.

🛡️ Access Key Rotation Reminders are not enabled🟢⚪

Access Keys authenticate application access requests to data contained in Storage Accounts. A periodic rotation of these keys is recommended to ensure that potentially compromised keys cannot result in a long-term exploitable credential. The 'Rotation Reminder' is an automatic reminder feature for a manual procedure.

🛡️ Account Has No IAM Users🔴🟠

Using individual IAM users (with specific set of permissions) to access your AWS cloud account eliminates the risk of compromising your root account credentials. To protect your AWS root account and follow IAM security best practices, it is recommended to create IAM users for everyday work with AWS services and resources in order to avoid using the root credentials.

🛡️ Account Root User Hardware MFA is not enabled.🟢⚪

The root user account is the most privileged user in an AWS account. MFA adds an extra layer of protection on top of a user name and password. With MFA enabled, when a user signs in to an AWS website, they will be prompted for their user name and password as well as for an authentication code from their AWS MFA device. For Level 2, it is recommended that the root user account be protected with a hardware MFA.

🛡️ Account Root User has active access keys🟢

The root user account is the most privileged user in an AWS account. AWS Access Keys provide programmatic access to a given AWS account. It is recommended that all access keys associated with the root user account be deleted.

🛡️ Account Root User MFA is not enabled.🟢

The 'root' user account is the most privileged user in an AWS account. Multi-factor Authentication (MFA) adds an extra layer of protection on top of a username and password. With MFA enabled, when a user signs in to an AWS website, they will be prompted for their username and password as well as for an authentication code from their AWS MFA device.

🛡️ Allow Blob Anonymous Access is enabled🟢

The Azure Storage setting 'Allow Blob Anonymous Access' (aka 'allowBlobPublicAccess') controls whether anonymous access is allowed for blob data in a storage account. When this property is set to True, it enables public read access to blob data, which can be convenient for sharing data but may carry security risks.

🛡️ API Key is not restricted for unspecified hosts and apps🟢⚪

API Keys should only be used for services in cases where other authentication methods are unavailable. In this case, unrestricted keys are insecure because they can be viewed publicly, such as from within a browser, or they can be accessed on a device where the key resides. It is recommended to restrict API key usage to trusted hosts, HTTP referrers and apps. It is recommended to use the more secure standard authentication flow instead.

🛡️ API Key is not restricted for unused APIs🟢

API Keys should only be used for services in cases where other authentication methods are unavailable. API keys are always at risk because they can be viewed publicly, such as from within a browser, or they can be accessed on a device where the key resides. It is recommended to restrict API keys to use (call) only APIs required by an application.

🛡️ App Service does not run the latest HTTP version🟢

Periodically, newer versions are released for HTTP either due to security flaws or to include additional functionality. Using the latest HTTP version for web apps to take advantage of security fixes, if any, and/or new functionalities of the newer version.

🛡️ App Service does not run the latest Java version🟢⚪

Periodically, newer versions are released for Java software either due to security flaws or to include additional functionality. Using the latest Java version for web apps is recommended in order to take advantage of security fixes, if any, and/or new functionalities of the newer version.

🛡️ App Service does not run the latest PHP version🟢⚪

Periodically newer versions are released for PHP software either due to security flaws or to include additional functionality. Using the latest PHP version for web apps is recommended in order to take advantage of security fixes, if any, and/or additional functionalities of the newer version.

🛡️ App Service does not run the latest Python version🟢⚪

Periodically, newer versions are released for Python software either due to security flaws or to include additional functionality. Using the latest full Python version for web apps is recommended in order to take advantage of security fixes, if any, and/or additional functionalities of the newer version.

🛡️ App Service is not registered with Microsoft Entra ID🟢

Managed service identity in App Service provides more security by eliminating secrets from the app, such as credentials in the connection strings. When registering an App Service with Entra ID, the app will connect to other Azure services securely without the need for usernames and passwords.

🛡️ Application Insights are not configured🟢

Application Insights within Azure act as an Application Performance Monitoring solution providing valuable data into how well an application performs and additional information when performing incident response. The types of log data collected include application metrics, telemetry data, and application trace logging data providing organizations with detailed information about application activity and application transactions.

🛡️ Asset Inventory API is not enabled🟢

GCP Cloud Asset Inventory is services that provides a historical view of GCP resources and IAM policies through a time-series database. The information recorded includes metadata on Google Cloud resources, metadata on policies set on Google Cloud projects or resources, and runtime information gathered within a Google Cloud resource. Cloud Asset Inventory Service (CAIS) API enablement is not required for operation of the service, but rather enables the mechanism for searching/exporting CAIS asset data directly.

🛡️ Authentication is disabled and Basic Authentication is enabled🟢

Azure App Service Authentication is a feature that can prevent anonymous HTTP requests from reaching a Web Application or authenticate those with tokens before they reach the app. Disabling HTTP Basic Authentication functionality further ensures legacy authentication methods are disabled within the application.

🛡️ Auto Scaling Group Capacity Rebalancing is not enabled🟢

Ensure that Capacity Rebalancing is enabled for AWS EC2 Auto Scaling Groups that use a mixed instances launch template. This feature helps improve application availability by proactively launching a replacement Spot Instance when an existing one receives a rebalance recommendation, which is a signal that the instance is at elevated risk of interruption.

🛡️ Automatic Key Rotation is not enabled🟢

Automatic Key Rotation is available in Public Preview. The currently supported applications are Key Vault, Managed Disks, and Storage accounts accessing keys within Key Vault. The number of supported applications will incrementally increased.

🛡️ AWS EC2 Instance Should Have Breeze Agent Installed🟢

Ensure that Breeze Agent is installed on the EC2 Instance. The Breeze Agent streams OS-level data into Cloudaware CMDB and seamlessly enables other Cloudaware modules such as Intrusion Detection (IDS), Vulnerability Scanning, Patch Management, CIS Benchmarking, and Event Monitoring.

🛡️ AWS EKS Cluster Should Have Breeze Agent Installed🟢

Ensure that Breeze Agent is installed on the EKS Cluster. The Breeze Agent streams OS-level data into Cloudaware CMDB and seamlessly enables other Cloudaware modules such as Intrusion Detection (IDS), Vulnerability Scanning, Patch Management, CIS Benchmarking, and Event Monitoring.

🛡️ AWS Organizations Changes Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, and establishing corresponding metric filters and alarms. It is recommended that a metric filter and alarm be established for AWS Organizations changes made in the master AWS Account.

🛡️ AWS Support Role is not created🟢

AWS provides a support center that can be used for incident notification and response, as well as technical support and customer services. Create an IAM Role, with the appropriate policy assigned, to allow authorized users to manage incidents with AWS Support.

🛡️ AWSCloudShellFullAccess Policy is attached🟢

AWS CloudShell is a convenient way of running CLI commands against AWS services. AWSCloudShellFullAccess managed IAM policy provides full access to CloudShell, which allows file upload and download capability between a user's local system and the CloudShell environment. Within the CloudShell environment a user has sudo permissions, and can access the internet. So it is feasible to install file transfer software (for example) and move data from CloudShell to external internet servers.

🛡️ Azure AKS Cluster Should Have Breeze Agent Installed🟢

Ensure that Breeze Agent is installed on the AKS Cluster. The Breeze Agent streams OS-level data into Cloudaware CMDB and seamlessly enables other Cloudaware modules such as Intrusion Detection (IDS), Vulnerability Scanning, Patch Management, CIS Benchmarking, and Event Monitoring.

🛡️ Azure Virtual Machine Should Have Breeze Agent Installed🟢

Ensure that Breeze Agent is installed on the Azure Virtual Machine. The Breeze Agent streams OS-level data into Cloudaware CMDB and seamlessly enables other Cloudaware modules such as Intrusion Detection (IDS), Vulnerability Scanning, Patch Management, CIS Benchmarking, and Event Monitoring.

🛡️ Basic Authentication is enabled🟢⚪

Basic Authentication provides the ability to create identities and authentication for an App Service without a centralized Identity Provider. For a more effective, capable, and secure solution for Identity, Authentication, Authorization, and Accountability, a centralized Identity Provider such as Entra ID is strongly advised.

🛡️ Bastion Host does not exist🟢

The Azure Bastion service allows secure remote access to Azure Virtual Machines over the Internet without exposing remote access protocol ports and services directly to the Internet. The Azure Bastion service provides this access using TLS over 443/TCP, and subscribes to hardened configurations within an organization's Azure Active Directory service.

🛡️ Blob Containers Soft Delete is not enabled🟢

It is recommended that both Azure Containers with attached Blob Storage and standalone containers with Blob Storage be made recoverable by enabling the soft delete configuration. This is to save and recover data when blobs or blob snapshots are erroneously deleted.

🛡️ Blob Logging is not enabled for Read, Write, and Delete requests🟢

The Storage Blob service provides scalable, cost-efficient object storage in the cloud. Storage Logging happens server-side and allows details for both successful and failed requests to be recorded in the storage account. These logs allow users to see the details of read, write, and delete operations against the blobs.

🛡️ Blob Service Versioning is not enabled🟢

Enabling blob versioning allows for the automatic retention of previous versions of objects. With blob versioning enabled, earlier versions of a blob are accessible for data recovery in the event of modifications or deletions.

🛡️ Bucket is not configured to block public access🟢

Amazon S3 provides `Block public access (bucket settings)` and `Block public access (account settings)` to help you manage public access to Amazon S3 resources. By default, S3 buckets and objects are created with public access disabled. However, an IAM principal with sufficient S3 permissions can enable public access at the bucket and/or object level. While enabled, `Block public access (bucket settings)` prevents an individual bucket, and its contained objects, from becoming publicly accessible. Similarly, `Block public access (account settings)` prevents all buckets, and contained objects, from becoming publicly accessible across the entire account.

🛡️ Bucket Lifecycle Configuration is not enabled🟢

Configure Amazon S3 Lifecycle in order to ensure that your objects are stored cost effectively throughout their lifecycle. An S3 Lifecycle configuration is a set of rules that define actions (such as Transition and Expiration actions) that Amazon S3 applies to a group of objects.

🛡️ Bucket logging is not enabled🟢

Cloud Storage bucket logging provides detailed records of requests made to a bucket, which is crucial for security auditing and operational insights. It is recommended to enable logging for all storage buckets to track access patterns and identify potential unauthorized activities.

🛡️ Bucket MFA Delete is not enabled🟠🟢

Amazon S3 provides an MFA Delete feature to add an optional extra layer of security when deleting objects from your S3 buckets. This feature requires additional authentication via MFA before allowing the deletion of objects, thereby reducing the risk of accidental or unauthorized deletions.

🛡️ Bucket Object Lock is not enabled🟠🟢

S3 Object Lock can help prevent Amazon S3 objects from being deleted or overwritten for a fixed amount of time or indefinitely. Object Lock uses a write-once-read-many (WORM) model to store objects. You can use Object Lock to help meet regulatory requirements that require WORM storage, or to add another layer of protection against object changes or deletion.

🛡️ Bucket Server Access Logging is not enabled🟢

S3 server access logging enables the tracking and analysis of requests made to S3 buckets. By activating this feature, detailed records are generated, capturing such information as the requester's IP address, the time of the request, the requested resource, and the response status.

🛡️ Bucket Versioning is not enabled🟢

Ensure that AWS S3 Bucket Versioning feature is enabled. Versioning allows users to keep multiple versions of an object in the same S3 bucket and provides a reliable and scalable solution for data protection, recovery, and version control within S3 buckets.

🛡️ Certificate Expired🟢

Remove all expired SSL/TLS certificates in AWS Certificate Manager to comply with Amazon Security Best Practices. This action mitigates risks associated with outdated certificates, which can lead to vulnerabilities and compromised security. AWS Certificate Manager provisions, manages, and deploys SSL/TLS certificates for services like Elastic Load Balancing and CloudFront, ensuring secure communications.

🛡️ Certificate expires in the next 7 days🟢

Renew your SSL/TLS certificates in AWS ACM that are ineligible for automatic renewal at least 7 days before their expiration date to ensure uninterrupted security coverage and prevent service disruptions. Proactive renewal safeguards your applications and maintains user trust. AWS Certificate Manager simplifies the provisioning, management, and deployment of SSL/TLS certificates for various AWS resources, including Elastic Load Balancers, CloudFront distributions, and APIs on Amazon API Gateway

🛡️ Certificate with Wildcard Domain Name🟢

Ensure that ACM single domain name certificates are used instead of wildcard certificates within your AWS account in order to follow security best practices and protect each domain/subdomain with its own unique private key. An AWS ACM wildcard certificate can match any first-level subdomain, potentially increasing vulnerability if compromised. For example, a wildcard certificate issued for *.cloudaware.com can protect both www.cloudaware.com and images.cloudaware.com.

🛡️ Cloud Function Environment Variables store confidential data🟢⚪

Google Cloud Functions allow you to host serverless code that is executed when an event is triggered, without the requiring the management a host operating system. These functions can also store environment variables to be used by the code that may contain authentication or other information that needs to remain confidential.

🛡️ CloudTrail is not encrypted with KMS CMK🟢

AWS CloudTrail is a web service that records AWS API calls for an account and makes those logs available to users and resources in accordance with IAM policies. AWS Key Management Service (KMS) is a managed service that helps create and control the encryption keys used to encrypt account data, and uses Hardware Security Modules (HSMs) to protect the security of encryption keys. CloudTrail logs can be configured to leverage server side encryption (SSE) and KMS customer created master keys (CMK) to further protect CloudTrail logs. It is recommended that CloudTrail be configured to use SSE-KMS.

🛡️ Cluster Alias IP is disabled🟢

Ensure that GKE Clusters are created with VPC-native traffic routing by enabling Alias IP. VPC-native clusters are more scalable and secure as they allow pods to have unique, routable IP addresses within the VPC.

🛡️ Cluster allows unrestricted public traffic🟢

Ensure that Amazon EKS clusters are configured to restrict public access to their Kubernetes API server endpoint to specific CIDR blocks. Unrestricted public access can expose the cluster to unauthorized access and potential attacks.

🛡️ Cluster IAM OIDC provider is not created🟢

Ensure that AWS EKS clusters have an OpenID Connect (OIDC) provider configured. This is required to enable IAM Roles for Service Accounts (IRSA), which allows IAM roles to be securely assigned to Kubernetes service accounts for fine-grained access to AWS resources.

🛡️ Cluster is not encrypted using Customer-Managed Encryption Key🟢

When you use Dataproc, cluster and job data is stored on Persistent Disks (PDs) associated with the Compute Engine VMs in your cluster and in a Cloud Storage staging bucket. This PD and bucket data is encrypted using a Google-generated data encryption key (DEK) and key encryption key (KEK). The CMEK feature allows you to create, use, and revoke the key encryption key (KEK). Google still controls the data encryption key (DEK).

🛡️ Cluster is underutilized🟢

Clusters are considered underutilized if their average CPU utilization is consistently below 20% and their disk I/O is below 50 IOPS over a 30-day period. Such instances might be oversized for their workload.

🛡️ Cluster Monitoring is not enabled🟢

Ensure that GKE clusters have Cloud Monitoring enabled to provide visibility into their performance, uptime, and overall health. Cloud Monitoring collects metrics, events, and metadata from GKE clusters.

🛡️ Cluster Network policy is disabled🟢

A network policy is a specification of how groups of pods are allowed to communicate with each other and other network endpoints. NetworkPolicy resources use labels to select pods and define rules which specify what traffic is allowed to the selected pods. The Kubernetes Network Policy API allows the cluster administrator to specify what pods are allowed to communicate with each other.

🛡️ Cluster Node Pool Auto-Upgrade is disabled🟢

Ensure that GKE Cluster Node Pool Auto-Upgrades are enabled. This feature helps keep the nodes in your cluster up to date with the latest stable Kubernetes version, which includes critical security patches and bug fixes, enhancing the overall security and stability of your cluster.

🛡️ Commitment expired in the last 30 days🟢

This policy identifies Google GCE Commitments that have expired within the last 30 days to alert teams of potential unplanned increases in cloud spending and verify that the expirations were intentional.

🛡️ Config Configuration Changes Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. It is recommended that a metric filter and alarm be established for detecting changes to AWS Config's configurations.

🛡️ Config is not enabled in all regions🟢

AWS Config is a web service that performs configuration management of supported AWS resources within your account and delivers log files to you. The recorded information includes the configuration item (AWS resource), relationships between configuration items (AWS resources), any configuration changes between resources. It is recommended AWS Config be enabled in all regions.

🛡️ Configuration Changes Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, where metric filters and alarms can be established. It is recommended that a metric filter and alarm be utilized for detecting changes to CloudTrail's configurations.

🛡️ Cross Tenant Replication is enabled🟢

Cross Tenant Replication in Azure allows data to be replicated across multiple Azure tenants. While this feature can be beneficial for data sharing and availability, it also poses a significant security risk if not properly managed. Unauthorized data access, data leakage, and compliance violations are potential risks.

🛡️ Crypto Key is not rotated every 90 days🟢

Google Cloud Key Management Service stores cryptographic keys in a hierarchical structure designed for useful and elegant access control management. The format for the rotation schedule depends on the client library that is used. For the gcloud command-line tool, the next rotation time must be in ISO or RFC3339 format, and the rotation period must be in the form INTEGER[UNIT], where units can be one of seconds (s), minutes (m), hours (h) or days (d).

🛡️ Custom Banned Password List is not enforced🟢⚪

Microsoft Azure provides a Global Banned Password policy that applies to Azure administrative and normal user accounts. This is not applied to user accounts that are synced from an on-premise Active Directory unless Microsoft Entra ID Connect is used and you enable EnforceCloudPasswordPolicyForPasswordSyncedUsers.

🛡️ Database is underutilized🟢

Identify Azure SQL Databases that are underutilized to optimize costs and improve efficiency. Instances are considered underutilized if their average DTU, CPU utilization is consistently below 20%, or App Memory utilization is below 40%, and storage utilization is below 10% over a 30-day period.

🛡️ Database Transparent Data Encryption is not enabled🟢

Azure SQL Database transparent data encryption helps protect against the threat of malicious activity by performing real-time encryption and decryption of the database, associated backups, and transaction log files at rest without requiring changes to the application.

🛡️ Databricks Diagnostic Log Delivery is not configured🟢⚪

Azure Databricks Diagnostic Logging provides insights into system operations, user activities, and security events within a Databricks workspace. Enabling diagnostic logs helps organizations: - Detect security threats by logging access, job executions, and cluster activities. - Ensure compliance with industry regulations such as SOC 2, HIPAA, and GDPR. - Monitor operational performance and troubleshoot issues proactively.

🛡️ Databricks network security groups are not configured🟢⚪

Network Security Groups (NSGs) should be implemented to control inbound and outbound traffic to Azure Databricks subnets, ensuring only authorized communication. NSGs should be configured with deny rules to block unwanted traffic and restrict communication to essential sources only.

🛡️ Databricks Unity Catalog is not configured🟢⚪

Unity Catalog is a centralized governance model for managing and securing data in Azure Databricks. It provides fine-grained access control to databases, tables, and views using Microsoft Entra ID identities. Unity Catalog also enhances data lineage, audit logging, and compliance monitoring, making it a critical component for security and governance.

🛡️ Databricks users and groups are not synced from Microsoft Entra ID🟢⚪

To ensure centralized identity and access management, users and groups from Microsoft Entra ID should be synchronized with Azure Databricks. This is achieved through SCIM provisioning, which automates the creation, update, and deactivation of users and groups in Databricks based on Entra ID assignments. Enabling this integration ensures that access controls in Databricks remain consistent with corporate identity governance policies, reducing the risk of orphaned accounts, stale permissions, and unauthorized access.

🛡️ Dataset is not encrypted with Customer-Managed Encryption Key (CMEK)🟢

BigQuery by default encrypts the data as rest by employing Envelope Encryption using Google managed cryptographic keys. The data is encrypted using the data encryption keys and data encryption keys themselves are further encrypted using key encryption keys. This is seamless and do not require any additional input from the user. However, if you want to have greater control, Customer-managed encryption keys (CMEK) can be used as encryption key management solution for BigQuery Data Sets.

🛡️ Default Role is ACCOUNTADMIN🟢

Ensure that the ACCOUNTADMIN role is not set as the Default Role for Snowflake Users to reduce risk and prevent accidental use of broad administrative privileges.

🛡️ Default Security Group does not restrict all traffic🟢

VPC comes with a default security group whose initial settings deny all inbound traffic, allow all outbound traffic, and allow all traffic between instances assigned to the security group. If you don't specify a security group when you launch an instance, the instance is automatically assigned to this default security group. Security groups provide stateful filtering of ingress/egress network traffic to AWS resources. It is recommended that the default security group restrict all traffic.

🛡️ Default User Role can create tenants🟢

It is recommended to only allow an administrator to create new tenants. This prevent users from creating new Microsoft Entra ID or Azure AD B2C tenants and ensures that only authorized users are able to do so.

🛡️ Device Code Authentication Flow is not restricted🟢⚪

Conditional Access Policies can be used to prevent the Device code authentication flow. Device code flow should be permitted only for users that regularly perform duties that explicitly require the use of Device Code to authenticate, such as utilizing Azure with PowerShell.

🛡️ Diagnostic Setting does not capture Microsoft Graph activity logs🟢⚪

Ensure that a Microsoft Entra diagnostic setting is configured to send Microsoft Graph activity logs to a suitable destination, such as a Log Analytics workspace, storage account, or event hub. This enables centralized monitoring and analysis of all HTTP requests that the Microsoft Graph service receives and processes for a tenant.

🛡️ Diagnostic Setting is not enabled for all services that support it🟢⚪

Resource Logs capture activity to the data access plane while the Activity log is a subscription-level log for the control plane. Resource-level diagnostic logs provide insight into operations that were performed within that resource itself; for example, reading or updating a secret from a Key Vault. Currently, 95 Azure resources support Azure Monitoring (See the more information section for a complete list), including Network Security Groups, Load Balancers, Key Vault, AD, Logic Apps, and CosmosDB.

🛡️ Disable or Schedule Deletion CMK Events Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. It is recommended that a metric filter and alarm be established for customer created CMKs which have changed state to disabled or scheduled deletion.

🛡️ Disk for critical VMs is not encrypted with Customer-Supplied Encryption Key (CSEK)🟢

Customer-Supplied Encryption Keys (CSEK) are a feature in Google Cloud Storage and Google Compute Engine. If you supply your own encryption keys, Google uses your key to protect the Google-generated keys used to encrypt and decrypt your data. By default, Google Compute Engine encrypts all data at rest. Compute Engine handles and manages this encryption for you without any additional actions on your part. However, if you wanted to control and manage this encryption yourself, you can provide your own encryption keys.

🛡️ Disk is idle🟢

Identify persistent GCE Disks that haven't been attached to a GCE Instance for more than 30 days

🛡️ EBS Volume is idle🟢

This policy flags AWS EBS Volumes that are either unattached for more than 30 days or attached but show no read/write operations for the past 30 days.

🛡️ Elastic IP is unused🟢

Identify and release unused Elastic IP addresses to avoid unnecessary charges. Elastic IPs that are allocated but not associated with a running resource incur costs.

🛡️ Elastic Pool is underutilized🟢

Identifies Azure SQL Elastic Pools that are underutilized to optimize costs. An elastic pool is considered underutilized if its average DTU/CPU consumption is below 20% and its storage utilization is below 10% over the last 30 days.

🛡️ Endpoint doesn't use SSL🟢

Ensure that AWS DMS Endpoints use Secure Sockets Layer (SSL) to encrypt connections between the DMS replication instance and your database endpoints.

🛡️ Entra ID Client Authentication is not used🟢⚪

Cosmos DB can use tokens or Entra ID for client authentication which in turn will use Azure RBAC for authorization. Using Entra ID is significantly more secure because Entra ID handles the credentials and allows for MFA and centralized management, and the Azure RBAC better integrated with the rest of Azure.

🛡️ Environment does not have enhanced health reporting enabled🟢

Enhanced health reporting is a feature that can be enabled within your environment to allow AWS Elastic Beanstalk to collect additional data about its associated resources. Elastic Beanstalk uses this data to provide a more comprehensive view of the environment’s overall health and to help identify potential issues that could impact application availability.

🛡️ External Attack Surface Monitoring (EASM) is not enabled🟢⚪

An organization's attack surface is the collection of assets with a public network identifier or URI that an external threat actor can see or access from outside your cloud. It is the set of points on the boundary of a system, a system element, system component, or an environment where an attacker can try to enter, cause an effect on, or extract data from, that system, system element, system component, or environment.

🛡️ Flexible Server require_secure_transport Parameter is not set to ON🟢

SSL connectivity helps to provide a new layer of security by connecting database server to client applications using Secure Sockets Layer (SSL). Enforcing SSL connections between database server and client applications helps protect against 'man in the middle' attacks by encrypting the data stream between the server and application.

🛡️ Flexible Server require_secure_transport Parameter is not set to ON🟢

SSL connectivity helps to provide a new layer of security by connecting database server to client applications using Secure Sockets Layer (SSL). Enforcing SSL connections between database server and client applications helps protect against "man in the middle" attacks by encrypting the data stream between the server and application.

🛡️ Flexible Server TLS Version is not set to TLS 1.2🟢

TLS connectivity helps to provide a new layer of security by connecting database server to client applications using Transport Layer Security (TLS). Enforcing TLS connections between database server and client applications helps protect against 'man in the middle' attacks by encrypting the data stream between the server and application.

🛡️ Flow Logs are not enabled🟢

VPC Flow Logs is a feature that enables you to capture information about the IP traffic going to and from network interfaces in your VPC. After you've created a flow log, you can view and retrieve its data in Amazon CloudWatch Logs. It is recommended that VPC Flow Logs be enabled for packet 'Rejects' for VPCs.

🛡️ FTP deployments are not disabled🟢

By default, Azure Functions, Web, and API Services can be deployed over FTP. If FTP is required for an essential deployment workflow, FTPS should be required for FTP login for all App Service Apps and Functions.

🛡️ GCE Firewall Rule logging is disabled🟢

Ensure that Firewall Rules Logging is enabled for all GCE firewall rules. This feature records network connections that match a firewall rule, providing crucial data for security auditing, incident response, and network troubleshooting.

🛡️ GCE IP Address is unused🟢

Ensure that all static IP addresses in your Google Cloud Platform project are associated with a running resource. Unused external static IP addresses can incur unnecessary costs and may pose a security risk if they are inadvertently attached to a resource in the future.

🛡️ GCE Network has no egress deny Firewall Rule🟢

Ensure that every VPC Network includes at least one egress firewall rule with a deny action. Implementing a default-deny egress policy enforces the principle of least privilege by controlling and restricting outbound traffic from the network.

🛡️ GCE Subnetwork Flow Logs are not enabled🟢

Flow Logs is a feature that enables users to capture information about the IP traffic going to and from network interfaces in the organization's VPC Subnets. Once a flow log is created, the user can view and retrieve its data in Stackdriver Logging. It is recommended that Flow Logs be enabled for every business-critical VPC subnet.

🛡️ Global Administrator Role assigned to more than 4 users🟢⚪

This recommendation aims to maintain a balance between security and operational efficiency by ensuring that a minimum of 2 and a maximum of 4 users are assigned the Global Administrator role in Microsoft Entra ID. Having at least two Global Administrators ensures redundancy, while limiting the number to four reduces the risk of excessive privileged access.

🛡️ Google GCE Instance Should Have Breeze Agent Installed🟢

Ensure that Breeze Agent is installed on the GCE Instance. The Breeze Agent streams OS-level data into Cloudaware CMDB and seamlessly enables other Cloudaware modules such as Intrusion Detection (IDS), Vulnerability Scanning, Patch Management, CIS Benchmarking, and Event Monitoring.

🛡️ Google Project has API Keys🟢

API Keys should only be used for services in cases where other authentication methods are unavailable. Unused keys with their permissions in tact may still exist within a project. Keys are insecure because they can be viewed publicly, such as from within a browser, or they can be accessed on a device where the key resides. It is recommended to use standard authentication flow instead.

🛡️ GuardDuty is not enabled in all regions🟢

Amazon GuardDuty is a threat detection service that continuously monitors for malicious activity and unauthorized behavior to protect your AWS accounts and workloads. It is recommended that GuardDuty be enabled in all supported AWS regions to ensure comprehensive threat coverage.

🛡️ HTTPS Only configuration is not enabled🟢

Azure Web Apps allows sites to run under both HTTP and HTTPS by default. Web apps can be accessed by anyone using non-secure HTTP links by default. Non-secure HTTP requests can be restricted and all HTTP requests redirected to the secure HTTPS port. It is recommended to enforce HTTPS-only traffic.

🛡️ HTTPS or SSL Proxy Load Balancer permits SSL policies with weak cipher suites🟢⚪

Secure Sockets Layer (SSL) policies determine what port Transport Layer Security (TLS) features clients are permitted to use when connecting to load balancers. To prevent usage of insecure features, SSL policies should use (a) at least TLS 1.2 with the MODERN profile; or (b) the RESTRICTED profile, because it effectively requires clients to use TLS 1.2 regardless of the chosen minimum TLS version; or (3) a CUSTOM profile that does not support any of the following features: TLS_RSA_WITH_AES_128_GCM_SHA256 TLS_RSA_WITH_AES_256_GCM_SHA384 TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA

🛡️ IAM Access Analyzer is not enabled for all regions🟢

Enable IAM Access analyzer for IAM policies about all resources in each active AWS region. IAM Access Analyzer is a technology introduced at AWS reinvent 2019. After the Analyzer is enabled in IAM, scan results are displayed on the console showing the accessible resources. Scans show resources that other accounts and federated users can access, such as KMS keys and IAM roles. So the results allow you to determine if an unintended user is allowed, making it easier for administrators to monitor least privileges access. Access Analyzer analyzes only policies that are applied to resources in the same AWS Region.

🛡️ IAM Policy Changes Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. It is recommended that a metric filter and alarm be established changes made to Identity and Access Management (IAM) policies.

🛡️ IAM Role Unused🟢

IAM provides last used information to help you identify unused roles so that you can remove them. An IAM role is considered unused if there has been no usage/activity for this role in the past 90 days. This helps you to better adhere to the best practice of least privilege.

🛡️ Instance allows public access to all ports🟢

Identify Azure VM Scale Set Instances that are associated with Network Interfaces linked to NSGs containing inbound rules that allow unrestricted traffic from the public internet(0.0.0.0/0, ::/0, Internet, Any, or *) to all destination ports (*, 0-65535, or unspecified). Restrict access to only the specific destination port and/or IP address ranges that require connectivity.

🛡️ Instance allows public access to CIFS port🟢

Ensure that Azure VM Scale Set Instances do not allow unrestricted public access to the CIFS port 445. Unrestricted access to CIFS from the public internet poses a significant security risk, potentially exposing file shares and sensitive data to unauthorized access and ransomware attacks.

🛡️ Instance allows public access to DNS port🟢

Ensure that Azure VM Scale Set Instances do not allow unrestricted public access to the DNS port 53. Exposing DNS to the internet from a VM can pose security risks, such as participation in DNS amplification attacks or unauthorized DNS resolution.

🛡️ Instance allows public access to HTTP(S) ports🟢

Ensure that Azure VM Scale Set Instances do not allow unrestricted public access to the HTTP/HTTPS ports 80 and 443. Where certain ports and protocols may be exposed to the Internet, they should be evaluated for necessity and restricted wherever they are not explicitly required.

🛡️ Instance allows public access to RPC port🟢

Ensure that Azure VM Scale Set Instances do not allow unrestricted public access to RPC port (135/TCP and 135/UDP). RPC protocol enables inter-process communication and, if improperly secured, can expose VMs to unauthorized access.

🛡️ Instance allows public access to Telnet port🟢

Ensure Azure VM Scale Set Instances do not allow unrestricted public access to the Telnet port 23. Telnet is an insecure protocol that transmits data, including credentials, in plaintext, making it vulnerable to eavesdropping and unauthorized access.

🛡️ Instance Auto Minor Version Upgrade is not enabled🟠🟢

Ensure that RDS database instances have the Auto Minor Version Upgrade flag enabled in order to receive automatically minor engine upgrades during the specified maintenance window. So, RDS instances can get the new features, bug fixes, and security patches for their database engines.

🛡️ Instance Confidential Compute is not enabled🟢

Google Cloud encrypts data at-rest and in-transit, but customer data must be decrypted for processing. Confidential Computing is a breakthrough technology which encrypts data in-use, while it is being processed. Confidential Computing environments keep data encrypted in memory and elsewhere outside the central processing unit (CPU). Confidential VMs leverage the Secure Encrypted Virtualization (SEV) feature of AMD EPYC™ CPUs. Customer data will stay encrypted while it is used, indexed, queried, or trained on. Encryption keys are generated in hardware, per VM, and not exportable. Thanks to built-in hardware optimizations of both performance and security, there is no significant performance penalty to Confidential Computing workloads.

🛡️ Instance Detailed Monitoring is not enabled🟢

Ensure that detailed monitoring is enabled for Amazon EC2 instances. This configuration improves the granularity of monitoring data from AWS CloudWatch, enabling 1-minute data points instead of the default 5-minute intervals.

🛡️ Instance doesn't have the latest operating system updates installed🟢⚪

Google Cloud Virtual Machines have the ability via an OS Config agent API to periodically (about every 10 minutes) report OS inventory data. A patch compliance API periodically reads this data, and cross references metadata to determine if the latest updates are installed. This is not the only Patch Management solution available to your organization and you should weigh your needs before committing to using this method.

🛡️ Instance Enable Connecting to Serial Ports is not disabled🟢

Interacting with a serial port is often referred to as the serial console, which is similar to using a terminal window, in that input and output is entirely in text mode and there is no graphical interface or mouse support. If you enable the interactive serial console on an instance, clients can attempt to connect to that instance from any IP address. Therefore interactive serial console support should be disabled.

🛡️ Instance Encryption is not enabled🟢

Amazon RDS encrypted DB instances use the industry standard AES-256 encryption algorithm to encrypt your data on the server that hosts your Amazon RDS DB instances. After your data is encrypted, Amazon RDS handles authentication of access and decryption of your data transparently with a minimal impact on performance.

🛡️ Instance IAM role is not attached🟢

AWS access from within AWS instances can be done by either encoding AWS keys into AWS API calls or by assigning the instance to a role which has an appropriate permissions policy for the required access. 'AWS Access' means accessing the APIs of AWS in order to access AWS resources or manage AWS account resources.

🛡️ Instance IMDSv2 is not enabled🟢

When enabling the Metadata Service on AWS EC2 instances, users have the option of using either Instance Metadata Service Version 1 (IMDSv1; a request/response method) or Instance Metadata Service Version 2 (IMDSv2; a session-oriented method).

🛡️ Instance IP Forwarding is not disabled.🟢

Compute Engine instance cannot forward a packet unless the source IP address of the packet matches the IP address of the instance. Similarly, GCP won't deliver a packet whose destination IP address is different than the IP address of the instance receiving the packet. However, both capabilities are required if you want to use instances to help route packets. Forwarding of data packets should be disabled to prevent data loss or information disclosure.

🛡️ Instance is idle🟢

Identify and address idle Amazon EC2 instances to optimize costs by stopping, terminating, or downscaling instances with low utilization. Instances are considered idle if their average CPU utilization is below 5%, maximum CPU utilization is below 15%, and average network I/O is below 100 MB over a 14-day period.

🛡️ Instance is idle🟢

Identify AWS RDS Instances that appear to be idle and take action to stop or terminate them. By default, an RDS instance is considered idle when it satisfies the following criteria over the past 30 days: 1) Average CPU utilization has been below 5%; and 2) The total number of database connections has been zero.

🛡️ Instance is idle🟢

Identify idle GCE Instances to optimize costs by stopping, terminating, or downscaling instances with low utilization. Instances are considered idle if their average CPU utilization is below 5%, maximum CPU utilization is below 15%, and average network I/O is below 100 MB over a 14-day period.

🛡️ Instance is idle🟢

Identify idle Google Cloud SQL Instances to optimize costs by stopping, terminating, or downscaling instances with low utilization. Instances are considered idle if their average CPU utilization is below 5% and they have an average of zero connections over a 30-day period.

🛡️ Instance is overutilized🟢

Identify and address overutilized Amazon EC2 instances to prevent performance degradation and optimize resource allocation. Instances are considered overutilized if their average CPU utilization exceeds 80% and maximum CPU utilization consistently spikes above 95% over a 14-day period.

🛡️ Instance is overutilized🟢

Identify any AWS RDS Instances that appear to be overutilized. Instances are considered overutilized if its average CPU utilization is consistently above 90% over a 30-day period.

🛡️ Instance is publicly accessible and in an unrestricted public subnet🟢

Ensure and verify that RDS database instances provisioned in your AWS account do restrict unauthorized access in order to minimize security risks. To restrict access to any publicly accessible RDS database instance, you must disable the database Publicly Accessible flag and update the VPC security group associated with the instance.

🛡️ Instance is underutilized🟢

Identify and address underutilized Amazon EC2 instances to optimize costs and improve efficiency. Instances are considered underutilized if their average CPU utilization is consistently below 40% and maximum CPU utilization does not spike above 50% over a 14-day period. These instances might be oversized for their workload.

🛡️ Instance is underutilized🟢

Instances are considered underutilized if their average CPU utilization is consistently below 20% and their disk I/O is below 50 IOPS over a 30-day period. Such instances might be oversized for their workload.

🛡️ Instance is underutilized🟢

GCE Instances are considered underutilized if their average CPU utilization is consistently below 40% and maximum CPU utilization does not spike above 50% over a 14-day period. These instances might be oversized for their workload.

🛡️ Instance is underutilized🟢

This policy checks Cloud SQL Instances that appear to be underutilized and downsize (resize) them to optimize cloud expenditure. By default, a SQL Instance is considered underutilized if its average CPU utilization is below 20%, Memory utilization is below 40%, and Disk I/O < 50 IOPS over a 30-day period.

🛡️ Instance Multi-AZ Deployment is not enabled🟢

Amazon RDS offers Multi-AZ deployments that provide enhanced availability and durability for your databases, using synchronous replication to replicate data to a standby instance in a different Availability Zone (AZ). In the event of an infrastructure failure, Amazon RDS automatically fails over to the standby to minimize downtime and ensure business continuity.

🛡️ Instance uses default endpoint port🟢

Ensure that your Amazon RDS databases instances are not using their default endpoint ports (i.e. MySQL/Aurora port 3306, SQL Server port 1433, PostgreSQL port 5432, etc) in order to promote port obfuscation as an additional layer of defense against non-targeted attacks.

🛡️ Instance uses paravirtual Virtualization Type🟢

Ensure that Amazon EC2 instances are using Hardware Virtual Machine (HVM) virtualization instead of the legacy paravirtual (PV) type to take advantage of enhanced performance and access to the latest AWS features and instance types.

🛡️ Instance without a public IP address is in a public subnet🟢

Migrate EC2 instances that don't need internet access to a private subnet, or remove the direct route to an Internet Gateway within the subnet. EC2 Instances without a public IPv4/IPv6 address are unable to connect to the internet thus making it a potential misconfiguration that can lead to security breaches, convoluted network architecture, and unnecessary management overhead. Consider using a bastion host or NAT device to provide internet access to EC2 instances that do not require to be public.

🛡️ Load Balancer is unused🟢

Ensure that AWS Elastic Load Balancers are actively serving traffic. A load balancer is considered unused if it has no listeners configured or no healthy instances or targets registered. Unused load balancers can incur costs without providing any benefit and may represent a misconfiguration in the environment.

🛡️ Log File Validation is not enabled🟢

CloudTrail log file validation creates a digitally signed digest file containing a hash of each log that CloudTrail writes to S3. These digest files can be used to determine whether a log file was changed, deleted, or unchanged after CloudTrail delivered the log. It is recommended that file validation be enabled on all CloudTrails.

🛡️ Managed Disk Public Network Access is not disabled🟢

The setting 'Enable public access from all networks' is, in many cases, an overly permissive setting on Virtual Machine Disks that presents atypical attack, data infiltration, and data exfiltration vectors. If a disk to network connection is required, the preferred setup is to disable public access and enable private access.

🛡️ Managed Instance is underutilized🟢

Identify underutilized Azure SQL Managed Instances to optimize costs by downscaling instances with low utilization. Instances are considered underutilized if their average CPU utilization is below 20%, and average disk I/O is below 50 MB over a 30-day period.

🛡️ Managed Zone DNSSEC is not enabled🟢

Cloud Domain Name System (DNS) is a fast, reliable and cost-effective domain name system that powers millions of domains on the internet. Domain Name System Security Extensions (DNSSEC) in Cloud DNS enables domain owners to take easy steps to protect their domains against DNS hijacking and man-in-the-middle and other attacks.

🛡️ Managed Zone DNSSEC Key-Signing Algorithm is RSASHA1🟢

DNSSEC algorithm numbers in this registry may be used in CERT RRs. Zone signing (DNSSEC) and transaction security mechanisms (SIG(0) and TSIG) make use of particular subsets of these algorithms. The algorithm used for key signing should be a recommended one and it should be strong.

🛡️ Managed Zone DNSSEC Zone-Signing Algorithm is RSASHA1🟢

DNSSEC algorithm numbers in this registry may be used in CERT RRs. Zone signing (DNSSEC) and transaction security mechanisms (SIG(0) and TSIG) make use of particular subsets of these algorithms. The algorithm used for key signing should be a recommended one and it should be strong.

🛡️ Management Console Authentication Failures Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. It is recommended that a metric filter and alarm be established for failed console authentication attempts.

🛡️ Management Console Sign-In without MFA Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. It is recommended that a metric filter and alarm be established for console logins that are not protected by multi-factor authentication (MFA).

🛡️ Metric Alarm does not have any actions configured🟢

Ensure that Amazon CloudWatch alarms are configured with at least one action for the ALARM, INSUFFICIENT_DATA, or OK states. Actions are essential for notifying personnel or triggering automated responses when an alarm changes state, ensuring that operational or security events are not missed.

🛡️ MFA is not enabled🟢

Ensure that Multi-Factor Authentication (MFA) is enabled for Snowflake Users to provide an additional layer of security. MFA support is provided as an integrated Snowflake feature, powered by the Duo Security service, which is managed completely by Snowflake.

🛡️ Microsoft Cloud Security Benchmark policies are disabled🟢⚪

The Microsoft Cloud Security Benchmark (or 'MCSB') is an Azure Policy Initiative containing many security policies to evaluate resource configuration against best practice recommendations. If a policy in the MCSB is set with effect type Disabled, it is not evaluated and may prevent administrators from being informed of valuable security recommendations.

🛡️ Minimum TLS Version is not set to TLS 1.2 or higher🟢

The TLS (Transport Layer Security) protocol secures transmission of data over the internet using standard encryption technology. Encryption should be set with the latest version of TLS. App service allows TLS 1.2 by default, which is the recommended TLS level by industry standards such as PCI DSS.

🛡️ Multi-Region CloudTrail is not enabled🟢

AWS CloudTrail is a web service that records AWS API calls for your account and delivers log files to you. The recorded information includes the identity of the API caller, the time of the API call, the source IP address of the API caller, the request parameters, and the response elements returned by the AWS service.

🛡️ Named Locations are not defined🟢⚪

Microsoft Entra ID Conditional Access allows an organization to configure Named locations and configure whether those locations are trusted or untrusted. These settings provide organizations the means to specify Geographical locations for use in conditional access policies, or define actual IP addresses and IP ranges and whether or not those IP addresses and/or ranges are trusted by the organization.

🛡️ Network Access Control Lists Changes Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. NACLs are used as a stateless packet filter to control ingress and egress traffic for subnets within a VPC. It is recommended that a metric filter and alarm be established for changes made to NACLs.

🛡️ Network ACL exposes admin ports to public internet🟢

The Network Access Control List (NACL) function provide stateless filtering of ingress and egress network traffic to AWS resources. It is recommended that no NACL allows unrestricted ingress access to remote server administration ports, such as SSH to port 22 and RDP to port 3389, using either the TCP (6), UDP (17) or ALL (-1) protocols.

🛡️ Network ACL is unused🟢

Network NACLs that are not associated with any subnets are considered unused. While unused NACLs do not incur direct costs, they can represent a security risk if they contain misconfigured rules and are later associated with a subnet.

🛡️ Network Gateways Changes Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. Network gateways are required to send/receive traffic to a destination outside of a VPC. It is recommended that a metric filter and alarm be established for changes to network gateways.

🛡️ Physical Server Should Have Breeze Agent Installed🟢

Ensure that Breeze Agent is installed on the Physical Server. The Breeze Agent streams OS-level data into Cloudaware CMDB and seamlessly enables other Cloudaware modules such as Intrusion Detection (IDS), Vulnerability Scanning, Patch Management, CIS Benchmarking, and Event Monitoring.

🛡️ Policy (Customer Managed) Contains Potential Credentials Exposure🔴🟠

Policies with Credentials Exposure potential allow certain IAM actions without resource constraints. Policy will produce a violation if it detects a statement that contains any of the following action with Effect: Allow, Resource: *. Conditions are not being checked. Actions: chime:CreateApiKey, codepipeline:PollForJobs, cognito-identity:GetOpenIdToken, cognito-identity:GetOpenIdTokenForDeveloperIdentity, cognito-identity:GetCredentialsForIdentity, connect:GetFederationToken, ecr:GetAuthorizationToken, gamelift:RequestUploadCredentials, iam:CreateAccessKey, iam:CreateLoginProfile, iam:CreateServiceSpecificCredential, iam:ResetServiceSpecificCredential, iam:UpdateAccessKey, lightsail:GetInstanceAccessDetails, lightsail:GetRelationalDatabaseMasterUserPassword, rds-db:connect, redshift:GetClusterCredentials, sso:GetRoleCredentials, mediapackage:RotateChannelCredentials, mediapackage:RotateIngestEndpointCredentials, sts:AssumeRole, sts:AssumeRoleWithSAML, sts:AssumeRoleWithWebIdentity, sts:GetFederationToken, sts:GetSessionToken

🛡️ Policy allows full administrative privileges🟢

IAM policies are the means by which privileges are granted to users, groups, or roles. It is recommended and considered a standard security advice to grant least privilege -that is, granting only the permissions required to perform a task. Determine what users need to do and then craft policies for them that let the users perform only those tasks, instead of allowing full administrative privileges.

🛡️ PostgreSQL Instance Log_min_error_statement Database Flag is not set to Error or stricter🟢

The log_min_error_statement flag defines the minimum message severity level that are considered as an error statement. Messages for error statements are logged with the SQL statement. Valid values include (from lowest to highest severity) DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. Each severity level includes the subsequent levels mentioned above. Ensure a value of ERROR or stricter is set.

🛡️ PostgreSQL Instance Log_min_messages Database Flag is not set at minimum to Warning🟢

The log_min_messages flag defines the minimum message severity level that is considered as an error statement. Messages for error statements are logged with the SQL statement. Valid values include (from lowest to highest severity) DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. Each severity level includes the subsequent levels mentioned above. WARNING is considered the best practice setting. Changes should only be made in accordance with the organization's logging policy.

🛡️ PostgreSQL Instance Log_statement Database Flag is not set appropriately🟢

The value of log_statement flag determined the SQL statements that are logged. Valid values are: none, ddl, mod, all. The value ddl logs all data definition statements. The value mod logs all ddl statements, plus data-modifying statements. The statements are logged after a basic parsing is done and statement type is determined, thus this does not logs statements with errors. When using extended query protocol, logging occurs after an Execute message is received and values of the Bind parameters are included. A value of 'ddl' is recommended unless otherwise directed by your organization's logging policy.

🛡️ Primary Contact information is not current🔴🟢⚪

Ensure contact email and telephone details for AWS accounts are current and map to more than one individual in your organization. An AWS account supports a number of contact details, and AWS will use these to contact the account owner if activity judged to be in breach of Acceptable Use Policy or indicative of likely security compromise is observed by the AWS Abuse team. Contact details should not be for a single individual, as circumstances may arise where that individual is unavailable. Email contact details should point to a mail alias which forwards email to multiple individuals within the organization; where feasible, phone contact details should point to a PABX hunt group or other call-forwarding system.

🛡️ Private Endpoints are not used🟢

Use private endpoints for your Azure Storage accounts to allow clients and services to securely access data located over a network via an encrypted Private Link. Securing traffic between services through encryption protects the data from easy interception and reading.

🛡️ Privileged Virtual Machine is accessed by identities without MFA🟢⚪

Verify identities without MFA that can log in to a privileged virtual machine using separate login credentials. An adversary can leverage the access to move laterally and perform actions with the virtual machine's managed identity. Make sure the virtual machine only has necessary permissions, and revoke the admin-level permissions according to the least privileges principal.

🛡️ Project has a legacy network🟢

In order to prevent use of legacy networks, a project should not have a legacy network configured. As of now, Legacy Networks are gradually being phased out, and you can no longer create projects with them. This recommendation is to check older projects to ensure that they are not using Legacy Networks.

🛡️ Project with KMS keys has a principal with Owner role🟢

Ensure that projects containing cryptographic keys do not grant the primitive Owner role to any principal, in order to enforce the principle of least privilege and separation of duties. Assigning the Owner role provides unrestricted access to all resources within the project, including the ability to manage and use sensitive cryptographic keys, which creates a significant security risk.

🛡️ Provisioned Table Auto Scaling is not configured🟢

Ensure that Amazon DynamoDB tables are configured to automatically scale read and write capacity to meet demand. This can be achieved by using On-Demand capacity mode or by configuring Auto Scaling for provisioned throughput. This helps maintain performance during traffic spikes and can optimize costs during periods of low activity.

🛡️ Public IP Addresses are not evaluated periodically🟢⚪

Public IP Addresses provide tenant accounts with Internet connectivity for resources contained within the tenant. During the creation of certain resources in Azure, a Public IP Address may be created. All Public IP Addresses within the tenant should be periodically reviewed for accuracy and necessity.

🛡️ Public Network Access is enabled🟢

When a Private Endpoint is configured on a Key Vault, traffic from resources within the same subnet routes through the Vault's private IP. However, the public endpoint (mykeyvault.vault.azure.net) remains accessible unless Public network access is explicitly set to Disabled. Disabling public network access removes the public DNS entry, ensuring all traffic is routed through the private endpoint (mykeyvault.vault.privatelink.azure.net), thereby reducing exposure to the public internet.

🛡️ Public Network Access is not disabled🟢

Disallowing public network access for a storage account overrides the public access settings for individual containers in that storage account for Azure Resource Manager Deployment Model storage accounts.

🛡️ Queue Logging is not enabled for Read, Write, and Delete requests🟢

The Storage Queue service stores messages that may be read by any client who has access to the storage account. Storage Logging happens server-side and allows details for both successful and failed requests to be recorded in the storage account. These logs allow users to see the details of read, write, and delete operations against the queues.

🛡️ Recovery Point is expired and failed to delete🟢

Ensures that expired AWS Backup Recovery Points did not fail to delete. This is indicated by recovery points being past their calculated deletion date, or having no calculated deletion date. This can lead to unnecessary costs and data retention issues.

🛡️ Remote Debugging is not disabled🟢

Remote Debugging allows Azure App Service to be debugged in real-time directly on the Azure environment. When remote debugging is enabled, it opens a communication channel that could potentially be exploited by unauthorized users if not properly secured.

🛡️ Repository Manual Scanning is enabled🟢

AWS ECR Repository can be configured to automatically scan container images for software vulnerabilities. It is recommended to enable Scan On Push or Enhanced Scanning to ensure vulnerabilities are identified as soon as an image is pushed to the registry, rather than relying on manual scans.

🛡️ Reservation expires in the next 60 days🟢

Ensure that expiring Azure Reservations are tracked renewed or addressed beforehand to avoid service disruptions or loss of discounts. Proactive renewal maintains cost efficiency and ensures resources remain covered by reservations.

🛡️ Resources Basic SKU is used for production workloads🟢⚪

The use of Basic or Free SKUs in Azure whilst cost effective have significant limitations in terms of what can be monitored and what support can be realized from Microsoft. Typically, these SKU's do not have a service SLA and Microsoft may refuse to provide support for them. Consequently Basic/Free SKUs should never be used for production workloads.

🛡️ Role Based Access Control is not enabled🟢

The new RBAC permissions model for Key Vaults enables a much finer grained access control for key vault secrets, keys, certificates, etc., than the vault access policy. This in turn will permit the use of privileged identity management over these roles, thus securing the key vaults with JIT Access management.

🛡️ Root Account Usage Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. It is recommended that a metric filter and alarm be established for 'root' login attempts to detect the unauthorized use, or attempts to use the root account.

🛡️ Route Table Changes Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. Routing tables are used to route network traffic between subnets and to network gateways. It is recommended that a metric filter and alarm be established for changes to route tables.

🛡️ Rule Group has no WAF Rules🟢

Ensure that AWS WAF Rule Groups contain at least one rule. An empty rule group provides no traffic filtering and may indicate an incomplete configuration or an unused resource.

🛡️ S3 Bucket Access Logging is not enabled.🟢

S3 Bucket Access Logging generates a log that contains access records for each request made to your S3 bucket. An access log record contains details about the request, such as the request type, the resources specified in the request worked, and the time and date the request was processed. It is recommended that bucket access logging be enabled on the CloudTrail S3 bucket.

🛡️ S3 Bucket Policy Changes Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. It is recommended that a metric filter and alarm be established for changes to S3 bucket policies.

🛡️ Security Group allows public access to all ports🟢

Identify Azure Network Security Groups that are associated with Network Interfaces linked to NSGs containing inbound rules that allow unrestricted traffic from the public internet(0.0.0.0/0, ::/0, Internet, Any, or *) to all destination ports (*, 0-65535, or unspecified). Restrict access to only the specific destination port and/or IP address ranges that require connectivity.

🛡️ Security Group allows public access to CIFS port🟢

Ensure that Azure Network Security Groups do not allow unrestricted public access to the CIFS port 445. Unrestricted access to CIFS from the public internet poses a significant security risk, potentially exposing file shares and sensitive data to unauthorized access and ransomware attacks.

🛡️ Security Group allows public access to HTTP(S) ports🟢

Ensure that Azure Network Security Groups do not allow unrestricted public access to the HTTP/HTTPS ports 80 and 443. Where certain ports and protocols may be exposed to the Internet, they should be evaluated for necessity and restricted wherever they are not explicitly required.

🛡️ Security Group allows public access to Telnet port🟢

Ensure Azure Network Security Groups do not allow unrestricted public access to the Telnet port 23. Telnet is an insecure protocol that transmits data, including credentials, in plaintext, making it vulnerable to eavesdropping and unauthorized access.

🛡️ Security Group allows public IPv4 (0.0.0.0/0) access to admin ports🟢

Security groups provide stateful filtering of ingress and egress network traffic to AWS resources. It is recommended that no security group allows unrestricted ingress access to remote server administration ports, such as SSH to port 22 and RDP to port 3389, using either the TCP (6), UDP (17) or ALL (-1) protocols.

🛡️ Security Group allows unrestricted CIFS traffic🟢

Common Internet File System (CIFS) is a network file-sharing protocol that allows systems to share files over a network. However, unrestricted CIFS access can expose your data to unauthorized users, leading to potential security risks. It is important to restrict CIFS access to only trusted networks and users to prevent unauthorized access and data breaches.

🛡️ Security Group allows unrestricted DNS traffic🟢

Ensure that AWS EC2 Security Groups do not allow unrestricted DNS traffic. Review and update security group rules to restrict DNS traffic to only trusted sources and destinations to enhance network security and prevent potential misuse.

🛡️ Security Group allows unrestricted FTP traffic🟢

Ensure that FTP traffic (ports 20 and 21) is restricted to trusted IP ranges or disable it entirely. Evaluate the security group settings in AWS EC2 to ensure they do not permit unrestricted access to these ports, which can expose systems to unauthorized access and potential attacks.

🛡️ Security Group allows unrestricted ICMP traffic🟢

Ensure that unrestricted ICMP access (including ping requests) is blocked or limited to trusted IP addresses. This ensures that only necessary network diagnostics can occur, mitigating potential security risks associated with exposing ICMP to the public internet.

🛡️ Security Group allows unrestricted RPC traffic🟢

Ensure that AWS EC2 Security Groups are configured to restrict inbound RPC traffic to only trusted IP ranges or instances. RPC protocol enables inter-process communication and, if improperly secured, can expose EC2 instances to unauthorized access.

🛡️ Security Group allows unrestricted traffic to MongoDB🟢

Ensure that AWS EC2 Security Groups are configured to restrict access to MongoDB. This involves reviewing the Security Group rules to prevent unrestricted access (0.0.0.0/0) to MongoDB on ports 27017-27020 and ensuring that it is only accessible by trusted sources.

🛡️ Security Group Changes Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. Security Groups are a stateful packet filter that controls ingress and egress traffic within a VPC. It is recommended that a metric filter and alarm be established for detecting changes to Security Groups.

🛡️ Security Hub is not enabled🟢

Security Hub collects security data from across AWS accounts, services, and supported third-party partner products and helps you analyze your security trends and identify the highest priority security issues. When you enable Security Hub, it begins to consume, aggregate, organize, and prioritize findings from AWS services that you have enabled, such as Amazon GuardDuty, Amazon Inspector, and Amazon Macie.

🛡️ Sensitive Data Protection is not in use🟢⚪

BigQuery tables can contain sensitive data that for security purposes should be discovered, monitored, classified, and protected. Google Cloud's Sensitive Data Protection tools can automatically provide data classification of all BigQuery data across an organization.

🛡️ Server Auditing is not enabled🟢

Auditing tracks database events and writes them to an audit log in the Azure storage account. Enabling auditing at the server level ensures that all existing and newly created databases on the SQL server instance are audited.

🛡️ Server Certificate is expired🟢

To enable HTTPS connections to your website or application in AWS, you need an SSL/TLS server certificate. You can use ACM or IAM to store and deploy server certificates. Use IAM as a certificate manager only when you must support HTTPS connections in a region that is not supported by ACM. IAM securely encrypts your private keys and stores the encrypted version in IAM SSL certificate storage. IAM supports deploying server certificates in all regions, but you must obtain your certificate from an external provider for use with AWS. You cannot upload an ACM certificate to IAM. Additionally, you cannot manage your certificates from the IAM Console.

🛡️ Server is idle🟢

Identify idle Azure PostgreSQL Servers to optimize costs and improve efficiency. Servers are considered idle if their average CPU is below 5% and I/O utilization is 0% over a 30-day period.

🛡️ Server is underutilized🟢

Identify underutilized Azure MySQL Servers to optimize costs and improve efficiency. Servers are considered underutilized if their average CPU and I/O utilization are consistently below 20% and memory below is 40% over a 30-day period.

🛡️ Server is underutilized🟢

Identify underutilized Azure PostgreSQL Servers to optimize costs and improve efficiency. Servers are considered underutilized if their average CPU and I/O utilization are consistently below 20% and memory is below 40% over a 30-day period.

🛡️ Service Account has admin privileges🟢

A service account is a special Google account that belongs to an application or a VM, instead of to an individual end-user. The application uses the service account to call the service's Google API so that users aren't directly involved. It's recommended not to use admin access for ServiceAccount.

🛡️ Shared Key Access is not disabled🟢

Every secure request to an Azure Storage account must be authorized. By default, requests can be authorized with either Microsoft Entra credentials or by using the account access key for Shared Key authorization.

🛡️ Single Server Enforce SSL Connection is not set enabled🟢

SSL connectivity helps to provide a new layer of security by connecting database server to client applications using Secure Sockets Layer (SSL). Enforcing SSL connections between database server and client applications helps protect against 'man in the middle' attacks by encrypting the data stream between the server and application.

🛡️ Snapshot is publicly accessible🟢

Ensure that your AWS Relational Database Service (RDS) database snapshots are not publicly accessible (i.e. shared with all AWS accounts and users) in order to avoid exposing your private data.

🛡️ Soft Delete and Purge Protection functions are not enabled🟢

It is recommended the Key Vault be made recoverable by enabling the 'Do Not Purge' and 'Soft Delete' functions. This is in order to prevent loss of encrypted data, including storage accounts, SQL databases, and/or dependent services provided by Key Vault objects (Keys, Secrets, Certificates) etc.

🛡️ Storage Account uses Delete lock🟢⚪

Azure Resource Manager CannotDelete (Delete) locks can prevent users from accidentally or maliciously deleting a storage account. This feature ensures that while the Storage account can still be modified or used, deletion of the Storage account resource requires removal of the lock by a user with appropriate permissions. This feature is a protective control for the availability of data. By ensuring that a storage account or its parent resource group cannot be deleted without first removing the lock, the risk of data loss is reduced.

🛡️ Storage Account uses ReadOnly lock🟢⚪

Adding an Azure Resource Manager ReadOnly lock can prevent users from accidentally or maliciously deleting a storage account, modifying its properties and containers, or creating access assignments. The lock must be removed before the storage account can be deleted or updated. It provides more protection than a CannotDelete-type of resource manager lock. This feature prevents POST operations on a storage account and containers to the Azure Resource Manager control plane, management.azure.com. Blocked operations include listKeys which prevents clients from obtaining the account shared access keys. Microsoft does not recommend ReadOnly locks for storage accounts with Azure Files and Table service containers. This Azure Resource Manager REST API documentation (spec) provides information about the control plane POST operations for Microsoft.Storage resources.

🛡️ Symmetric CMK Rotation is not enabled🟢

AWS KMS allows customers to rotate the backing key which is key material stored within the KMS which is tied to the key ID of the customer-created CMK. It is the backing key that is used to perform cryptographic operations such as encryption and decryption. Automated key rotation currently retains all prior backing keys so that decryption of encrypted data can take place transparently. It is recommended that CMK key rotation be enabled for symmetric keys.

🛡️ Table is not encrypted with Customer-Managed Encryption Key (CMEK)🟢

BigQuery by default encrypts the data as rest by employing Envelope Encryption using Google managed cryptographic keys. The data is encrypted using the data encryption keys and data encryption keys themselves are further encrypted using key encryption keys. This is seamless and do not require any additional input from the user. However, if you want to have greater control, Customer-managed encryption keys (CMEK) can be used as encryption key management solution for BigQuery Data Sets. If CMEK is used, the CMEK is used to encrypt the data encryption keys instead of using google-managed encryption keys.

🛡️ Table Logging is not enabled for Read, Write, and Delete requests🟢

Azure Table storage is a service that stores structured NoSQL data in the cloud, providing a key/attribute store with a schema-less design. Storage Logging happens server-side and allows details for both successful and failed requests to be recorded in the storage account. These logs allow users to see the details of read, write, and delete operations against the tables.

🛡️ Table Point In Time Recovery is not enabled🟢

Ensure that Point-in-Time Recovery (PITR) is enabled for your Amazon DynamoDB tables to protect against accidental writes or deletes. PITR provides continuous backups, allowing you to restore your table to any point in time during the last 35 days.

🛡️ Task logging is not enabled🟢

Ensure that AWS DataSync task logging is enabled to capture detailed information about task executions, data transfers, and potential errors in Amazon CloudWatch Logs.

🛡️ Trusted Launch is not enabled🟢

When Secure Boot and vTPM are enabled together, they provide a strong foundation for protecting your VM from boot attacks. For example, if an attacker attempts to replace the bootloader with a malicious version, Secure Boot will prevent the VM from booting. If the attacker is able to bypass Secure Boot and install a malicious bootloader, vTPM can be used to detect the intrusion and alert you.

🛡️ Unauthorized API Calls Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. It is recommended that a metric filter and alarm be established for unauthorized API calls.

🛡️ Use of the 'User Access Administrator' role is not restricted🟢

The User Access Administrator role grants the ability to view all resources and manage access assignments at any subscription or management group level within the tenant. Due to its broad privileges, this role should be assigned only for the duration of the necessary changes at the root scope and then removed immediately. For ongoing operations, define and use custom roles that grant only the minimum permissions required.

🛡️ User Access Keys are not rotated every 90 days or less🟢

Access keys consist of an access key ID and secret access key, which are used to sign programmatic requests that you make to AWS. AWS users need their own access keys to make programmatic calls to AWS from the AWS Command Line Interface (AWS CLI), Tools for Windows PowerShell, the AWS SDKs, or direct HTTP calls using the APIs for individual AWS services. It is recommended that all access keys be regularly rotated.

🛡️ User has inline or directly attached policies🟢

IAM users are granted access to services, functions, and data through IAM policies. There are four ways to define policies for a user: 1) Edit the user policy directly, aka an inline, or user, policy. 2) attach a policy directly to a user. 3) add the user to an IAM group that has an attached policy. 4) add the user to an IAM group that has an inline policy. Only the third implementation is recommended.

🛡️ User MFA is not enabled for all users with console password🟢

Multi-Factor Authentication (MFA) adds an extra layer of authentication assurance beyond traditional credentials. With MFA enabled, when a user signs in to the AWS Console, they will be prompted for their user name and password as well as for an authentication code from their physical or virtual MFA token. It is recommended that MFA be enabled for all accounts that have a console password.

🛡️ User with console and programmatic access set during the initial creation🟢⚪

AWS console defaults to no check boxes selected when creating a new IAM user. When creating the IAM User credentials you have to determine what type of access they require. Programmatic access: The IAM user might need to make API calls, use the AWS CLI, or use the Tools for Windows PowerShell. In that case, create an access key (access key ID and a secret access key) for that user. AWS Management Console access: If the user needs to access the AWS Management Console, create a password for the user.

🛡️ Users Multi-Factor Auth Status is not enabled🟢⚪

Enable multi-factor authentication for all roles, groups, and users that have write access or permissions to Azure resources. These include custom created objects or built-in roles such as: Service Co-Administrators, Subscription Owners Contributors

🛡️ vCenter Virtual Machine Should Have Breeze Agent Installed🟢

Ensure that Breeze Agent is installed on the vCenter Virtual Machine. The Breeze Agent streams OS-level data into Cloudaware CMDB and seamlessly enables other Cloudaware modules such as Intrusion Detection (IDS), Vulnerability Scanning, Patch Management, CIS Benchmarking, and Event Monitoring.

🛡️ Virtual Machine allows public access to all ports🟢

Identify Azure Virtual Machines that are associated with Network Interfaces linked to NSGs containing inbound rules that allow unrestricted traffic from the public internet(0.0.0.0/0, ::/0, Internet, Any, or *) to all destination ports (*, 0-65535, or unspecified). Restrict access to only the specific destination port and/or IP address ranges that require connectivity.

🛡️ Virtual Machine allows public access to CIFS port🟢

Ensure that Azure Virtual Machines do not allow unrestricted public access to the CIFS port 445. Unrestricted access to CIFS from the public internet poses a significant security risk, potentially exposing file shares and sensitive data to unauthorized access and ransomware attacks.

🛡️ Virtual Machine allows public access to DNS port🟢

Ensure that Azure Virtual Machines do not allow unrestricted public access to the DNS port 53. Exposing DNS to the internet from a VM can pose security risks, such as participation in DNS amplification attacks or unauthorized DNS resolution.

🛡️ Virtual Machine allows public access to HTTP(S) ports🟢

Ensure that Azure Virtual Machines do not allow unrestricted public access to the HTTP/HTTPS ports 80 and 443. Where certain ports and protocols may be exposed to the Internet, they should be evaluated for necessity and restricted wherever they are not explicitly required.

🛡️ Virtual Machine is idle🟢

Identify and address idle Azure Virtual Machines to optimize costs by stopping, terminating, or downscaling VMs with low utilization. VMs are considered idle if their average CPU utilization is below 5%, maximum CPU utilization is below 15%, and average network I/O is below 100 MB over a 14-day period.

🛡️ Virtual Machine is not utilizing Managed Disks🟢

Migrate blob-based VHDs to Managed Disks on Virtual Machines toexploit the default features of this configuration. The features include: 1. Default Disk Encryption 2. Resilience, as Microsoft will managed the disk storage and move around if underlying hardware goes faulty 3. Reduction of costs over storage accounts

🛡️ Virtual Machine is overutilized🟢

Identify Azure Virtual Machines that appear to be overutilized and upgrade (resize) them in order to help your Azure-hosted applications to handle the workload better and improve the response time. By default, an Azure Virtual Machine is considered overutilized if their average CPU utilization exceeds 80% and maximum CPU utilization consistently spikes above 95% over a 14-day period

🛡️ Virtual Machine is underutilized🟢

Identify Azure Virtual Machines that appear to be underutilized and downsize (resize) them to optimize cloud expenditure. By default, a Virtual Machine is considered underutilized if their average CPU utilization is consistently below 40% and maximum CPU utilization does not spike above 50% over a 14-day period.

🛡️ VPC Changes Monitoring is not enabled🟢⚪

Real-time monitoring of API calls can be achieved by directing CloudTrail Logs to CloudWatch Logs, or an external Security information and event management (SIEM) environment, and establishing corresponding metric filters and alarms. It is possible to have more than 1 VPC within an account, in addition it is also possible to create a peer connection between 2 VPCs enabling network traffic to route between VPCs. It is recommended that a metric filter and alarm be established for changes made to VPCs.

🛡️ VPN Connection does not have both Tunnels up🟢

Ensure both tunnels for an AWS Site-to-Site VPN Connection are in the UP state. AWS provides two tunnels for each VPN connection to ensure high availability and redundancy. If one tunnel is down, the VPN connection becomes a single point of failure, risking connectivity loss during maintenance or an unexpected failure of the active tunnel.

🛡️ Web Distribution uses Dedicated IP for SSL🟢

Ensure that AWS CloudFront Distributions are configured to use Server Name Indication (SNI) for serving SSL/TLS-protected content. Using dedicated IP addresses is a legacy method that incurs additional costs and is generally unnecessary as almost all modern clients support SNI.

🛡️ Workspace is not deployed in a customer-managed virtual network (VNet)🟢

Deploy Azure Databricks Workspaces using customer-managed Virtual Network injection so that compute clusters and control-plane components reside securely within your organization's network perimeter. The default Databricks-managed VNet offers only limited control over network security policies, firewall configurations and routing.

🛡️ WorkSpace is unused🟢

This policy identifies AWS WorkSpaces that have not been used for an extended period. A WorkSpace is considered unused if it is running and there has been no user connections for the last 30 days.

🛡️ Workspace traffic is not encrypted between cluster worker nodes🟢⚪

By default, data exchanged between worker nodes in an Azure Databricks cluster is not encrypted. To ensure that data is encrypted at all times, whether at rest or in transit, you can create an initialization script that configures your clusters to encrypt traffic between worker nodes using AES 256-bit encryption over a TLS 1.3 connection.