Sophos DHCP のログを収集する

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

このドキュメントでは、Bindplane を使用して Sophos 動的ホスト構成プロトコル(DHCP)ログを Google Security Operations に取り込む方法について説明します。パーサーは、まず Sophos DHCP syslog メッセージを Key-Value 構造に正規化し、抽出されたフィールドを Unified Data Model(UDM)スキーマにマッピングします。さまざまな DHCP メッセージ タイプ(DHCPREQUEST、DHCPACK、DHCPOFFER、DHCPNAK)を処理し、IP アドレス、MAC アドレス、DHCP オプションなどの関連情報を抽出します。

始める前に

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

  • Google SecOps インスタンス。
  • Windows 2016 以降、または systemd を使用する Linux ホスト。
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
  • Sophos UTM 管理コンソールまたは Sophos Firewall(SFOS)Web 管理コンソールへの特権アクセス。

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
    

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
    

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

その他のインストール オプションについては、インストール ガイドをご覧ください。

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

  1. 構成ファイルにアクセスします。
    • config.yaml ファイルを見つけます。通常、Linux では /etc/bindplane-agent/ ディレクトリに、Windows ではインストール ディレクトリにあります。
    • テキスト エディタ(nanovi、メモ帳など)を使用してファイルを開きます。
  2. config.yaml ファイルを次のように編集します。

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <CUSTOMER_ID>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'SOPHOS_DHCP'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
    • <CUSTOMER_ID> は、実際の顧客 ID に置き換えます。
    • /path/to/ingestion-authentication-file.json の値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。

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

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

    sudo systemctl restart observiq-otel-collector
    
  • Windows で BindPlane エージェントを再起動するには、サービス コンソールを使用するか、次のコマンドを入力します。

    sc stop observiq-otel-collector && sc start observiq-otel-collector
    

オプション 2: Sophos Firewall で Syslog 転送を構成する

  1. Sophos Firewall Web 管理コンソールにログインします。
  2. [構成> システム サービス > ログ設定] に移動します。
  3. [追加] をクリックして、syslog サーバーを構成します。
  4. 次の構成の詳細を入力します。
    • 名前: Google SecOps コレクタの一意の名前を入力します(例: Google SecOps BindPlane DHCP)。
    • IP アドレス/ドメイン: BindPlane の IP アドレスを入力します。
    • ポート: BindPlane ポート番号(例: 514)を入力します。
    • Facility: [DAEMON] を選択します。
    • 重大度: [情報] を選択します。
    • 形式: [デバイスの標準形式] を選択します。
  5. [保存] をクリックします。
  6. [ログ設定] ページに戻り、syslog サーバーに転送する特定のログタイプを選択します。
  7. DHCP イベントを含む適切なログカテゴリを選択します。DHCP ログは dhcpd サービスによって生成され、対応するログカテゴリが有効になっている場合に転送されるネットワーク ログまたはシステムログの一部です。
  8. [適用] をクリックして、構成を保存します。

方法 1: Sophos UTM で Syslog 転送を構成する

  1. Sophos UTM 管理コンソールにログインします。
  2. [Logging & Reporting] > [Log Settings] > [Remote Syslog Server] に移動します。
  3. [切り替えボタン] をクリックして、リモート syslog を有効にします。[Remote Syslog Settings] 領域が編集可能になります。
  4. [Syslog servers] フィールドで、[+ Add syslog server] をクリックします。
  5. [Add syslog server] ダイアログで、次の構成の詳細を指定します。
    • 名前: わかりやすい名前を入力します(例: Google SecOps BindPlane DHCP)。
    • サーバー: [サーバー] フィールドの横にある +(プラス)アイコンをクリックします。BindPlane Agent の IP アドレスを使用して、ネットワーク定義からホストを作成または選択し、[保存] をクリックします。
    • ポート: [ポート] フィールドの横にある +(プラス)アイコンをクリックします。適切なプロトコルとポート(UDP/514 など)を含むサービス定義を作成または選択し、[保存] をクリックします。
  6. [Syslog サーバーを追加] ダイアログで [保存] をクリックします。
  7. [リモート Syslog 設定] セクションで [適用] をクリックします。
  1. 省略可: [リモート Syslog バッファ] 設定(デフォルトは 1,000 行)を調整し、[適用] をクリックします。
  2. [Remote Syslog Log Selection] セクションで、[DHCP Server] と必要なログカテゴリを選択します。
  3. [適用] をクリックして、ログ選択の設定を保存します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
