NIST SP 800-53 の事前定義されたポスチャー テンプレート

このページでは、米国国立標準技術研究所(NIST)SP 800-53 標準の事前定義されたポスチャー テンプレートの v1.0 バージョンに含まれる検出ポリシーについて説明します。このテンプレートには、NIST SP 800-53 基準を遵守する必要があるワークロードに適用される Security Health Analytics 検出項目を定義するポリシーセットが含まれています。

このポスチャー テンプレートは、変更を加えることなくデプロイできます。

Security Health Analytics の検出機能

次の表に、このポスチャー テンプレートに含まれる Security Health Analytics の検出機能を示します。

検出項目の名前 説明
BIGQUERY_TABLE_CMEK_DISABLED

この検出機能は、BigQuery テーブルが顧客管理の暗号鍵(CMEK)を使用するように構成されていないかどうかを確認します。詳細については、データセットの脆弱性の検出結果をご覧ください。

PUBLIC_DATASET

この検出機能は、データセットが一般公開のアクセスを受け入れるように構成されているかどうかを確認します。詳細については、データセットの脆弱性の検出結果をご覧ください。

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 フラグがオンになっていないかどうかを確認します。

SQL_EXTERNAL_SCRIPTS_ENABLED

この検出機能は、Cloud SQL for SQL Server の external scripts enabled フラグがオフになっていないかどうかを確認します。

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 フラグに適切な重大度がないかどうかを確認します。

COMPUTE_SERIAL_PORTS_ENABLED

この検出機能は、シリアルポートが有効になっているかどうかを確認します。

SQL_LOG_DISCONNECTIONS_DISABLED

この検出機能は、Cloud SQL for PostgreSQL の log_disconnections フラグがオンになっていないかどうかを確認します。

COMPUTE_PROJECT_WIDE_SSH_KEYS_ALLOWED

この検出機能は、プロジェクト全体の SSH 認証鍵が使用されているかどうかを確認します。

KMS_PROJECT_HAS_OWNER

この検出機能は、キーを含むプロジェクトに対するオーナー権限がユーザーに付与されているかどうかを確認します。

KMS_KEY_NOT_ROTATED

この検出機能は、Cloud Key Management Service の暗号化のローテーションが有効になっていないかどうかを確認します。

ESSENTIAL_CONTACTS_NOT_CONFIGURED

この検出機能は、重要な連絡先が 1 つ以上存在するかどうかを確認します。

AUDIT_LOGGING_DISABLED

この検出機能は、リソースの監査ロギングがオフになっているかどうかを確認します。

LOCKED_RETENTION_POLICY_NOT_SET

この検出機能は、ロックされた保持ポリシーがログに設定されているかどうかを確認します。

DNS_LOGGING_DISABLED

この検出機能は、VPC ネットワークで DNS ロギングが有効になっているかどうかを確認します。

LOG_NOT_EXPORTED

この検出機能は、リソースにログシンクが構成されていないかどうかをチェックします。

KMS_ROLE_SEPARATION

この検出機能は、Cloud KMS 鍵の職掌分散を確認します。

DISK_CSEK_DISABLED

この検出機能は、VM で顧客指定の暗号鍵(CSEK)のサポートがオフになっているかどうかを確認します。

SQL_USER_CONNECTIONS_CONFIGURED

この検出機能は、Cloud SQL for SQL Server の user connections フラグが構成されているかどうかを確認します。

API_KEY_APIS_UNRESTRICTED

この検出機能は、API キーが広すぎる範囲で使用されているかどうかを確認します。

SQL_LOG_MIN_MESSAGES

この検出機能は、Cloud SQL for PostgreSQL の log_min_messages フラグが warning に設定されていないかどうかを確認します。

SQL_LOCAL_INFILE

この検出機能は、Cloud SQL for MySQL の local_infile フラグがオフになっていないかどうかを確認します。

SQL_LOG_MIN_DURATION_STATEMENT_ENABLED

この検出機能は、Cloud SQL for PostgreSQL の log_min_duration_statement フラグが -1 に設定されていないかどうかを確認します。

DATASET_CMEK_DISABLED

この検出機能は、BigQuery データセットに対して CMEK のサポートがオフになっているかどうかを確認します。

OPEN_SSH_PORT

この検出機能は、一般的なアクセスを許可する開いている SSH ポートがファイアウォールにあるかどうかを確認します。詳しくは、ファイアウォールの脆弱性の検出結果をご覧ください。

FIREWALL_NOT_MONITORED

この検出機能は、ログ指標とアラートが VPC ファイアウォール ルールの変更をモニタリングするように構成されていないかどうかを確認します。

SQL_LOG_STATEMENT

この検出機能は、Cloud SQL for PostgreSQL サーバーの log_statement フラグが ddl に設定されていないかどうかを確認します。

SQL_PUBLIC_IP

この検出機能は、Cloud SQL データベースに外部 IP アドレスがあるかどうかを確認します。

IP_FORWARDING_ENABLED

この検出機能は、IP 転送が有効になっているかどうかを確認します。

DATAPROC_CMEK_DISABLED

この検出機能は、Dataproc クラスタに対して CMEK のサポートがオフになっているかどうかを確認します。

CONFIDENTIAL_COMPUTING_DISABLED

この検出機能は、Confidential Computing がオフになっているかどうかを確認します。

KMS_PUBLIC_KEY

