Brocade ServerIron のログを収集する
以下でサポートされています。
Google SecOpsSIEM
このパーサーは、正規表現のマッチングを使用して Brocade ServerIron syslog メッセージからフィールドを抽出し、統合データモデル(UDM)にマッピングします。ネットワーク ステータス、ユーザー認証、セキュリティ イベントなど、さまざまなログ形式を処理します。また、必要に応じてデータ型の変換と拡充を行います。
始める前に
- Google Security Operations インスタンスがあることを確認します。
- Windows 2016 以降、または systemd を使用した Linux ホストを使用していることを確認します。
- プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
- Brocade ServerIron インスタンスに対する特権アクセス権があることを確認します。
Google SecOps 取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
BindPlane Agent をインストールする
- Windows へのインストールの場合は、次のスクリプトを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Linux へのインストールの場合は、次のスクリプトを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように BindPlane Agent を構成する
- BindPlane がインストールされているマシンにアクセスします。
config.yaml
ファイルを次のように編集します。receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: Brocade_ServerIron raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
BindPlane Agent を再起動して変更を適用します。
sudo systemctl restart bindplane
Brocade ServerIron ADX から Syslog Export を構成する
ADX デバイスにログインし、グローバル構成モードに入ります。
enable configure terminal
Syslog ロギングを有効にします。
logging on
目的のプロトコル(Bindplane)を含む、Syslog サーバーの IP アドレスまたはホスト名とポートを指定します。
logging host <syslog-server-ip> [udp | tcp] port <port-number>
ポート 54525 の TCP の例:
logging host 10.10.10.10 tcp port 54525
省略可: Syslog Facility(local0~local7)を設定します。
logging facility local0
Syslog サーバーに送信するログの最小重大度レベルを定義します。
logging trap <severity-level>
構成を保存します。
write memory
UDM マッピング テーブル
ログフィールド | UDM マッピング | 論理 |
---|---|---|
%{GREEDYDATA} | metadata.description | %{GREEDYDATA} フィールドは、「-- %{GREEDYDATA} --」パターンと一致する場合、metadata.description にマッピングされます。 |
%{GREEDYDATA:auth_result} | security_result.description | %{GREEDYDATA:auth_result} フィールドは、%{GREEDYDATA:desc} フィールドと連結され、%{GREEDYDATA:desc} が存在する場合は security_result.description を形成します。 |
%{GREEDYDATA:desc} | security_result.description | %{GREEDYDATA:desc} フィールドは、security_result.description フィールドに入力するために使用されます。元のログ形式に応じて、他のフィールドと連結できます。 |
%{GREEDYDATA:login_to} | security_result.description | %{GREEDYDATA:login_to} フィールドは、%{GREEDYDATA:desc} フィールドと連結され、%{GREEDYDATA:desc} が存在する場合は security_result.description を形成します。 |
%{GREEDYDATA:user} | target.user.userid | %{GREEDYDATA:user} フィールドは target.user.userid にマッピングされます。 |
%{HOST:principal_host} | principal.hostname | %{HOST:principal_host} フィールドは principal.hostname にマッピングされます。 |
%{HOST:target_host} | target.hostname | %{HOST:target_host} フィールドは target.hostname にマッピングされます。 |
%{INT:http_port} | additional.fields.value.string_value | %{INT:http_port} フィールドは、キー「HTTP Port」で additional.fields.value.string_value にマッピングされます。 |
%{INT:target_port} | target.port | %{INT:target_port} フィールドは target.port にマッピングされ、整数に変換されます。 |
%{INT:telnet_port} | additional.fields.value.string_value | %{INT:telnet_port} フィールドは、キー「Telnet Port」で additional.fields.value.string_value にマッピングされます。 |
%{INT:tftp_port} | additional.fields.value.string_value | %{INT:tftp_port} フィールドは、キー「TFTP Port」で additional.fields.value.string_value にマッピングされます。 |
%{IP:principal_ip} | principal.ip | %{IP:principal_ip} フィールドは principal.ip にマッピングされます。 |
%{IP:target_ip} | target.ip | %{IP:target_ip} フィールドは target.ip にマッピングされます。 |
%{IPV4:principal_ip} | principal.ip | %{IPV4:principal_ip} フィールドは principal.ip にマッピングされます。 |
%{IPV4:target_ip} | target.ip | %{IPV4:target_ip} フィールドは target.ip にマッピングされます。 |
%{MAC:principal_mac} | principal.mac | %{MAC:principal_mac} フィールドは、[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2} 形式に変換された後、principal.mac にマッピングされます。 |
%{USERNAME:target_host} | target.hostname | %{USERNAME:target_host} フィールドは target.hostname にマッピングされます。 |
%{USERNAME:user} | target.user.userid | %{USERNAME:user} フィールドは target.user.userid にマッピングされます。 |
%{WORD:auth_result} | security_result.description | %{WORD:auth_result} フィールドは、%{GREEDYDATA:desc} フィールドと連結され、%{GREEDYDATA:desc} が存在する場合は security_result.description を形成します。 |
%{WORD:proto} | network.application_protocol | %{WORD:proto} フィールドの値が「SSH」の場合、このフィールドは network.application_protocol にマッピングされます。 |
timestamp | metadata.event_timestamp | タイムスタンプ フィールドは、grok パターンを使用して未加工のログデータから解析され、タイムスタンプ オブジェクトに変換されます。 |
extensions.auth.type | proto フィールドが空でなく、かつ auth_action フィールドが「logout」または「login」のどちらかである場合、値は「MACHINE」に設定されます。 | |
metadata.description | このフィールドには、「metadata_description」フィールドの値が入力されます(空でない場合)。 | |
metadata.event_type | このフィールドには、条件付きロジックを使用して他のフィールドの値に基づいて値が入力されます。 - STATUS_STARTUP: target_port_status が「up」の場合。 - STATUS_SHUTDOWN: target_port_status が「down」の場合。 - USER_LOGOUT: proto が空ではなく、auth_action が「logout」の場合。 - USER_LOGIN: proto が空ではなく、auth_action が「login」の場合。 - STATUS_UPDATE: metadata_description が「state changed」と一致する場合。 - GENERIC_EVENT: 上記の条件がいずれも満たされない場合。 |
|
metadata.log_type | この値は「BROCADE_SERVERIRON」にハードコードされています。 | |
metadata.product_name | この値は「ServerIron」にハードコードされています。 | |
metadata.vendor_name | この値は「Brocade」にハードコードされています。 | |
security_result.action | desc フィールドに「fail」が含まれている場合、または auth_result フィールドに「fail」または「rejected」が含まれている場合、値は「BLOCK」に設定されます。 |
変更
2022-01-13
- 新しく追加されたパーサー。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。