IBM Guardium ログを収集する

以下でサポートされています。

このドキュメントでは、Bindplane を使用して IBM Guardium ログを Google Security Operations に取り込む方法について説明します。

IBM Guardium は、データベースとファイル システムのリアルタイム モニタリング、監査、保護を提供する、データベース アクティビティ モニタリングとデータ保護のプラットフォームです。Guardium は、脆弱性評価、データの検出と分類、データベース アクティビティのモニタリング、コンプライアンス レポート機能を提供します。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • Windows Server 2016 以降、または systemd を使用する Linux ホスト
  • Bindplane エージェントと IBM Guardium Collector 間のネットワーク接続
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
  • IBM Guardium CLI への特権アクセス
  • 暗号化された syslog のサポート(オプション)用の IBM Guardium バージョン 9.1 以降

Bindplane エージェントの Google SecOps 認証情報を取得する

Bindplane エージェントを Google SecOps に対して認証するには、次のいずれかの方法を選択します。

  • 新しいデプロイ: Chronicle API(オプション 1)を使用します。
  • 以前のデプロイ: 2027 年 7 月 20 日に Ingestion API が廃止されるまで、取り込み認証ファイル(オプション 2)を引き続き使用します。
  1. Google Cloud コンソールにログインし、Google SecOps インスタンスにリンクされている Google Cloud プロジェクトを選択します。
  2. [IAM と管理] > [サービス アカウント] に移動します。
  3. [サービス アカウントを作成] をクリックします。
  4. 次の構成情報を指定します。
    • サービス アカウント名: アカウントの名前を入力します(例: bindplane-ingest)。
    • サービス アカウントの説明: 説明を入力します(例: Bindplane agent log ingestion)。
  5. [作成して続行] をクリックします。
  6. [このサービス アカウントにプロジェクトへのアクセスを許可する] セクションで、[ロールを選択] をクリックし、[Chronicle 編集者] を選択します。
  7. [続行] をクリックして [完了] をクリックします。
  8. 作成したサービス アカウントをクリックし、[キー] タブに移動します。
  9. [鍵を追加] > [新しい鍵を作成] の順にクリックします。
  10. [JSON] を選択し、[作成] をクリックします。鍵ファイルがパソコンにダウンロードされます。
  11. 鍵ファイルを ingestion-auth.json として Bindplane コレクタ ディレクトリ(Linux の場合は /opt/observiq-otel-collector/ingestion-auth.json、Windows の場合は C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)に保存するか、config.yaml の creds_file_path を更新して、保存先のパスと一致させます。
  12. [IAM と管理] > [設定] に移動し、[プロジェクト番号] をコピーします。エクスポーターの構成に必要になります。

オプション 2: 取り込み認証ファイルをダウンロードする(レガシー)

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [収集エージェント] に移動します。
  3. 取り込み認証ファイルをダウンロードします。
  4. Bindplane エージェントがインストールされるシステムにファイルを安全に保存します。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。

Bindplane エージェントをインストールする

次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。

Windows へのインストール

  1. 管理者として コマンド プロンプトまたは PowerShell を開きます。
  2. 次のコマンドを実行します。

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sc query observiq-otel-collector
    

サービスが RUNNING と表示されます。

Linux へのインストール

  1. root 権限または sudo 権限でターミナルを開きます。
  2. 次のコマンドを実行します。

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sudo systemctl status observiq-otel-collector
    

サービスが active (running) と表示されます。

その他のインストール リソース

その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。

Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する

構成ファイルを探します。

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

構成ファイルを編集します。

  • config.yaml の内容全体を次の構成に置き換えます。

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/guardium:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: chronicle.googleapis.com
        log_type: GUARDIUM
        raw_log_field: body
        ingestion_labels:
          log_source: guardium
    
    service:
      pipelines:
        logs/guardium_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/guardium
    

構成パラメータ