この検出機能は、Cloud Key Management Service 暗号鍵が一般公開されているかどうかを確認します。詳細については、KMS の脆弱性の検出結果をご覧ください。

SQL_INSTANCE_NOT_MONITORED

この検出機能は、Cloud SQL の構成変更に対するロギングがオフになっているかどうかを確認します。

SQL_TRACE_FLAG_3625

この検出機能は、Cloud SQL for SQL Server の 3625 (trace flag) フラグがオンになっていないかどうかを確認します。

DEFAULT_NETWORK

この検出機能は、プロジェクトにデフォルト ネットワークが存在するかどうかを確認します。

DNSSEC_DISABLED

この検出機能は、Cloud DNS で DNS セキュリティ(DNSSEC)がオフになっているかどうかを確認します。詳細については、DNS の脆弱性の検出結果をご覧ください。

API_KEY_NOT_ROTATED

この検出機能は、API キーが過去 90 日以内にローテーションされているかどうかを確認します。

SQL_LOG_CONNECTIONS_DISABLED

この検出機能は、Cloud SQL for PostgreSQL の log_connections フラグがオンになっていないかどうかを確認します。

LEGACY_NETWORK

この検出機能は、プロジェクトに以前のネットワークが存在するかどうかを確認します。

IAM_ROOT_ACCESS_KEY_CHECK

この検出機能は、IAM ルートアクセス鍵にアクセスできるかどうかを確認します。

PUBLIC_IP_ADDRESS

この検出機能は、インスタンスに外部 IP アドレスがあるかどうかを確認します。

OPEN_RDP_PORT

この検出機能は、開いている RDP ポートがファイアウォールにあるかどうかを確認します。

INSTANCE_OS_LOGIN_DISABLED

この検出機能は、OS Login が有効になっていないかどうかを確認します。

ADMIN_SERVICE_ACCOUNT

この検出機能は、サービス アカウントに管理者オーナー、または編集者の権限が付与されているかどうかを確認します。

SQL_USER_OPTIONS_CONFIGURED

この検出機能は、Cloud SQL for SQL Server に user options フラグが構成されているかどうかを確認します。

FULL_API_ACCESS

この検出機能は、インスタンスがすべての Google Cloud API への完全アクセス権を持つデフォルトのサービス アカウントを使用しているかどうかを確認します。

DEFAULT_SERVICE_ACCOUNT_USED

この検出機能は、デフォルトのサービス アカウントが使用されているかどうかを確認します。

NETWORK_NOT_MONITORED

この検出機能は、ログ指標とアラートが VPC ネットワークの変更をモニタリングするように構成されていないかどうかを確認します。

SQL_CONTAINED_DATABASE_AUTHENTICATION

この検出機能は、Cloud SQL for SQL Server の contained database authentication フラグがオフになっていないかどうかを確認します。

PUBLIC_BUCKET_ACL

この検出機能は、バケットが一般公開されているかどうかを確認します。

LOAD_BALANCER_LOGGING_DISABLED

この検出機能は、ロードバランサのロギングがオフになっているかどうかを確認します。

OVER_PRIVILEGED_SERVICE_ACCOUNT_USER

この検出機能は、ユーザーが特定のサービス アカウントではなく、プロジェクト レベルでサービス アカウント ロールを持っているかどうかを確認します。

SQL_REMOTE_ACCESS_ENABLED

この検出機能は、Cloud SQL for SQL Server の remote_access フラグがオフになっていないかどうかを確認します。

CUSTOM_ROLE_NOT_MONITORED

この検出機能は、カスタムロールを変更する際にロギングがオフになっているかどうかを確認します。

AUTO_BACKUP_DISABLED

この検出機能は、Cloud SQL データベースで自動バックアップが有効になっていないかどうかを確認します。

RSASHA1_FOR_SIGNING

この検出機能は、Cloud DNS ゾーンで RSASHA1 が鍵の署名に使用されているかどうかを確認します。

CLOUD_ASSET_API_DISABLED

この検出機能は、Cloud Asset Inventory がオフになっているかどうかを確認します。

SQL_LOG_ERROR_VERBOSITY

この検出機能は、Cloud SQL for PostgreSQL の log_error_verbosity フラグが default に設定されていないかどうかを確認します。

ROUTE_NOT_MONITORED

この検出機能は、ログ指標とアラートが VPC ネットワーク ルートの変更をモニタリングするように構成されていないかどうかを確認します。

BUCKET_POLICY_ONLY_DISABLED

この検出機能は、バケットレベルのアクセスが均一に構成されているかどうかを確認します。

BUCKET_IAM_NOT_MONITORED

この検出機能は、Cloud Storage で IAM 権限を変更する際にロギングがオフになっているかどうかを確認します。

PUBLIC_SQL_INSTANCE

この検出機能は、Cloud SQL がすべての IP アドレスからの接続を許可しているかどうかを確認します。

SERVICE_ACCOUNT_ROLE_SEPARATION

この検出機能は、サービス アカウント キーの職掌分散を確認します。

AUDIT_CONFIG_NOT_MONITORED

この検出機能は、監査構成の変更がモニタリングされているかどうかを確認します。

OWNER_NOT_MONITORED

この検出機能は、プロジェクトの所有権の割り当てと変更でロギングがオフになっているかどうかを確認します。

YAML 定義

NIST 800-53 のポスチャー テンプレートの YAML 定義は次のとおりです。

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

次のステップ