Plantilla de postura predefinida para NIST SP 800-53

En esta página, se describen las políticas de detección que se incluyen en la versión v1.0 de la plantilla de postura predefinida para el estándar SP 800-53 del Instituto Nacional de Normas y Tecnología (NIST). En esta plantilla, se incluye un conjunto de políticas que define los detectores de Security Health Analytics que se aplican a las cargas de trabajo que deben cumplir con el estándar NIST SP 800-53.

Puedes implementar esta plantilla de postura sin hacer ningún cambio.

Detectores de estadísticas de estado de seguridad

En la siguiente tabla, se describen los detectores de Security Health Analytics que se incluyen en esta plantilla de postura.

Nombre del detector Descripción
BIGQUERY_TABLE_CMEK_DISABLED

Este detector verifica si una tabla de BigQuery no está configurada para usar una clave de encriptación administrada por el cliente (CMEK). Para obtener más información, consulta Hallazgos de vulnerabilidades de los conjuntos de datos.

PUBLIC_DATASET

Este detector verifica si un conjunto de datos está configurado para estar abierto al acceso público. Para obtener más información, consulta Hallazgos de vulnerabilidades de los conjuntos de datos.

SQL_CROSS_DB_OWNERSHIP_CHAINING

Este detector verifica si la marca cross_db_ownership_chaining en Cloud SQL para SQL Server está desactivada.

INSTANCE_OS_LOGIN_DISABLED

Este detector verifica si el Acceso al SO no está activado.

SQL_SKIP_SHOW_DATABASE_DISABLED

Este detector verifica si la marca skip_show_database en Cloud SQL para MySQL no está activada.

SQL_EXTERNAL_SCRIPTS_ENABLED

Este detector verifica si la marca external scripts enabled en Cloud SQL para SQL Server está desactivada.

VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

Este detector verifica si los registros de flujo de VPC no están activados.

API_KEY_EXISTS

Este detector verifica si un proyecto usa claves de API en lugar de autenticación estándar.

SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY

Este detector verifica si la marca log_min_error_statement en Cloud SQL para PostgreSQL no tiene un nivel de gravedad adecuado.

COMPUTE_SERIAL_PORTS_ENABLED

Este detector verifica si los puertos en serie están habilitados.

SQL_LOG_DISCONNECTIONS_DISABLED

Este detector verifica si la marca log_disconnections en Cloud SQL para PostgreSQL no está activada.

COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED

Este detector verifica si se usan claves SSH de todo el proyecto.

KMS_PROJECT_HAS_OWNER

Este detector verifica si un usuario tiene el permiso de Propietario en un proyecto que incluye claves.

KMS_KEY_NOT_ROTATED

Este detector verifica si la rotación para la encriptación de Cloud Key Management Service no está activada.

ESSENTIAL_CONTACTS_NOT_CONFIGURED

Este detector verifica si tienes al menos un contacto esencial.

AUDIT_LOGGING_DISABLED

Este detector verifica si el registro de auditoría está desactivado para un recurso.

LOCKED_RETENTION_POLICY_NOT_SET

Este detector verifica si la política de retención bloqueada se configuró para los registros.

DNS_LOGGING_DISABLED

Este detector verifica si el registro DNS está habilitado en la red de VPC.

LOG_NOT_EXPORTED

Este detector verifica si un recurso no tiene un receptor de registros configurado.

KMS_ROLE_SEPARATION

Este detector verifica la separación de tareas para las claves de Cloud KMS.

DISK_CSEK_DISABLED

Este detector verifica si la compatibilidad con las claves de encriptación proporcionadas por el cliente (CSEK) está desactivada para una VM.

SQL_USER_CONNECTIONS_CONFIGURED

Este detector verifica si se configuró la marca user connections en Cloud SQL para SQL Server.

API_KEY_APIS_UNRESTRICTED

Este detector verifica si las claves de API se usan de manera demasiado amplia.

SQL_LOG_MIN_MESSAGES

Este detector verifica si la marca log_min_messages en Cloud SQL para PostgreSQL no está configurada en warning.