各プレースホルダを次のように置き換えます。

  • レシーバーの構成:

    • UDP syslog には udplog を使用します(Guardium で最も一般的)。
    • 必要に応じて、TCP syslog に tcplog を使用します。
    • リッスン アドレス 0.0.0.0:514 は、ポート 514 のすべてのインターフェースでリッスンします。
  • エクスポータの構成:

    • creds_file_path: サービス アカウントの JSON キーファイルのフルパス(オプション 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: 前のステップのお客様 ID。
    • location: <LOCATION> を Google SecOps インスタンスのリージョン(us、europe、asia-southeast1 など)に置き換えます。エクスポートでは、この値が chronicle.googleapis.com の前に付加されます。完全なリストについては、リージョン エンドポイントをご覧ください。
    • project: <PROJECT_NUMBER> を [IAM と管理] > [設定] のプロジェクト番号に置き換えます。
    • endpoint: chronicle.googleapis.com に設定したままにします。
    • log_type: GUARDIUM でなければなりません。
    • ingestion_labels: YAML 形式のオプションのラベル。

以前の Ingestion API エクスポータ

  • オプション 2 の取り込み認証ファイルを使用する場合は、exporters ブロックを次のように置き換えます。creds_file_path を取り込み認証ファイルのパスに設定します。インスタンスが米国以外にある場合は、malachiteingestion-pa.googleapis.com をリージョン エンドポイント(例: europe-malachiteingestion-pa.googleapis.com)に置き換えます。

    exporters:
      chronicle/guardium:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: GUARDIUM
        raw_log_field: body
        ingestion_labels:
          log_source: guardium
    

構成ファイルを保存する

編集が完了したら、ファイルを保存します。

  • Linux: Ctrl+O、Enter、Ctrl+X の順に押します。
  • Windows: [ファイル> 保存] をクリックします。

Bindplane エージェントを再起動して変更を適用する

  • Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。

    sudo systemctl restart observiq-otel-collector
    
    1. サービスが実行されていることを確認します。

        sudo systemctl status observiq-otel-collector
      
    2. ログでエラーを確認します。

        sudo journalctl -u observiq-otel-collector -f
      
  • Windows で Bindplane エージェントを再起動するには、次のいずれかのオプションを選択します。

    • 管理者としてコマンド プロンプトまたは PowerShell を開きます。

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • サービス コンソール:

      1. Win+R キーを押し、「services.msc」と入力して Enter キーを押します。
      2. observIQ OpenTelemetry Collector を見つけます。
      3. 右クリックして [再起動] を選択します。

      4. サービスが実行されていることを確認します。

        sc query observiq-otel-collector
        
      5. ログでエラーを確認します。

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

IBM Guardium の syslog 転送を構成する

CLI を使用して syslog の宛先を構成する

IBM Guardium でイベントの syslog 宛先を作成するには、コマンドライン インターフェースにログインして、Bindplane エージェント ホストの IP アドレスを定義する必要があります。

  1. SSH を使用して、CLI ユーザーとして IBM Guardium Collector にログインします。
  2. 次のコマンドを入力して、syslog の宛先を構成します。

    • UDP syslog の場合(推奨):

      store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP udp
      
    • TCP syslog の場合:

      store remotelog add non_encrypted daemon.all BINDPLANE_AGENT_IP:514 tcp
      
    • 特定の重大度レベルの場合:

      store remotelog add non_encrypted daemon.alert BINDPLANE_AGENT_IP udp
      store remotelog add non_encrypted daemon.err BINDPLANE_AGENT_IP udp
      store remotelog add non_encrypted daemon.warning BINDPLANE_AGENT_IP udp
      
      • BINDPLANE_AGENT_IP は、Bindplane エージェントがインストールされているホストの IP アドレスに置き換えます。
  3. 次のコマンドを実行して構成を検証します。

    show remotelog
    

    出力には、構成したリモート syslog 宛先が表示されます。

暗号化された syslog を構成する(省略可)

暗号化された Syslog 転送が必要な場合は、IBM Guardium バージョン 9.1 以降で TCP 経由の TLS 暗号化がサポートされています。

  1. リモート syslog レシーバで使用される認証局から PEM 形式の公開証明書を取得します。
  2. Guardium Collector の CLI にログインします。
  3. 以下のコマンドを入力します。

    store remotelog add encrypted daemon.all BINDPLANE_AGENT_IP:6514 tcp
    
  4. プロンプトが表示されたら、BEGIN 行と END 行を含む PEM 形式の CA 証明書を貼り付けて、Ctrl+D を押します。

  5. Guardium は証明書を /etc/pki/rsyslog/ca.pem として保存します。

メッセージ テンプレートを構成する(省略可)

Guardium は、CEF(Common Event Format)や LEEF(Log Event Extended Format)など、複数のメッセージ形式をサポートしています。デフォルトの形式は、ほとんどのデプロイに適しています。

メッセージ テンプレートをカスタマイズするには:

  1. 管理者権限を持つユーザーとして Guardium アプライアンス GUI にログインします。
  2. [管理コンソール] > [Configuration] > [Global Profile] に移動します。
  3. [メッセージ テンプレート] セクションで、テンプレートを編集して目的の形式にします。
  4. [保存] をクリックします。

syslog にアラートを送信するようにポリシーを構成する

IBM Guardium のポリシーは、イベントに反応し、イベント情報をリモート syslog レシーバーに転送する役割を担います。

ポリシー アラート アクションを構成する

  1. Guardium アプライアンスの GUI にログインします。
  2. [ツール] タブをクリックします。
  3. 左側のナビゲーションで [ポリシービルダー] を選択します。
  4. [Policy Finder] ペインで、既存のポリシーを選択し、[Edit Rules] をクリックします。
  5. [このルールを個別に編集] をクリックします。
  6. [アクセスルールの定義] が表示されます。
  7. [Add Action] をクリックします。
  8. [アクション] リストから、次のいずれかのアラートタイプを選択します。
    • 一致ごとにアラート: ポリシー違反ごとに通知が送信されます。
    • 毎日アラート: その日に初めてポリシー違反が発生したときに通知が届きます。
    • Alert Once Per Session: 一意のセッションでポリシー違反が発生するたびに通知が提供されます。
    • 時間粒度ごとのアラート: 選択した期間ごとに通知が送信されます。
  9. [メッセージ テンプレート] リストから、必要なテンプレートを選択するか、[デフォルト] のままにします。
  10. [通知タイプ] で [SYSLOG] を選択します。
  11. [追加]、[適用] の順にクリックします。
  12. [保存] をクリックします。
  13. Google SecOps に転送するポリシー内のすべてのルールに対して、このプロセスを繰り返します。

ポリシーをインストールする

IBM Guardium の新しいポリシーまたは編集されたポリシーは、更新されたアラート アクションまたはルールの変更が行われる前にインストールする必要があります。

  1. [管理コンソール] タブをクリックします。
  2. 左側のナビゲーションから、[Configuration] > [Policy Installation] を選択します。
  3. [Policy Installer] ペインで、前の手順で変更したポリシーを選択します。
  4. プルダウン リストから [Install and Override] を選択します。
  5. すべての検査エンジンにポリシーをインストールすることを確認するメッセージが表示されます。
  6. [OK] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
deviceNtDomain about.administrative_domain エンティティの管理ドメイン
deviceExternalId about.asset.asset_id アセット ID
filePath、fileHash about.file.full_path ファイルのフルパス
_hash, fileHash about.file.sha256 ファイルの SHA256 ハッシュ
fsize about.file.size ファイルのサイズ
dvchost about.hostname 対象エンティティのホスト名
dvc about.ip 対象エンティティの IP アドレス
smac、dmac、dvcmac about.mac 対象エンティティの MAC アドレス
deviceProcessName、Subject、Emne、Path about.process.command_line プロセスのコマンドライン
dvcpid about.process.pid プロセス ID
filePermission about.resource.attribute.permissions リソースに関連付けられた権限
extensions.auth.type 認証タイプ
sender_ip intermediary.ip 仲介者の IP アドレス
intermediary 仲介事業体の詳細
受信、生成、タイムスタンプ metadata.collected_timestamp イベントが収集されたときのタイムスタンプ
msg, signature_name metadata.description イベントの説明
metadata.event_type イベントのタイプ(例: USER_LOGIN、NETWORK_CONNECTION)
device_event_class_id、event_name、eventType metadata.product_event_type プロダクト固有のイベントタイプ
externalId metadata.product_log_id プロダクトログ ID
metadata.product_version プロダクトのバージョン
network.application_protocol ネットワーク接続で使用されるアプリケーション プロトコル
deviceDirection network.direction ネットワーク トラフィックの方向
requestMethod network.http.method リクエストで使用される HTTP メソッド
requestClientApplication network.http.user_agent HTTP リクエストのユーザー エージェント文字列
proto network.ip_protocol 使用される IP プロトコル
in network.received_bytes 受信したバイト数
どうなるでしょうか network.sent_bytes 送信したバイト数
session_id network.session_id ネットワーク接続のセッション ID
sntdom, Domain, Domene principal.administrative_domain プリンシパルの管理ドメイン
sourceServiceName、source_program principal.application プリンシパルに関連付けられたアプリケーション
prin_host、Device_name、Enhetsnavn、shost、principal_hostname、client_hostname principal.asset.hostname プリンシパル アセットのホスト名
sender_ip、src_ip、src、principal_ip、client_ip principal.asset.ip プリンシパル アセットの IP アドレス
Group_name, Gruppenavn principal.group.group_display_name プリンシパル グループの表示名
prin_host、Device_name、Enhetsnavn、shost、principal_hostname、client_hostname principal.hostname プリンシパルのホスト名
sender_ip、src_ip、src、principal_ip、client_ip principal.ip プリンシパルの IP アドレス
smac principal.mac プリンシパルの MAC アドレス
sourceTranslatedAddress principal.nat_ip プリンシパルの NAT IP アドレス
sourceTranslatedPort principal.nat_port プリンシパルの NAT ポート
spt, client_port principal.port プリンシパルが使用するポート
sproc principal.process.command_line プリンシパル プロセスのコマンドライン
spid principal.process.pid プリンシパルのプロセス ID
spriv principal.user.attribute.roles プリンシパル ユーザーに関連付けられているロール
suser、usrName、CustomerName principal.user.user_display_name プリンシパル ユーザーの表示名
dbUser、usrName、db_user、os_user、suid、db_username principal.user.userid プリンシパルのユーザー ID
security_result セキュリティ結果の詳細
security_result.action セキュリティ結果で実行されたアクション
act, Action_Taken security_result.action_details 実施した対応の詳細
猫 security_result.category_details セキュリティ結果のカテゴリの詳細
msg_data_2、alert_description、Type、Scan_Type security_result.description セキュリティ結果の説明
operation_label、operasjon_label、permission_label、tillatelse_label、infection_channel_label、spyware_Grayware_Type_label、threat_probability_label security_result.detection_fields セキュリティ結果の検出に使用されるフィールド
mwProfile, alert_name security_result.rule_name セキュリティ結果をトリガーしたルールの名前
severity, event_severity security_result.severity セキュリティ結果の重大度レベル
reason, ruleDesc, appcategory, Result security_result.summary セキュリティ結果の概要
Spyware、Virus_Malware_Name、Unknown_Threat security_result.threat_name 検出された脅威の名前
oldFilePath src.file.full_path ソースファイルのフルパス
oldFileSize src.file.size ソースファイルのサイズ
oldFilePermission src.resource.attribute.permissions ソースリソースの権限
os_user src.user.userid ソースユーザーのユーザー ID
dntdom target.administrative_domain ターゲットの管理ドメイン
destinationServiceName、service_name target.application ターゲットに関連付けられたアプリケーション
prin_host、dest_host、server_hostname target.asset.hostname ターゲット アセットのホスト名
dst_ip、dest_ip、server_ip、IPv6_Address target.asset.ip ターゲット アセットの IP アドレス
temp_dhost、dest_host、server_hostname target.hostname ターゲットのホスト名
dst_ip、dst、dest_ip、server_ip、IPv6_Address target.ip ターゲットの IP アドレス
dmac target.mac ターゲットの MAC アドレス
destinationTranslatedAddress target.nat_ip ターゲットの NAT IP アドレス
destinationTranslatedPort target.nat_port ターゲットの NAT ポート
dpt、dstPort、dest_port、server_port target.port ターゲットが使用するポート
dproc、full_sql target.process.command_line ターゲット プロセスのコマンドライン
File_name、Object、Objekt、Infected_Resource target.process.file.full_path ターゲット プロセス ファイルのフルパス
dpid、full_sql_id target.process.pid ターゲットのプロセス ID
session_start target.resource.attribute.creation_time ターゲット リソースの作成時刻
additional_environment_name、additional_db_protocol_version、additional_dbProtocolVersion、additional_operation_name、additional_signature_id、resource_Type_label target.resource.attribute.labels ターゲット リソースに関連付けられたラベル
session_end target.resource.attribute.last_update_time ターゲット リソースの最終更新時刻
db_name、database_name target.resource.name ターゲット リソースの名前
db_type、server_type target.resource.resource_subtype ターゲット リソースのサブタイプ
target.resource.resource_type ターゲット リソースのタイプ
リクエスト target.url ターゲットに関連付けられた URL
dpriv、roles target.user.attribute.roles 対象ユーザーに関連付けられているロール
temp_duser, CustomerName target.user.user_display_name 対象ユーザーの表示名
temp_duid、User、Bruker、db_username target.user.userid ターゲットのユーザー ID
metadata.product_name プロダクト名
metadata.vendor_name ベンダーの名前
query additional.fields 変更履歴からマッピング

変更ログ

このパーサーの変更ログを表示する

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。