适用于 ISO 27001 的预定义状况模板

本页面介绍了国际标准组织 (ISO) 27001 标准的预定义安全状况模板 v1.0 版本中包含的检测政策。此模板包含一个政策集,用于定义 Security Health Analytics 检测器,这些检测器适用于必须符合 ISO 27001 标准的工作负载。

您无需进行任何更改即可部署此状况模板。

Security Health Analytics 检测器

下表介绍了此状况模板中包含的 Security Health Analytics 检测器。

检测器名称 说明
SQL_CROSS_DB_OWNERSHIP_CHAINING

此检测器会检查 Cloud SQL for SQL Server 中的 cross_db_ownership_chaining 标志是否未关闭。

INSTANCE_OS_LOGIN_DISABLED

此检测器会检查 OS Login 是否未开启。

SQL_SKIP_SHOW_DATABASE_DISABLED

此检测器会检查 Cloud SQL for MySQL 中的 skip_show_database 标志是否未开启。

ESSENTIAL_CONTACTS_NOT_CONFIGURED

此检测器会检查您是否至少有一位重要联系人

AUDIT_LOGGING_DISABLED

此检测器会检查是否为资源关闭了审核日志记录。

VPC_FLOW_LOGS_SETTINGS_NOT_RECOMMENDED

此检测器会检查 VPC 流日志是否未开启。

API_KEY_EXISTS

此检测器会检查项目是否使用的是 API 密钥而不是标准身份验证。

SQL_LOG_MIN_ERROR_STATEMENT_SEVERITY

此检测器会检查 Cloud SQL for PostgreSQL 中的 log_min_error_statement 标志是否没有适当的严重级别。

LOCKED_RETENTION_POLICY_NOT_SET

此检测器会检查是否为日志设置了锁定的保留政策。

SQL_LOG_DISCONNECTIONS_DISABLED

此检测器会检查 Cloud SQL for PostgreSQL 中的 log_disconnections 标志是否未开启。

COMPUTE_SERIAL_PORTS_ENABLED

此检测器会检查串行端口是否已启用。

COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED

此检测器会检查是否使用了项目级 SSH 密钥。

KMS_KEY_NOT_ROTATED

此检测器会检查是否未开启 Cloud Key Management Service 加密轮替。

DNS_LOGGING_DISABLED

此检测器会检查 VPC 网络是否启用了 DNS 日志记录。

SQL_LOCAL_INFILE

此检测器会检查 Cloud SQL for MySQL 中的 local_infile 标志是否未关闭。

SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

此检测器会检查 Cloud SQL for PostgreSQL 中的 log_min_duration_statement 标志是否未设置为 -1

PUBLIC_DATASET

此检测器会检查数据集是否已配置为允许公开访问。如需了解详情,请参阅数据集漏洞发现结果

DISK_CSEK_DISABLED

此检测器会检查虚拟机是否停用了客户提供的加密密钥 (CSEK) 支持。

SQL_USER_CONNECTIONS_CONFIGURED

此检测器会检查是否已配置 Cloud SQL for SQL Server 中的 user connections 标志。

SERVICE_ACCOUNT_ROLE_SEPARATION

此检测器会检查服务帐号密钥的职责分离。

AUDIT_CONFIG_NOT_MONITORED

此检测器会检查审核配置更改是否被监控。

BUCKET_IAM_NOT_MONITORED

此检测器会检查是否对 Cloud Storage 中的 IAM 权限更改关闭了日志记录。

PUBLIC_SQL_INSTANCE

此检测器会检查 Cloud SQL 是否允许来自所有 IP 地址的连接。

AUTO_BACKUP_DISABLED

此检测器会检查 Cloud SQL 数据库是否未开启自动备份。

DATAPROC_CMEK_DISABLED

此检测器会检查是否对 Dataproc 集群停用了 CMEK 支持。

LOG_NOT_EXPORTED

此检测器会检查资源是否未配置日志接收器。

KMS_PROJECT_HAS_OWNER

此检测器会检查用户是否对包含密钥的项目具有 Owner 权限。

KMS_ROLE_SEPARATION

此检测器会检查 Cloud KMS 密钥的职责分离。

API_KEY_APIS_UNRESTRICTED

此检测器会检查 API 密钥的使用是否过于宽泛。

SQL_LOG_MIN_MESSAGES

此检测器会检查 Cloud SQL for PostgreSQL 中的 log_min_messages 标志是否未设置为 warning

SQL_PUBLIC_IP