SQL_LOCAL_INFILE

Este detector verifica si la marca local_infile en Cloud SQL para MySQL está desactivada.

SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

Este detector verifica si la marca log_min_duration_statement en Cloud SQL para PostgreSQL no está configurada en -1.

DATASET_CMEK_DISABLED

Este detector verifica si la compatibilidad con CMEK está desactivada para un conjunto de datos de BigQuery.

OPEN_SSH_PORT

Este detector verifica si un firewall tiene un puerto SSH abierto que permite el acceso genérico. Para obtener más información, consulta Hallazgos de vulnerabilidades de firewall.

FIREWALL_NOT_MONITORED

Este detector verifica si las métricas de registros y las alertas no están configuradas para supervisar los cambios en las reglas de firewall de VPC.

SQL_LOG_STATEMENT

Este detector verifica si la marca log_statement de Cloud SQL para PostgreSQL Server no está configurada en ddl.

SQL_PUBLIC_IP

Este detector verifica si una base de datos de Cloud SQL tiene una dirección IP externa.

IP_FORWARDING_ENABLED

Este detector verifica si el reenvío de IP está activado.

DATAPROC_CMEK_DISABLED

Este detector verifica si la compatibilidad con CMEK está desactivada para un clúster de Dataproc.

CONFIDENTIAL_COMPUTING_DISABLED

Este detector verifica si Confidential Computing está desactivado.

KMS_PUBLIC_KEY

Este detector verifica si una clave criptográfica de Cloud Key Management Service es de acceso público. Para obtener más información, consulta Hallazgos de vulnerabilidades de KMS.

SQL_INSTANCE_NOT_MONITORED

Este detector verifica si el registro está desactivado para los cambios de configuración de Cloud SQL.

SQL_TRACE_FLAG_3625

Este detector verifica si la marca 3625 (trace flag) en Cloud SQL para SQL Server no está activada.

DEFAULT_NETWORK

Este detector verifica si la red predeterminada existe en un proyecto.

DNSSEC_DISABLED

Este detector verifica si la seguridad de DNS (DNSSEC) está desactivada para Cloud DNS. Para obtener más información, consulta Hallazgos de vulnerabilidades de DNS.

API_KEY_NOT_ROTATED

Este detector verifica si una clave de API se rotó en los últimos 90 días.

SQL_LOG_CONNECTIONS_DISABLED

Este detector verifica si la marca log_connections en Cloud SQL para PostgreSQL no está activada.

LEGACY_NETWORK

Este detector verifica si existe una red heredada en un proyecto.

IAM_ROOT_ACCESS_KEY_CHECK

Este detector verifica si se puede acceder a la clave de acceso raíz de IAM.

PUBLIC_IP_ADDRESS

Este detector verifica si una instancia tiene una dirección IP externa.

OPEN_RDP_PORT

Este detector verifica si un firewall tiene un puerto RDP abierto.

INSTANCE_OS_LOGIN_DISABLED

Este detector verifica si el Acceso al SO no está activado.

ADMIN_SERVICE_ACCOUNT

Este detector verifica si una cuenta de servicio tiene privilegios de administrador, propietario o editor.

SQL_USER_OPTIONS_CONFIGURED

Este detector verifica si se configuró la marca user options en Cloud SQL para SQL Server.

FULL_API_ACCESS

Este detector verifica si una instancia usa una cuenta de servicio predeterminada con acceso completo a todas las APIs de Google Cloud.

DEFAULT_SERVICE_ACCOUNT_USED

Este detector verifica si se está usando la cuenta de servicio predeterminada.

NETWORK_NOT_MONITORED

Este detector verifica si las métricas de registros y las alertas no están configuradas para supervisar los cambios en la red de VPC.

SQL_CONTAINED_DATABASE_AUTHENTICATION

Este detector verifica si la marca contained database authentication en Cloud SQL para SQL Server está desactivada.

PUBLIC_BUCKET_ACL

Este detector verifica si un bucket es de acceso público.

LOAD_BALANCER_LOGGING_DISABLED

Este detector verifica si el registro está desactivado para el balanceador de cargas.

OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

Este detector verifica si un usuario tiene roles de cuenta de servicio a nivel de proyecto, en lugar de para una cuenta de servicio específica.

SQL_REMOTE_ACCESS_ENABLED

Este detector verifica si la marca remote_access en Cloud SQL para SQL Server está desactivada.

CUSTOM_ROLE_NOT_MONITORED

Este detector verifica si el registro está desactivado para los cambios de roles personalizados.

AUTO_BACKUP_DISABLED

Este detector verifica si una base de datos de Cloud SQL no tiene activadas las copias de seguridad automáticas.

RSASHA1_FOR_SIGNING

Este detector verifica si RSASHA1 se usa para el acceso de claves en zonas de Cloud DNS.

CLOUD_ASSET_API_DISABLED

Este detector verifica si Cloud Asset Inventory está desactivado.

SQL_LOG_ERROR_VERBOSITY

Este detector verifica si la marca log_error_verbosity en Cloud SQL para PostgreSQL no está configurada en default.

ROUTE_NOT_MONITORED

Este detector verifica si las métricas y alertas de registro no están configuradas para supervisar los cambios en las rutas de la red de VPC.

BUCKET_POLICY_ONLY_DISABLED

Este detector verifica si se configuró el acceso uniforme a nivel de bucket.

BUCKET_IAM_NOT_MONITORED

Este detector verifica si el registro está desactivado para los cambios de permiso de IAM en Cloud Storage.

PUBLIC_SQL_INSTANCE

Este detector verifica si Cloud SQL permite conexiones desde todas las direcciones IP.

SERVICE_ACCOUNT_ROLE_SEPARATION

Este detector verifica la separación de tareas para las claves de cuentas de servicio.

AUDIT_CONFIG_NOT_MONITORED

Este detector verifica si se están supervisando los cambios en la configuración de auditoría.

OWNER_NOT_MONITORED

Este detector verifica si el registro está desactivado para las asignaciones y los cambios de propiedad del proyecto.

Definición de YAML

A continuación, se muestra la definición YAML de la plantilla de postura de NIST 800-53.

