F5 BIG-IP LTM のログを収集する
このドキュメントでは、Bindplane を使用して F5 BIG-IP LTM ログを Google Security Operations に取り込む方法について説明します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows 2016 以降、または
systemdを使用する Linux ホスト - プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
- F5 BIG-IP LTM デバイスへの管理者アクセス権(TMSH またはウェブ UI)
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: # UDP syslog listener (RFC5424 over UDP) udplog: 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: "/opt/observiq-otel-collector/ingestion-auth.json" # Replace with your actual customer ID from Step 2 customer_id: "<YOUR_CUSTOMER_ID>" # Select the appropriate regional endpoint based on where your Google SecOps instance is provisioned # For regional endpoints, see: [https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints](https://cloud.google.com/chronicle/docs/reference/ingestion-api#regional_endpoints) endpoint: "<YOUR_REGIONAL_ENDPOINT>" # Set the log_type to ensure the correct parser is applied log_type: "F5_BIGIP_LTM" raw_log_field: body # You can optionally add other custom ingestion labels here if needed ingestion_labels: service: pipelines: logs/f5ltm: receivers: [udplog] exporters: [chronicle/chronicle_w_labels]listen_addressは0.0.0.0:514に設定され、任意のソースからの syslog を受け入れます。特定のインターフェースに制限する必要がある場合は調整します。- UDP ポート 514 は標準の syslog ポートです。ポート 514 に root 権限が必要な場合は、1024 より大きいポート(
5514など)を使用し、それに応じて F5 構成を調整できます。 - UDP ではなく TCP の場合は、
tcplogレシーバを作成し、F5 リモート高速ログ プロトコルをtcpに設定します。
ファイルを保存し、エディタを終了します。
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。
sudo systemctl restart bindplane-agentWindows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
F5 BIG-IP LTM の Syslog 転送を構成する
オプション A: TMSH(コマンドライン インターフェース)を使用する
syslog 宛先のプールを作成する
- SSH 経由で F5 BIG-IP LTM デバイスに接続します。
次のコマンドを実行します。
tmsh create ltm pool f5_syslog_pool members add { <BINDPLANE_IP>:514 } monitor gateway_icmp<BINDPLANE_IP>は、Bindplane エージェント ホストの IP アドレスに置き換えます。
ログの宛先を作成する
tmsh create sys log-config destination remote-high-speed-log f5_hsl_dest protocol udp pool-name f5_syslog_pool tmsh create sys log-config destination remote-syslog f5_remote_syslog_dest format rfc5424 remote-high-speed-log f5_hsl_destログ パブリッシャーを作成する
tmsh create sys log-config publisher f5_log_publisher destinations add { f5_remote_syslog_dest }リクエスト ロギング プロファイルを作成する
tmsh create ltm profile request-log f5_ltm_request_log \ request-log-pool f5_syslog_pool request-log-protocol mds-udp \ request-log-template 'event_source="request_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",event_timestamp="$DATE_HTTP"' \ request-logging enabled \ response-log-pool f5_syslog_pool response-log-protocol mds-udp \ response-log-template 'event_source="response_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",http_statcode="$HTTP_STATCODE",event_timestamp="$DATE_HTTP"' \ response-logging enabledロギング プロファイルを仮想サーバーに適用する
tmsh modify ltm virtual <VIRTUAL_SERVER_NAME> profiles add { f5_ltm_request_log }<VIRTUAL_SERVER_NAME>は、仮想サーバーの名前に置き換えます。
構成を保存
tmsh save sys config
オプション B: F5 ウェブ UI(構成ユーティリティ)を使用する
syslog 宛先のプールを作成する
- F5 BIG-IP LTM ウェブ インターフェースにログインします。
- [Local Traffic] > [Pools] > [Pool List] の順に移動します。
- [作成] をクリックします。
- 次の構成の詳細を入力します。
- 名前: 「
f5_syslog_pool」と入力します。 - ヘルスモニター: gateway_icmp を選択します。
- 名前: 「
- [リソース] セクションの [新しいメンバー] で、次の操作を行います。
- アドレス: Bindplane Agent の IP アドレスを入力します。
- サービス ポート: 「
514」と入力します。
- [追加] をクリックします。
- [Finished] をクリックします。
リモートの高速ログの宛先を作成する
- [システム> ログ> 設定> ログの宛先] に移動します。
- [作成] をクリックします。
- 次の構成の詳細を入力します。
- 名前: 「
f5_hsl_dest」と入力します。 - タイプ: [リモート高速ログ] を選択します。
- Protocol: [UDP] を選択します。
- プール名:
f5_syslog_poolを選択します。
- 名前: 「
- [Finished] をクリックします。
リモート syslog の宛先を作成する
- [システム> ログ> 設定> ログの宛先] に移動します。
- [作成] をクリックします。
- 次の構成の詳細を入力します。
- 名前: 「
f5_remote_syslog_dest」と入力します。 - タイプ: [リモート Syslog] を選択します。
- Syslog Format: [RFC5424] を選択します。
- リモート高速ログ:
f5_hsl_destを選択します。
- 名前: 「
- [Finished] をクリックします。
ログ パブリッシャーを作成する
- [システム> ログ> 設定> ログ パブリッシャー] に移動します。
- [作成] をクリックします。
- 次の構成の詳細を入力します。
- 名前: 「
f5_log_publisher」と入力します。 - 宛先:
f5_remote_syslog_destを [利用可能] から [選択済み] に移動します。
- 名前: 「
- [Finished] をクリックします。
リクエスト ロギング プロファイルを作成する
- [Local Traffic] > [Profiles] > [Other] > [Request Logging] に移動します。
- [作成] をクリックします。
- 次の構成の詳細を入力します。
- 名前: 「
f5_ltm_request_log」と入力します。 - 保護者のプロフィール:
request-logを選択します。
- 名前: 「
[リクエスト設定] で次の操作を行います。
- リクエスト ロギング: [有効] を選択します。
- リクエストログ プロトコル: [mds-udp] を選択します。
- リクエスト ログプール:
f5_syslog_poolを選択します。 リクエストログ テンプレート: 次のように入力します。
event_source="request_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",event_timestamp="$DATE_HTTP"
[回答の設定] で次の操作を行います。
- レスポンス ロギング: [有効] を選択します。
- Response Log Protocol: [mds-udp] を選択します。
- レスポンス ログプール:
f5_syslog_poolを選択します。 Response Log Template: 次のように入力します。
event_source="response_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",http_statcode="$HTTP_STATCODE",event_timestamp="$DATE_HTTP"
[Finished] をクリックします。
リクエスト ロギング プロファイルを仮想サーバーに適用する
- [Local Traffic] > [Virtual Servers] > [Virtual Server List] の順に移動します。
- 仮想サーバー名をクリックします。
- [リソース] タブに移動します。
- [iRules and Profiles] で、[Profiles] の横にある [Manage] をクリックします。
- [Available] で
f5_ltm_request_logを見つけて、[Selected] に移動します。 - [Finished] をクリックします。
- [更新] をクリックします。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
hostname |
principal.hostname |
Syslog ホスト名(ログを生成したデバイス) |
client_ip |
principal.ip |
クライアントの送信元 IP アドレス |
client_port |
principal.port |
送信元ポート(テンプレートに含まれている場合) |
server_ip |
target.ip |
宛先 IP(プール メンバー) |
server_port |
target.port |
宛先ポート(プール メンバー) |
http_method |
network.http.method |
HTTP リクエスト メソッド |
http_uri |
network.http.url |
HTTP リクエスト URI(パス/クエリを含む) |
http_host |
network.http.host |
HTTP Host ヘッダー |
http_statcode |
network.http.response_code |
HTTP レスポンス ステータス コード |
user_agent |
network.http.user_agent |
ユーザー エージェント ヘッダー |
virtual_name |
target.application |
F5 仮想サーバーの名前 |
event_timestamp |
metadata.event_timestamp |
デバイスからのイベント時刻 |
event_source |
metadata.product_event_type |
イベントタイプタグ(request_logging、response_logging) |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。