此检测器会检查 Cloud SQL 数据库是否具有外部 IP 地址。

DATASET_CMEK_DISABLED

此检测器会检查是否为 BigQuery 数据集停用了 CMEK 支持。

FIREWALL_NOT_MONITORED

此检测器会检查是否未将日志指标和提醒配置为监控 VPC 防火墙规则更改。

SQL_LOG_STATEMENT

此检测器会检查 Cloud SQL for PostgreSQL Server 中的 log_statement 标志是否未设置为 ddl

BIGQUERY_TABLE_CMEK_DISABLED

此检测器会检查 BigQuery 表是否未配置为使用客户管理的加密密钥 (CMEK)。如需了解详情,请参阅数据集漏洞发现结果

CONFIDENTIAL_COMPUTING_DISABLED

此检测器会检查机密计算是否已关闭。

SQL_INSTANCE_NOT_MONITORED

此检测器会检查是否为 Cloud SQL 配置更改关闭了日志记录。

KMS_PUBLIC_KEY

此检测器会检查 Cloud Key Management Service 加密密钥是否可公开访问。如需了解详情,请参阅 KMS 漏洞发现结果

DEFAULT_NETWORK

此检测器会检查项目中是否存在默认网络。

SQL_TRACE_FLAG_3625

此检测器会检查 Cloud SQL for SQL Server 中的 3625 (trace flag) 标志是否未开启。

API_KEY_NOT_ROTATED

此检测器会检查 API 密钥在过去 90 天内是否发生了轮替。

DNSSEC_DISABLED

此检测器会检查 Cloud DNS 的 DNS 安全性 (DNSSEC) 是否已停用。如需了解详情,请参阅 DNS 漏洞发现结果

SQL_LOG_CONNECTIONS_DISABLED

此检测器会检查 Cloud SQL for PostgreSQL 中的 log_connections 标志是否未开启。

LEGACY_NETWORK

此检测器会检查项目中是否存在旧版网络。

PUBLIC_IP_ADDRESS

此检测器会检查实例是否具有外部 IP 地址。

FULL_API_ACCESS

此检测器会检查实例是否使用对所有 Google Cloud API 拥有完整访问权限的默认服务帐号。

SQL_CONTAINED_DATABASE_AUTHENTICATION

此检测器会检查 Cloud SQL for SQL Server 中的 contained database authentication 标志是否未关闭。

OS_LOGIN_DISABLED

此检测器会检查 OS Login 是否已关闭。

SQL_USER_OPTIONS_CONFIGURED

此检测器会检查是否已配置 Cloud SQL for SQL Server 中的 user options 标志。

ADMIN_SERVICE_ACCOUNT

此检测器检查服务帐号是否具有 Admin(管理员)、Owner(所有者)或 Editor(编辑者)权限。

DEFAULT_SERVICE_ACCOUNT_USED

此检测器会检查是否正在使用默认服务帐号。

NETWORK_NOT_MONITORED

此检测器会检查是否未将日志指标和提醒配置为监控 VPC 网络更改。

PUBLIC_BUCKET_ACL

此检测器会检查存储桶是否可公开访问。

CUSTOM_ROLE_NOT_MONITORED

此检测器会检查是否已针对自定义角色更改关闭了日志记录。

SQL_LOG_ERROR_VERBOSITY

此检测器会检查 Cloud SQL for PostgreSQL 中的 log_error_verbosity 标志是否未设置为 default

LOAD_BALANCER_LOGGING_DISABLED

此检测器会检查负载均衡器是否关闭了日志记录。

OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

此检测器会检查用户是否在项目级(而不是特定服务帐号)拥有服务帐号角色。

SQL_REMOTE_ACCESS_ENABLED

此检测器会检查 Cloud SQL for SQL Server 中的 remote_access 标志是否未关闭。

RSASHA1_FOR_SIGNING

此检测器会检查是否使用了 RSASHA1 进行 Cloud DNS 区域中的密钥签名。

CLOUD_ASSET_API_DISABLED

此检测器会检查 Cloud Asset Inventory 是否已停用。

BUCKET_POLICY_ONLY_DISABLED

此检测器会检查是否配置了统一存储桶级访问权限。

ROUTE_NOT_MONITORED

此检测器会检查是否未将日志指标和提醒配置为监控 VPC 网络路由更改。

OWNER_NOT_MONITORED

此检测器会检查是否已针对项目所有权分配和更改关闭了日志记录。

YAML 定义

以下是 ISO 27001 安全状况模板的 YAML 定义。

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

后续步骤