Predefined posture template for NIST SP 800-53

This page describes the detective policies that are included in the v1.0 version of the predefined posture template for the National Institute of Standards and Technology (NIST) SP 800-53 standard. This template includes a policy set that defines the Security Health Analytics detectors that apply to workloads that must be compliant with the NIST SP 800-53 standard.

You can deploy this posture template without making any changes.

Security Health Analytics detectors

The following table describes the Security Health Analytics detectors that are included in this posture template.

Detector name Description
BIGQUERY_TABLE_CMEK_DISABLED

This detector checks whether a BigQuery table isn't configured to use a customer-managed encryption key (CMEK). For more information, see Dataset vulnerability findings.

PUBLIC_DATASET

This detector checks whether a dataset is configured to be open to public access. For more information, see Dataset vulnerability findings.

SQL_CROSS_DB_OWNERSHIP_CHAINING

This detector checks whether the cross_db_ownership_chaining flag in Cloud SQL for SQL Server isn't off.

INSTANCE_OS_LOGIN_DISABLED

This detector checks whether OS Login is not turned on.

SQL_SKIP_SHOW_DATABASE_DISABLED

This detector checks whether the skip_show_database flag in Cloud SQL for MySQL isn't on.

SQL_EXTERNAL_SCRIPTS_ENABLED

This detector checks whether the external scripts enabled flag in Cloud SQL for SQL Server isn't off.

VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

This detector checks whether VPC Flow Logs is not turned on.

API_KEY_EXISTS

This detector checks whether a project is using API keys instead of standard authentication.

SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY

This detector checks whether the log_min_error_statement flag in Cloud SQL for PostgreSQL doesn't have an appropriate severity level.

COMPUTE_SERIAL_PORTS_ENABLED

This detector checks whether serial ports are enabled.

SQL_LOG_DISCONNECTIONS_DISABLED

This detector checks whether the log_disconnections flag in Cloud SQL for PostgreSQL isn't on.

COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED

This detector checks whether project-wide SSH keys are being used.

KMS_PROJECT_HAS_OWNER

This detector checks whether a user has the Owner permission on a project that includes keys.

KMS_KEY_NOT_ROTATED

This detector checks whether rotation for the Cloud Key Management Service encryption is not turned on.

ESSENTIAL_CONTACTS_NOT_CONFIGURED

This detector checks whether you have at least one Essential Contact.

AUDIT_LOGGING_DISABLED

This detector checks whether audit logging is turned off for a resource.

LOCKED_RETENTION_POLICY_NOT_SET

This detector checks whether the locked retention policy is set for logs.

DNS_LOGGING_DISABLED

This detector checks whether DNS logging is enabled on the VPC network.

LOG_NOT_EXPORTED

This detector checks whether a resource doesn't have a log sink configured.

KMS_ROLE_SEPARATION

This detector checks for separation of duties for Cloud KMS keys.

DISK_CSEK_DISABLED

This detector checks whether customer supplied encryption key (CSEK) support is turned off for a VM.

SQL_USER_CONNECTIONS_CONFIGURED

This detector checks whether the user connections flag in Cloud SQL for SQL Server is configured.

API_KEY_APIS_UNRESTRICTED

This detector checks whether API keys are being used too broadly.

SQL_LOG_MIN_MESSAGES

This detector checks whether the log_min_messages flag in Cloud SQL for PostgreSQL isn't set to warning.

SQL_LOCAL_INFILE

This detector checks whether the local_infile flag in Cloud SQL for MySQL isn't off.

SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

This detector checks whether the log_min_duration_statement flag in Cloud SQL for PostgreSQL isn't set to -1.

DATASET_CMEK_DISABLED

This detector checks whether CMEK support is turned off for a BigQuery dataset.

OPEN_SSH_PORT

This detector checks whether a firewall has an open SSH port that allows generic access. For more information, see Firewall vulnerability findings.

FIREWALL_NOT_MONITORED

This detector checks whether log metrics and alerts aren't configured to monitor VPC firewall rule changes.

SQL_LOG_STATEMENT

This detector checks whether the log_statement flag in Cloud SQL for PostgreSQL Server isn't set to ddl.

SQL_PUBLIC_IP

This detector checks whether a Cloud SQL database has an external IP address.

IP_FORWARDING_ENABLED

This detector checks whether IP forwarding is turned on.

DATAPROC_CMEK_DISABLED

This detector checks whether CMEK support is turned off for a Dataproc cluster.

CONFIDENTIAL_COMPUTING_DISABLED

This detector checks whether Confidential Computing is turned off.

KMS_PUBLIC_KEY

This detector checks whether a Cloud Key Management Service cryptographic key is publicly accessible. For more information, see KMS vulnerability findings.

SQL_INSTANCE_NOT_MONITORED