アクション event.idm.read_only_udm.security_result.action_details
attr_address event.idm.read_only_udm.target.ip
attr_addresses event.idm.read_only_udm.target.ip
call event.idm.read_only_udm.security_result.summary
クライアント event.idm.read_only_udm.principal.hostname
クライアント event1.idm.read_only_udm.principal.hostname
データ
dstip event.idm.read_only_udm.target.ip
dstmac event.idm.read_only_udm.target.mac
dstport event.idm.read_only_udm.target.port
fwrule event.idm.read_only_udm.security_result.rule_id
id event.idm.read_only_udm.metadata.product_event_type ulogd - と連結
id event1.idm.read_only_udm.metadata.product_event_type ID - と連結
情報 event.idm.read_only_udm.security_result.description
initf event.idm.read_only_udm.security_result.about.labels.value キーは In Interface にハードコードされています
msg event.idm.read_only_udm.metadata.description process_type が confd または ulogd ではない場合
name event.idm.read_only_udm.security_result.description
objname event.idm.read_only_udm.principal.resource.name
oldattr_address event.idm.read_only_udm.principal.ip
oldattr_addresses event.idm.read_only_udm.principal.ip
outitf event.idm.read_only_udm.security_result.about.labels.value キーは Out Interface にハードコードされています
pid event.idm.read_only_udm.principal.process.pid
proto event.idm.read_only_udm.network.ip_protocol
重要度 event.idm.read_only_udm.security_result.severity 重大度が info または debug の場合、security_result.severity は INFORMATIONAL になります。重大度が warn の場合、security_result.severity は MEDIUM になります
重要度 event1.idm.read_only_udm.security_result.severity 重大度が info または debug の場合、security_result.severity は INFORMATIONAL になります。重大度が warn の場合、security_result.severity は MEDIUM になります
sid event.idm.read_only_udm.security_result.about.labels.value キーは sid にハードコードされています
src_host event.idm.read_only_udm.principal.hostname process_type が dhcpd で、dhcp_type が DHCPREQUESTDHCPACKDHCPOFFER の場合
src_host event.idm.read_only_udm.observer.hostname process_type が dhcpd で、dhcp_type が DHCPREQUEST の場合
src_host event.idm.read_only_udm.network.dhcp.client_hostname process_type が dhcpd で、dhcp_type が DHCPACK または DHCPOFFER の場合
src_ip event.idm.read_only_udm.network.dhcp.ciaddr process_type が dhcpd で、dhcp_type が DHCPREQUEST の場合
src_ip event.idm.read_only_udm.network.dhcp.yiaddr process_type が dhcpd で、dhcp_type が DHCPACKDHCPOFFERDHCPNAK の場合
src_ip event.idm.read_only_udm.principal.ip process_type が dhcpd で、dhcp_type が DHCPREQUESTDHCPACKDHCPOFFERDHCPNAK の場合
src_ip event.idm.read_only_udm.observer.ip process_type が dhcpd で、dhcp_type が DHCPREQUESTDHCPACKDHCPOFFER の場合
src_mac event.idm.read_only_udm.network.dhcp.chaddr process_type が dhcpd で、dhcp_type が DHCPREQUESTDHCPACKDHCPOFFERDHCPNAK の場合
src_mac event.idm.read_only_udm.principal.mac process_type が dhcpd で、dhcp_type が DHCPREQUESTDHCPACKDHCPOFFERDHCPNAK の場合
srcip event.idm.read_only_udm.principal.ip
srcip event1.idm.read_only_udm.principal.ip
srcmac event.idm.read_only_udm.principal.mac
srcport event.idm.read_only_udm.principal.port
Pub/Subです event.idm.read_only_udm.metadata.description
Pub/Subです event1.idm.read_only_udm.metadata.description
tcpflags event.idm.read_only_udm.security_result.about.labels.value キーは TCP Flags にハードコードされています
ユーザー event.idm.read_only_udm.principal.user.userid
ユーザー event1.idm.read_only_udm.principal.user.userid
event.idm.read_only_udm.metadata.event_type 他の event_type が設定されていない場合は GENERIC_EVENT。srcip と dstip が空でない場合は NETWORK_CONNECTION。名前が object changed の場合は RESOURCE_WRITTEN。process_type が dhcpd の場合は NETWORK_DHCP
event.idm.read_only_udm.metadata.log_type SOPHOS_DHCP にハードコード
event.idm.read_only_udm.metadata.product_name SOPHOS_DHCP にハードコード
event.idm.read_only_udm.metadata.vendor_name SOPHOS にハードコード
event.idm.read_only_udm.network.application_protocol process_type が dhcpd の場合、DHCP にハードコードされます。
event.idm.read_only_udm.network.dhcp.opcode process_type が dhcpd で dhcp_type が DHCPREQUEST の場合、BOOTREQUEST にハードコードされます。process_type が dhcpd で、dhcp_type が DHCPACKDHCPOFFERDHCPNAK のいずれかの場合、BOOTREPLY にハードコードされます。
event.idm.read_only_udm.network.dhcp.type process_type が dhcpd で、dhcp_type が DHCPREQUEST の場合は REQUEST。process_type が dhcpd で、dhcp_type が DHCPACK の場合は ACK。process_type が dhcpd で、dhcp_type が DHCPOFFER の場合は OFFER。process_type が dhcpd で、dhcp_type が DHCPNAK の場合、NAK
event1.idm.read_only_udm.metadata.event_type GENERIC_EVENT にハードコード
event1.idm.read_only_udm.metadata.log_type SOPHOS_DHCP にハードコード
event1.idm.read_only_udm.metadata.product_name SOPHOS_DHCP にハードコード
event1.idm.read_only_udm.metadata.vendor_name SOPHOS にハードコード

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