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 以降

Google SecOps の取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。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
    

サービスが [アクティブ(実行中)] と表示されます。

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

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

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

構成ファイルを見つける

  • Linux:

    sudo nano /etc/bindplane-agent/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:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/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
    
    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: 取り込み認証ファイルのフルパス:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: 前の手順の顧客 ID。
    • endpoint: リージョン エンドポイント URL:
      • 米国: malachiteingestion-pa.googleapis.com
      • ヨーロッパ: europe-malachiteingestion-pa.googleapis.com
      • アジア: asia-southeast1-malachiteingestion-pa.googleapis.com
    • log_type: GUARDIUM でなければなりません。
    • ingestion_labels: YAML 形式の省略可能なラベル。

構成ファイルを保存する

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

  • Linux: Ctrl+OEnterCtrl+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. [管理コンソール] > [構成] > [グローバル プロファイル] に移動します。
  3. [Message Template] セクションで、目的の形式でテンプレートを編集します。
  4. [保存] をクリックします。

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

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

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

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

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

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

  1. [管理コンソール] タブをクリックします。
  2. 左側のナビゲーションで、[構成> ポリシーのインストール] を選択します。
  3. [ポリシー インストーラ] ペインで、前の手順で変更したポリシーを選択します。
  4. プルダウン リストから [インストールとオーバーライド] を選択します。
  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 仲介エンティティの詳細
Received、Generated、timestamp 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 ネットワーク接続のセッション識別子
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 ベンダー名

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