This detector checks whether logging is turned off for Cloud SQL configuration changes.

SQL_TRACE_FLAG_3625

This detector checks whether the 3625 (trace flag) flag in Cloud SQL for SQL Server isn't on.

DEFAULT_NETWORK

This detector checks whether the default network exists in a project.

DNSSEC_DISABLED

This detector checks whether DNS security (DNSSEC) is turned off for Cloud DNS. For more information, see DNS vulnerability findings.

API_KEY_NOT_ROTATED

This detector checks whether an API key has been rotated within the last 90 days.

SQL_LOG_CONNECTIONS_DISABLED

This detector checks whether the log_connections flag in Cloud SQL for PostgreSQL isn't on.

LEGACY_NETWORK

This detector checks whether a legacy network exists in a project.

IAM_ROOT_ACCESS_KEY_CHECK

This detector checks whether IAM root access key is accessible.

PUBLIC_IP_ADDRESS

This detector checks whether an instance has an external IP address.

OPEN_RDP_PORT

This detector checks whether a firewall has an open RDP port.

INSTANCE_OS_LOGIN_DISABLED

This detector checks whether OS Login is not turned on.

ADMIN_SERVICE_ACCOUNT

This detector checks whether a service account has Admin, Owner, or Editor privileges.

SQL_USER_OPTIONS_CONFIGURED

This detector checks whether the user options flag in Cloud SQL for SQL Server is configured.

FULL_API_ACCESS

This detector checks whether an instance is using a default service account with full access to all Google Cloud APIs.

DEFAULT_SERVICE_ACCOUNT_USED

This detector checks whether the default service account is being used.

NETWORK_NOT_MONITORED

This detector checks whether log metrics and alerts aren't configured to monitor VPC network changes.

SQL_CONTAINED_DATABASE_AUTHENTICATION

This detector checks whether the contained database authentication flag in Cloud SQL for SQL Server isn't off.

PUBLIC_BUCKET_ACL

This detector checks whether a bucket is publicly accessible.

LOAD_BALANCER_LOGGING_DISABLED

This detector checks whether logging is turned off for the load balancer.

OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

This detector checks whether a user has service account roles at the project level, instead of for a specific service account.

SQL_REMOTE_ACCESS_ENABLED

This detector checks whether the remote_access flag in Cloud SQL for SQL Server isn't off.

CUSTOM_ROLE_NOT_MONITORED

This detector checks whether logging is turned off for custom role changes.

AUTO_BACKUP_DISABLED

This detector checks whether a Cloud SQL database doesn't have automatic backups turned on.

RSASHA1_FOR_SIGNING

This detector checks whether RSASHA1 is used for key signing in Cloud DNS zones.

CLOUD_ASSET_API_DISABLED

This detector checks whether Cloud Asset Inventory is turned off.

SQL_LOG_ERROR_VERBOSITY

This detector checks whether the log_error_verbosity flag in Cloud SQL for PostgreSQL isn't set to default.

ROUTE_NOT_MONITORED

This detector checks whether log metrics and alerts aren't configured to monitor VPC network route changes.

BUCKET_POLICY_ONLY_DISABLED

This detector checks whether uniform bucket-level access is configured.

BUCKET_IAM_NOT_MONITORED

This detector checks whether logging is turned off for IAM permission changes in Cloud Storage.

PUBLIC_SQL_INSTANCE

This detector checks whether a Cloud SQL allows connections from all IP addresses.

SERVICE_ACCOUNT_ROLE_SEPARATION

This detector checks for separation of duties for service account keys.

AUDIT_CONFIG_NOT_MONITORED

This detector checks whether audit configuration changes are being monitored.

OWNER_NOT_MONITORED

This detector checks whether logging is turned off for project ownership assignments and changes.

View the posture template

To view the posture template for NIST 800-53, do the following:

gcloud

Before using any of the command data below, make the following replacements:

  • ORGANIZATION_ID: the numeric ID of the organization

Execute the gcloud scc posture-templates describe command:

Linux, macOS, or Cloud Shell

gcloud scc posture-templates describe \
    organizations/ORGANIZATION_ID/locations/global/postureTemplates/nist_800_53

Windows (PowerShell)

gcloud scc posture-templates describe `
    organizations/ORGANIZATION_ID/locations/global/postureTemplates/nist_800_53

Windows (cmd.exe)

gcloud scc posture-templates describe ^
    organizations/ORGANIZATION_ID/locations/global/postureTemplates/nist_800_53

The response contains the posture template.

REST

Before using any of the request data, make the following replacements:

  • ORGANIZATION_ID: the numeric ID of the organization

HTTP method and URL:

GET https://securityposture.googleapis.com/v1/organizations/ORGANIZATION_ID/locations/global/postureTemplates/nist_800_53

To send your request, expand one of these options:

The response contains the posture template.

What's next