ISO 27001의 사전 정의된 상황 템플릿

이 페이지에서는 국제표준화기구(ISO) 27001 표준의 사전 정의된 상황 템플릿 v1.0 버전에 포함된 감지 정책을 설명합니다. 이 템플릿에는 ISO 27001 표준을 준수해야 하는 워크로드에 적용되는 Security Health Analytics 감지기를 정의하는 정책 집합이 포함되어 있습니다.

변경 없이 이 상황 템플릿을 배포할 수 있습니다.

Security Health Analytics 감지기

다음 표에서는 이 상황 템플릿에 포함된 Security Health Analytics 감지기에 대해 설명합니다.

검사 프로그램 이름 설명
SQL_CROSS_DB_OWNERSHIP_CHAINING

이 감지기는 SQL Server용 Cloud SQL에서 cross_db_ownership_chaining 플래그가 사용 중지되지 않았는지 확인합니다.

INSTANCE_OS_LOGIN_DISABLED

이 감지기는 OS 로그인이 사용 설정되지 않았는지 확인합니다.

SQL_SKIP_SHOW_DATABASE_DISABLED

이 감지기는 MySQL용 Cloud SQL에서 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

이 감지기는 PostgreSQL용 Cloud SQL의 log_min_error_statement 플래그에 적절한 심각도 수준이 없는지 확인합니다.

LOCKED_RETENTION_POLICY_NOT_SET

이 감지기는 잠금 보관 정책이 로그에 설정되었는지 확인합니다.

SQL_LOG_DISCONNECTIONS_DISABLED

이 감지기는 PostgreSQL용 Cloud SQL에서 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

이 감지기는 MySQL용 Cloud SQL에서 local_infile 플래그가 사용 중지되지 않았는지 확인합니다.

SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

이 감지기는 PostgreSQL용 Cloud SQL의 log_min_duration_statement 플래그가 -1으로 설정되지 않았는지 확인합니다.

PUBLIC_DATASET

이 감지기는 데이터 세트가 공개 액세스에 개방되도록 구성되었는지 확인합니다. 자세한 내용은 데이터 세트 취약점 발견 항목을 참조하세요.

DISK_CSEK_DISABLED

이 감지기는 VM에 대해 고객 제공 암호화 키(CSEK) 지원이 사용 중지되어 있는지 확인합니다.

SQL_USER_CONNECTIONS_CONFIGURED

이 감지기는 SQL Server용 Cloud SQL에 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

이 감지기는 사용자에게 키가 포함된 프로젝트에 대한 소유자 권한이 있는지 확인합니다.

KMS_ROLE_SEPARATION

이 감지기는 Cloud KMS 키의 업무 분장을 확인합니다.

API_KEY_APIS_UNRESTRICTED

이 감지기는 API 키가 너무 광범위하게 사용되고 있는지 확인합니다.

SQL_LOG_MIN_MESSAGES

이 감지기는 PostgreSQL용 Cloud SQL의 log_min_messages 플래그가 warning으로 설정되지 않았는지 확인합니다.

SQL_PUBLIC_IP

이 감지기는 Cloud SQL 데이터베이스에 외부 IP 주소가 있는지 확인합니다.

DATASET_CMEK_DISABLED

이 감지기는 BigQuery 데이터 세트에 대해 CMEK 지원이 사용 중지되었는지 확인합니다.

FIREWALL_NOT_MONITORED

이 감지기는 로그 측정항목 및 알림이 VPC 방화벽 규칙 변경사항을 모니터링하도록 구성되지 않았는지 확인합니다.

SQL_LOG_STATEMENT

이 감지기는 PostgreSQL용 Cloud SQL 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

이 감지기는 SQL Server용 Cloud SQL에서 3625 (trace flag) 플래그가 사용 설정되지 않았는지 확인합니다.

API_KEY_NOT_ROTATED

이 감지기는 API 키가 지난 90일 내에 순환되었는지 확인합니다.

DNSSEC_DISABLED

이 감지기는 Cloud DNS에 대해 DNS 보안(DNSSEC)이 사용 중지되어 있는지 확인합니다. 자세한 내용은 DNS 취약점 발견 항목을 참조하세요.

SQL_LOG_CONNECTIONS_DISABLED

이 감지기는 PostgreSQL용 Cloud SQL에서 log_connections 플래그가 사용 설정되지 않았는지 확인합니다.

LEGACY_NETWORK

이 감지기는 프로젝트에 기존 네트워크가 있는지 확인합니다.

PUBLIC_IP_ADDRESS

이 감지기는 인스턴스에 외부 IP 주소가 있는지 확인합니다.

FULL_API_ACCESS

이 감지기는 인스턴스가 모든 Google Cloud API에 대한 전체 액세스 권한을 가진 기본 서비스 계정을 사용 중인지 확인합니다.

SQL_CONTAINED_DATABASE_AUTHENTICATION

이 감지기는 SQL Server용 Cloud SQL에서 contained database authentication 플래그가 사용 중지되지 않았는지 확인합니다.

OS_LOGIN_DISABLED

이 감지기는 OS 로그인이 사용 중지되었는지 확인합니다.

SQL_USER_OPTIONS_CONFIGURED

이 감지기는 SQL Server용 Cloud SQL에 user options 플래그가 구성되었는지 확인합니다.

ADMIN_SERVICE_ACCOUNT

이 감지기는 서비스 계정에 관리자, 소유자, 편집자 권한이 있는지 확인합니다.

DEFAULT_SERVICE_ACCOUNT_USED

이 감지기는 기본 서비스 계정이 사용 중인지 확인합니다.

NETWORK_NOT_MONITORED

이 감지기는 로그 측정항목 및 알림이 VPC 네트워크 변경사항을 모니터링하도록 구성되지 않았는지 확인합니다.

PUBLIC_BUCKET_ACL

이 감지기는 버킷에 공개적으로 액세스할 수 있는지 확인합니다.

CUSTOM_ROLE_NOT_MONITORED

이 감지기는 커스텀 역할 변경사항에 대한 로깅이 사용 중지되었는지 확인합니다.

SQL_LOG_ERROR_VERBOSITY

이 감지기는 PostgreSQL용 Cloud SQL의 log_error_verbosity 플래그가 default으로 설정되지 않았는지 확인합니다.

LOAD_BALANCER_LOGGING_DISABLED

이 감지기는 부하 분산기에 대해 로깅이 사용 중지되었는지 확인합니다.

OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

이 감지기는 사용자에게 특정 서비스 계정 대신 프로젝트 수준의 서비스 계정 역할이 있는지 확인합니다.

SQL_REMOTE_ACCESS_ENABLED

이 감지기는 SQL Server용 Cloud SQL에서 remote_access 플래그가 사용 중지되지 않았는지 확인합니다.

RSASHA1_FOR_SIGNING

이 감지기는 Cloud DNS 영역의 키 서명에 RSASHA1이 사용되는지 확인합니다.

CLOUD_ASSET_API_DISABLED

이 감지기는 Cloud 애셋 인벤토리가 사용 중지되어 있는지 확인합니다.

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

다음 단계