name: organizations/123/locations/global/postureTemplates/nist_800_53
description: Posture Template to make your workload NIST800-53 compliant.
revision_id: v.1.0
state: ACTIVE
policy_sets:
- policy_set_id: NIST800-53 detective policy set
  description: 68 SHA modules that new customers can automatically enable.
  policies:
  - policy_id: BigQuery table CMEK disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: BIGQUERY_TABLE_CMEK_DISABLED
  - policy_id: Public dataset
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_DATASET
  - policy_id: SQl cross db ownership
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_CROSS_DB_OWNERSHIP_CHAINING
  - policy_id: Instance OS login disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: INSTANCE_OS_LOGIN_DISABLED
  - policy_id: SQL skip show database disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_SKIP_SHOW_DATABASE_DISABLED
  - policy_id: SQL external scripts enabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_EXTERNAL_SCRIPTS_ENABLED
  - policy_id: VPC flow logs settings not recommended
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED
  - policy_id: API key exists
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: API_KEY_EXISTS
  - policy_id: SQL log min error statement severity
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY
  - policy_id: Compute serial ports enabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: COMPUTE_SERIAL_PORTS_ENABLED
  - policy_id: SQL log disconnections disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_DISCONNECTIONS_DISABLED
  - policy_id: Compute project wide SHH keys allowed
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED
  - policy_id: KMS project has owner
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_PROJECT_HAS_OWNER
  - policy_id: KMS key not rotated
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_KEY_NOT_ROTATED
  - policy_id: Essential contacts not configured
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: ESSENTIAL_CONTACTS_NOT_CONFIGURED
  - policy_id: Audit logging disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: AUDIT_LOGGING_DISABLED
  - policy_id: Locked retention policy not set
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: LOCKED_RETENTION_POLICY_NOT_SET
  - policy_id: DNS logging disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DNS_LOGGING_DISABLED
  - policy_id: Log not exported
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: LOG_NOT_EXPORTED
  - policy_id: KMS role separation
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_ROLE_SEPARATION
  - policy_id: Disk CSEK disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DISK_CSEK_DISABLED
  - policy_id: SQL user connections configured
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_USER_CONNECTIONS_CONFIGURED
  - policy_id: API key APIs unrestricted
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: API_KEY_APIS_UNRESTRICTED
  - policy_id: SQL log min messages
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_MIN_MESSAGES
  - policy_id: SQL log infile
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOCAL_INFILE
  - policy_id: SQL log min duration statement enabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_MIN_DURATION_STATEMENT_ENABLED
  - policy_id: Dataset CMEK disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DATASET_CMEK_DISABLED
  - policy_id: Open SSH port
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: OPEN_SSH_PORT
  - policy_id: Firewall not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: FIREWALL_NOT_MONITORED
  - policy_id: SQL log statement
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_STATEMENT
  - policy_id: SQL public IP
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_PUBLIC_IP
  - policy_id: IP forwarding enabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: IP_FORWARDING_ENABLED
  - policy_id: Dataproc CMEK disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DATAPROC_CMEK_DISABLED
  - policy_id: Confidential computing disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: CONFIDENTIAL_COMPUTING_DISABLED
  - policy_id: KMS public key
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_PUBLIC_KEY
  - policy_id: SQL instance not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_INSTANCE_NOT_MONITORED
  - policy_id: SQL trace flag 3625
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_TRACE_FLAG_3625
  - policy_id: Default network
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DEFAULT_NETWORK
  - policy_id: DNSSEC disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DNSSEC_DISABLED
  - policy_id: API key not rotated
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: API_KEY_NOT_ROTATED
  - policy_id: SQL log connections disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_CONNECTIONS_DISABLED
  - policy_id: Legacy network
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: LEGACY_NETWORK
  - policy_id: IAM root access key check
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: IAM_ROOT_ACCESS_KEY_CHECK
  - policy_id: Public IP address
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_IP_ADDRESS
  - policy_id: Open RDP port
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: OPEN_RDP_PORT
  - policy_id: OS login disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: OS_LOGIN_DISABLED
  - policy_id: Admin service account
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: ADMIN_SERVICE_ACCOUNT
  - policy_id: SQL user options configured
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_USER_OPTIONS_CONFIGURED
  - policy_id: Full API access
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: FULL_API_ACCESS
  - policy_id: Default service account used
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DEFAULT_SERVICE_ACCOUNT_USED
  - policy_id: Network not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: NETWORK_NOT_MONITORED
  - policy_id: SQL contained database authentication
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_CONTAINED_DATABASE_AUTHENTICATION
  - policy_id: Public bucket ACL
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_BUCKET_ACL
  - policy_id: Load balancer logging disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: LOAD_BALANCER_LOGGING_DISABLED
  - policy_id: Over privileged service account user
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: OVER_PRIVILEGED_SERVICE_ACCOUNT_USER
  - policy_id: SQL remote access enabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_REMOTE_ACCESS_ENABLED
  - policy_id: Custom role not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: CUSTOM_ROLE_NOT_MONITORED
  - policy_id: Auto backup disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: AUTO_BACKUP_DISABLED
  - policy_id: RSASHA1 for signing
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: RSASHA1_FOR_SIGNING
  - policy_id: Cloud asset API disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: CLOUD_ASSET_API_DISABLED
  - policy_id: SQL log error verbosity
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_ERROR_VERBOSITY
  - policy_id: Route not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: ROUTE_NOT_MONITORED
  - policy_id: Bucket policy only disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: BUCKET_POLICY_ONLY_DISABLED
  - policy_id: Bucket IAM not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: BUCKET_IAM_NOT_MONITORED
  - policy_id: Publc SQL instance
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_SQL_INSTANCE
  - policy_id: Service account role separation
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SERVICE_ACCOUNT_ROLE_SEPARATION
  - policy_id: Audit config not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: AUDIT_CONFIG_NOT_MONITORED
  - policy_id: Owner not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: OWNER_NOT_MONITORED

¿Qué sigue?