ログを SIEM システムにエクスポートする

このページでは、Google Distributed Cloud(GDC)エアギャップから外部のセキュリティ情報およびイベント管理(SIEM)システムにログをエクスポートする方法について説明します。この統合により、ログ分析の一元化とセキュリティ モニタリングの強化が可能になります。

ログ エクスポートの中核となるのは、SIEMOrgForwarder カスタム リソースのデプロイです。このリソースは構成ファイルとして機能し、ログを受信する外部 SIEM インスタンスの詳細を指定します。これらのパラメータを SIEMOrgForwarder ファイル内で定義することで、管理者は効率的で安全なログ エクスポート パイプラインを確立できます。

始める前に

SIEMOrgForwarder カスタム リソースの管理に必要な権限を取得するには、関連付けられた SIEM エクスポート組織ロールのいずれかを付与するよう組織の IAM 管理者に依頼してください。

必要なアクセスレベルと権限に応じて、プロジェクト Namespace でこのリソースの作成者、編集者、閲覧者のロールを取得できます。詳細については、IAM 権限を準備するをご覧ください。

必要な権限を取得したら、ログを外部 SIEM システムにエクスポートする前に、次の手順を完了します。

  1. 接続を確立する: GDC と外部 SIEM 転送先の間に接続が存在することを確認します。必要に応じて、インフラストラクチャ オペレーター(IO)と連携して、顧客ネットワークへのアップリンク接続を確立します。

  2. 環境変数を設定する: このページのコマンドを実行するには、次の環境変数を設定します。

    • kubeconfig ファイルのパス:

      export KUBECONFIG=KUBECONFIG_PATH
      

      KUBECONFIG_PATH は、Management API サーバーの kubeconfig ファイルへのパスに置き換えます。

    • プロジェクトの Namespace:

      export PROJECT_NAMESPACE=PROJECT_NAMESPACE
      

ログ エクスポートを構成する

外部の SIEM システムにログをエクスポートします。

  1. ロギング スタックを SIEM システムに接続するためのトークンを指定します。この操作を行うには、プロジェクト Namespace に Secret を作成してトークンを保存する必要があります。

    cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: SECRET_NAME
      namespace: ${PROJECT_NAMESPACE}
    type: Opaque
    stringData:
      SECRET_FIELD: TOKEN
    EOF
    

    次のように置き換えます。

    • SECRET_NAME: Secret の名前。
    • SECRET_FIELD: シークレットを保存するフィールドの名前。
    • TOKEN: 自分のトークン。
  2. プロジェクトの Namespace に SIEMOrgForwarder カスタム リソースをデプロイします。監査ログまたは運用ログのいずれかを選択して、ログタイプを指定する必要があります。両方のログタイプでログのエクスポートを構成するには、タイプごとに SIEMOrgForwarder リソースをデプロイする必要があります。

    次の例は、SIEMOrgForwarder カスタム リソースに構成を適用する方法を示しています。

      cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f -
      apiVersion: logging.gdc.goog/v1
      kind: SIEMOrgForwarder
      metadata:
        name: SIEM_ORG_FORWARDER
        namespace: ${PROJECT_NAMESPACE}
      spec:
        source: LOG_TYPE
        splunkOutputs:
          - host: SIEM_HOST
            token:
              name: SECRET_NAME
              field: SECRET_FIELD
            tls: "TLS"
            netConnectTimeout: NET_CONNECT_TIMEOUT
      EOF
    

    次のように置き換えます。

    • SIEM_ORG_FORWARDER: SIEMOrgForwarder 定義ファイルの名前。
    • LOG_TYPE: エクスポートするログタイプ。指定できる値は auditoperational です。
    • SIEM_HOST: SIEM ホストの名前。
    • SECRET_NAME: Secret の名前。
    • SECRET_FIELD: Secret を保存したフィールドの名前。
    • TLS: Transport Layer Security(TLS)のステータス。指定できる値は "On""Off" です。
    • NET_CONNECT_TIMEOUT: 接続が確立されるまで待機する最大時間(秒)。たとえば、値 180 は 180 秒待つことを意味します。
  3. デプロイされた SIEMOrgForwarder カスタム リソースのステータスを確認します。

      kubectl --kubeconfig=${KUBECONFIG} describe siemorgforwarder/SIEM_ORG_FORWARDER \
          -n ${PROJECT_NAMESPACE}
    

    ログタイプに応じて、次のステータスを確認します。

    • 監査ログ: AuditLoggingReady ステータスを確認します。
    • オペレーション ログ: OperationalLoggingReady のステータスを確認します。