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 の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [収集エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。
- Bindplane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。
Windows のインストール
- 管理者として コマンド プロンプトまたは PowerShell を開きます。
次のコマンドを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
その他のインストール リソース
その他のインストール オプションについては、インストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
- 構成ファイルにアクセスします。
config.yaml
ファイルを見つけます。通常、Linux では/etc/bindplane-agent/
ディレクトリに、Windows ではインストール ディレクトリにあります。- テキスト エディタ(
nano
、vi
、メモ帳など)を使用してファイルを開きます。
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 転送を構成する
- Sophos Firewall Web 管理コンソールにログインします。
- [構成> システム サービス > ログ設定] に移動します。
- [追加] をクリックして、syslog サーバーを構成します。
- 次の構成の詳細を入力します。
- 名前: Google SecOps コレクタの一意の名前を入力します(例:
Google SecOps BindPlane DHCP
)。 - IP アドレス/ドメイン: BindPlane の IP アドレスを入力します。
- ポート: BindPlane ポート番号(例:
514
)を入力します。 - Facility: [DAEMON] を選択します。
- 重大度: [情報] を選択します。
- 形式: [デバイスの標準形式] を選択します。
- 名前: Google SecOps コレクタの一意の名前を入力します(例:
- [保存] をクリックします。
- [ログ設定] ページに戻り、syslog サーバーに転送する特定のログタイプを選択します。
- DHCP イベントを含む適切なログカテゴリを選択します。DHCP ログは dhcpd サービスによって生成され、対応するログカテゴリが有効になっている場合に転送されるネットワーク ログまたはシステムログの一部です。
- [適用] をクリックして、構成を保存します。
方法 1: Sophos UTM で Syslog 転送を構成する
- Sophos UTM 管理コンソールにログインします。
- [Logging & Reporting] > [Log Settings] > [Remote Syslog Server] に移動します。
- [切り替えボタン] をクリックして、リモート syslog を有効にします。[Remote Syslog Settings] 領域が編集可能になります。
- [Syslog servers] フィールドで、[+ Add syslog server] をクリックします。
- [Add syslog server] ダイアログで、次の構成の詳細を指定します。
- 名前: わかりやすい名前を入力します(例:
Google SecOps BindPlane DHCP
)。 - サーバー: [サーバー] フィールドの横にある +(プラス)アイコンをクリックします。BindPlane Agent の IP アドレスを使用して、ネットワーク定義からホストを作成または選択し、[保存] をクリックします。
- ポート: [ポート] フィールドの横にある +(プラス)アイコンをクリックします。適切なプロトコルとポート(UDP/514 など)を含むサービス定義を作成または選択し、[保存] をクリックします。
- 名前: わかりやすい名前を入力します(例:
- [Syslog サーバーを追加] ダイアログで [保存] をクリックします。
- [リモート Syslog 設定] セクションで [適用] をクリックします。
- 省略可: [リモート Syslog バッファ] 設定(デフォルトは 1,000 行)を調整し、[適用] をクリックします。
- [Remote Syslog Log Selection] セクションで、[DHCP Server] と必要なログカテゴリを選択します。
- [適用] をクリックして、ログ選択の設定を保存します。
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 が DHCPREQUEST 、DHCPACK 、DHCPOFFER の場合 |
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 が DHCPACK 、DHCPOFFER 、DHCPNAK の場合 |
src_ip | event.idm.read_only_udm.principal.ip | process_type が dhcpd で、dhcp_type が DHCPREQUEST 、DHCPACK 、DHCPOFFER 、DHCPNAK の場合 |
src_ip | event.idm.read_only_udm.observer.ip | process_type が dhcpd で、dhcp_type が DHCPREQUEST 、DHCPACK 、DHCPOFFER の場合 |
src_mac | event.idm.read_only_udm.network.dhcp.chaddr | process_type が dhcpd で、dhcp_type が DHCPREQUEST 、DHCPACK 、DHCPOFFER 、DHCPNAK の場合 |
src_mac | event.idm.read_only_udm.principal.mac | process_type が dhcpd で、dhcp_type が DHCPREQUEST 、DHCPACK 、DHCPOFFER 、DHCPNAK の場合 |
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 が DHCPACK 、DHCPOFFER 、DHCPNAK のいずれかの場合、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 のプロフェッショナルから回答を得ることができます。