Plantilla de postura predefinida para ISO 27001

En esta página, se describen las políticas de detective que se incluyen en la versión v1.0 de la plantilla de postura predefinida para el estándar 27001 de la Organización Internacional de Estándares (ISO). 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 ISO 27001.

Puedes implementar esta plantilla de posición sin realizar cambios.

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 posición.

Nombre del detector Descripción
SQL_CROSS_DB_OWNERSHIP_CHAINING

Este detector verifica si la marca cross_db_ownership_chaining de Cloud SQL para SQL Server no 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 de Cloud SQL para MySQL 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.

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 la autenticación estándar.

SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY

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

LOCKED_RETENTION_POLICY_NOT_SET

Este detector verifica si la política de retención bloqueada está establecida para los registros.

SQL_LOG_DISCONNECTIONS_DISABLED

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

COMPUTE_SERIAL_PORTS_ENABLED

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

COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED

Este detector verifica si se están usando las claves SSH en todo el proyecto.

KMS_KEY_NOT_ROTATED

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

DNS_LOGGING_DISABLED

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

SQL_LOCAL_INFILE

Este detector verifica si la marca local_infile de Cloud SQL para MySQL no 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 como -1.

PUBLIC_DATASET

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

DISK_CSEK_DISABLED

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

SQL_USER_CONNECTIONS_CONFIGURED

Este detector verifica si la marca user connections de Cloud SQL para SQL Server está configurada.

SERVICE_ACCOUNT_ROLE_SEPARATION

Este detector verifica la separación de obligaciones para las claves de cuenta de servicio.

AUDIT_CONFIG_NOT_MONITORED

Este detector verifica si se supervisan los cambios de configuración de auditoría.

BUCKET_IAM_NOT_MONITORED

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

PUBLIC_SQL_INSTANCE

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

AUTO_BACKUP_DISABLED

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

DATAPROC_CMEK_DISABLED

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

LOG_NOT_EXPORTED

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

KMS_PROJECT_HAS_OWNER

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

KMS_ROLE_SEPARATION

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

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 como warning.

SQL_PUBLIC_IP

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

DATASET_CMEK_DISABLED

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

FIREWALL_NOT_MONITORED

Este detector verifica si las métricas de registro 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 en Cloud SQL para PostgreSQL Server no está configurada como ddl.

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 del conjunto de datos.

CONFIDENTIAL_COMPUTING_DISABLED

Este detector verifica si Confidential Computing está desactivado.

SQL_INSTANCE_NOT_MONITORED

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

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.

DEFAULT_NETWORK

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

SQL_TRACE_FLAG_3625

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

API_KEY_NOT_ROTATED

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

DNSSEC_DISABLED

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

SQL_LOG_CONNECTIONS_DISABLED

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

LEGACY_NETWORK

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

PUBLIC_IP_ADDRESS

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

FULL_API_ACCESS

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

SQL_CONTAINED_DATABASE_AUTHENTICATION

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

OS_LOGIN_DISABLED

Este detector verifica si el Acceso al SO está desactivado.

SQL_USER_OPTIONS_CONFIGURED

Este detector verifica si la marca user options de Cloud SQL para SQL Server está configurada.

ADMIN_SERVICE_ACCOUNT

Este detector verifica si una cuenta de servicio tiene privilegios de Administrador, Propietario o Editor.

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 registro y las alertas no están configuradas para supervisar los cambios en la red de VPC.

PUBLIC_BUCKET_ACL

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

CUSTOM_ROLE_NOT_MONITORED

Este detector verifica si el registro está desactivado para cambios de funciones personalizadas.

SQL_LOG_ERROR_VERBOSITY

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

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 funciones de cuenta de servicio a nivel de proyecto, en lugar de hacerlo para una cuenta de servicio específica.

SQL_REMOTE_ACCESS_ENABLED

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

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.

BUCKET_POLICY_ONLY_DISABLED

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

ROUTE_NOT_MONITORED

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

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 incluye la definición YAML de la plantilla de postura para ISO 27001.

name: organizations/123/locations/global/postureTemplates/iso_27001
description: Posture Template to make your workload ISO-27001 compliant.
revision_id: v.1.0
state: ACTIVE
policy_sets:
- policy_set_id: ISO-27001 detective policy set
  description: 63 SHA modules that new customers can automatically enable.
  policies:
  - policy_id: SQL cross DB ownership chaining
    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: 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: 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: Locked retention policy not set
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: LOCKED_RETENTION_POLICY_NOT_SET
  - policy_id: SQL log disconnections disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_DISCONNECTIONS_DISABLED
  - policy_id: Compute serial ports enabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: COMPUTE_SERIAL_PORTS_ENABLED
  - policy_id: Compute project wide ssh keys allowed
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED
  - policy_id: KMS key not rotated
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_KEY_NOT_ROTATED
  - policy_id: DNS logging disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DNS_LOGGING_DISABLED
  - policy_id: SQL local 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: Public dataset
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_DATASET
  - 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: 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: Bucket IAM not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: BUCKET_IAM_NOT_MONITORED
  - policy_id: Public SQL instance
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_SQL_INSTANCE
  - policy_id: Auto backup disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: AUTO_BACKUP_DISABLED
  - policy_id: Dataproc CMEK disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DATAPROC_CMEK_DISABLED
  - policy_id: Log not exported
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: LOG_NOT_EXPORTED
  - policy_id: KMS project has owner
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_PROJECT_HAS_OWNER
  - policy_id: KMS role separation
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_ROLE_SEPARATION
  - 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 public IP
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_PUBLIC_IP
  - policy_id: Dataset CMEK disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DATASET_CMEK_DISABLED
  - 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: BigQuery table CMEK disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: BIGQUERY_TABLE_CMEK_DISABLED
  - policy_id: Confidential computing disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: CONFIDENTIAL_COMPUTING_DISABLED
  - policy_id: SQL instance not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_INSTANCE_NOT_MONITORED
  - policy_id: KMS public key
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: KMS_PUBLIC_KEY
  - policy_id: Default network
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DEFAULT_NETWORK
  - policy_id: SQL trace flag 3625
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_TRACE_FLAG_3625
  - policy_id: API key not rotated
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: API_KEY_NOT_ROTATED
  - policy_id: DNSSEC disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: DNSSEC_DISABLED
  - 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: Public IP address
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_IP_ADDRESS
  - policy_id: Full API access
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: FULL_API_ACCESS
  - policy_id: SQL contained database authentication
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_CONTAINED_DATABASE_AUTHENTICATION
  - policy_id: OS login disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: OS_LOGIN_DISABLED
  - policy_id: SQL user options configured
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_USER_OPTIONS_CONFIGURED
  - policy_id: Admin service account
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: ADMIN_SERVICE_ACCOUNT
  - 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: Public bucket ACL
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: PUBLIC_BUCKET_ACL
  - policy_id: Custom role not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: CUSTOM_ROLE_NOT_MONITORED
  - policy_id: SQL log error verbosity
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: SQL_LOG_ERROR_VERBOSITY
  - 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: 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: Bucket policy only disabled
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: BUCKET_POLICY_ONLY_DISABLED
  - policy_id: Route not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: ROUTE_NOT_MONITORED
  - policy_id: Owner not monitored
    constraint:
      securityHealthAnalyticsModule:
        moduleEnablementState: ENABLED
        moduleName: OWNER_NOT_MONITORED

¿Qué sigue?