Plantilla de postura predefinida para ISO 27001

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 del estándar de la Organización Internacional de Estándares (ISO) 27001. 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 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
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.

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

LOCKED_RETENTION_POLICY_NOT_SET

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

SQL_LOG_DISCONNECTIONS_DISABLED

Este detector verifica si la marca log_disconnections en 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 usan claves SSH de todo el proyecto.

KMS_KEY_NOT_ROTATED

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

DNS_LOGGING_DISABLED

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

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.

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.

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.

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.

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.

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 Propietario en un proyecto que incluye claves.

KMS_ROLE_SEPARATION

Este detector verifica la separación de tareas para 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 en 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 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.

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.

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) en Cloud SQL para SQL Server no está activada.

API_KEY_NOT_ROTATED

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

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.

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.

PUBLIC_IP_ADDRESS

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

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.

SQL_CONTAINED_DATABASE_AUTHENTICATION

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

OS_LOGIN_DISABLED

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

SQL_USER_OPTIONS_CONFIGURED

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

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 registros 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 los cambios de roles personalizados.

SQL_LOG_ERROR_VERBOSITY

Este detector verifica si la marca log_error_verbosity en Cloud SQL para PostgreSQL no está configurada en 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 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.

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 y alertas de registro no están configuradas para supervisar los cambios en las rutas 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 muestra la definición YAML para la plantilla de postura de 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?