Cisco Firepower NGFW のログを収集する
このドキュメントでは、Bindplane を使用して Cisco Firepower Next Generation Firewall(NGFW)ログを Google Security Operations に取り込む方法について説明します。パーサーは、さまざまな形式(syslog、JSON、それらの組み合わせ)からログを抽出し、タイムスタンプを正規化して、関連するフィールドを Unified Data Model(UDM)にマッピングします。従来の syslog メッセージとログ内の JSON 形式のペイロードの両方を処理し、grok パターンと条件ロジックを活用して、イベント ID、重大度、クライアント IP などのフィールドを抽出し、HTTP ホスト名と URI に基づいてラベルでデータを拡充します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows 2016 以降、または
systemd
を使用する Linux ホスト - プロキシの背後で実行している場合は、ファイアウォール ポートが開いていることを確認する
- Cisco Firepower デバイスへの特権アクセス
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM Settings] > [Collection Agents] に移動します。
- 取り込み認証ファイルをダウンロードします。
- 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 Agent を構成する
- 構成ファイルにアクセスします。
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: 'CISCO_FIREPOWER_FIREWALL' 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 bindplane-agent
Windows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
Cisco FirePower デバイスで Syslog を構成する
- Firepower Device Manager ウェブ UI にログインします。
- [システム設定] > [ロギングの設定] に移動します。
- [データロギング] の切り替えを [有効] にします。
- [Syslog Servers] の [+] アイコンをクリックします。
- [Create new Syslog Server] をクリックします。(または、[Objects] > [Syslog Servers] で Syslog Server を作成することもできます)。
- 次の構成の詳細を入力します。
- IP アドレス: Bindplane エージェントの IP アドレスを入力します。
- Protocol Type: [UDP] を選択します。
- ポート番号: Bindplane エージェントのポート番号を入力します。
- [データ インターフェース] または [管理インターフェース] を選択します。
- [OK] をクリックします。
- リストから新しく作成した [Syslog server] を選択し、[OK] をクリックします。
- [すべてのイベントをフィルタリングするための重大度レベル] をクリックし、リストから [情報] ロギングレベルを選択します。
- [保存] をクリックします。
- 新しい設定のデプロイ アイコン > [今すぐデプロイ] をクリックします。
- 画面上部の [ポリシー] をクリックします。
- [ACP ルール] の右側にカーソルを合わせ、 編集 アイコン をクリックします。
- [ロギング] タブに移動します。
- [接続の終了時] を選択します。
- [Select a Syslog Alert Configuration] リストを開きます。
- Bindplane の Syslog サーバーを選択します。
- [OK] をクリックします。
- 新しい設定のデプロイ アイコン > [今すぐデプロイ] をクリックします。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
AccessControlRuleAction |
security_result.action |
未加工ログから直接マッピングされます。値は UDM(ALLOW/BLOCK)に正規化されます。 |
AccessControlRuleName |
security_result.rule_name |
未加工ログから直接マッピングされます。 |
ACPolicy |
security_result.rule_labels.value |
未加工ログから直接マッピングされます。キーが「ACPolicy」に設定されます。 |
ApplicationProtocol |
network.application_protocol |
未加工ログから直接マッピングされます。 |
Client |
network.http.user_agent |
未加工ログから直接マッピングされます。 |
ClientVersion |
principal.asset.platform_version |
未加工ログから直接マッピングされます。 |
collection_time.nanos |
metadata.event_timestamp.nanos |
未加工ログから直接マッピングされます。 |
collection_time.seconds |
metadata.event_timestamp.seconds |
未加工ログから直接マッピングされます。 |
ConnectionDuration |
network.session_duration.seconds |
未加工ログから直接マッピングされ、必要に応じて秒に変換されます(期間形式など)。 |
data |
metadata.description |
eventId と組み合わせて使用し、より説明的な説明を生成します。grok と正規表現を使用して他のフィールドを抽出するためにも使用されます。 |
deviceId |
metadata.product_log_id |
device_uuid に名前が変更された後、未加工ログから直接マッピングされます。 |
device_uuid |
metadata.product_log_id |
未加工ログから直接マッピングされます。 |
DstIP |
target.asset.ip 、target.ip |
未加工ログから直接マッピングされます。 |
DstPort |
target.port |
未加工ログから直接マッピングされます。 |
EgressInterface |
principal.asset.attribute.labels.value |
未加工ログから直接マッピングされます。キーが「EgressInterface」に設定されます。 |
EgressZone |
target.location.name |
未加工ログから直接マッピングされます。 |
eventId |
metadata.product_event_type |
未加工ログから直接マッピングされます。条件ロジックとフィルタリングにも使用されます。 |
FileAction |
security_result.summary |
未加工ログから直接マッピングされます。 |
FileDirection |
metadata.description |
未加工ログから直接マッピングされ、説明に追加されます。 |
FileName |
target.file.full_path |
未加工ログから直接マッピングされます。 |
FilePolicy |
security_result.rule_name |
未加工ログから直接マッピングされます。 |
FileSize |
target.file.size |
未加工ログから直接マッピングされます。 |
FileSHA256 |
target.file.sha256 |
未加工ログから直接マッピングされます。 |
FileSandboxStatus |
security_result.description |
未加工ログから直接マッピングされます。 |
HTTPReferer |
network.http.referral_url |
未加工ログから直接マッピングされます。 |
HTTPResponse |
network.http.response_code |
未加工ログから直接マッピングされます。 |
HTTP_Hostname |
target.resource.attribute.labels.value |
未加工ログから直接マッピングされます。キーが「HTTP_Hostname」に設定されます。 |
HTTP_URI |
target.resource.attribute.labels.value |
未加工ログから直接マッピングされます。キーが「HTTP_URI」に設定されます。 |
IngressInterface |
principal.asset.attribute.labels.value |
未加工ログから直接マッピングされます。キーが「IngressInterface」に設定されます。 |
IngressZone |
principal.location.name |
未加工ログから直接マッピングされます。 |
InitiatorBytes |
network.received_bytes |
未加工ログから直接マッピングされます。 |
InlineResult |
security_result.action_details |
未加工ログから直接マッピングされます。 |
IntrusionPolicy |
security_result.rule_name |
未加工ログから直接マッピングされます。 |
log_type |
metadata.log_type |
未加工ログから直接マッピングされます。 |
Message |
security_result.description |
未加工ログから直接マッピングされます。多くの場合、「Message : 」が先頭に付加されます。 |
NAPPolicy |
principal.asset.attribute.labels.value |
未加工ログから直接マッピングされます。キーが「NAPPolicy」に設定されます。 |
Prefilter Policy |
security_result.rule_labels.value |
未加工ログから直接マッピングされます。キーが「Prefilter Policy」に設定されます。 |
Priority |
security_result.priority_details |
未加工ログから直接マッピングされます。 |
priorityId |
security_result.priority_details |
未加工ログから直接マッピングされます。 |
product |
metadata.product_name |
「Firepower Firewall」に設定します。 |
Protocol |
network.ip_protocol |
未加工ログから直接マッピングされます。値は UDM(TCP、UDP、ICMP など)に正規化されます。 |
ResponderBytes |
network.sent_bytes |
未加工ログから直接マッピングされます。 |
Revision |
security_result.about.labels.value |
未加工ログから直接マッピングされます。キーは「Singnature_Version」に設定されます。 |
ruleId |
security_result.rule_id |
未加工ログから直接マッピングされます。 |
security_result.severity |
security_result.severity |
未加工ログの severity フィールドに基づいて設定され、UDM の重大度値へのマッピングにルックアップ テーブルが使用されます。 |
security_result.severity_details |
security_result.severity_details |
未加工ログの severity フィールドに基づいて設定します。ルックアップ テーブルを使用して、UDM の重大度の詳細にマッピングします。 |
SID |
security_result.threat_id |
未加工ログから直接マッピングされます。 |
SrcIP |
principal.asset.ip 、principal.ip |
未加工ログから直接マッピングされます。 |
SrcPort |
principal.port |
未加工ログから直接マッピングされます。 |
syslog_msg_id |
metadata.product_event_type |
未加工ログから直接マッピングされ、文字列に変換されます。eventId が存在する場合にオーバーライドするために使用されます。 |
syslog_msg_text |
metadata.description 、security_result.description |
未加工ログから直接マッピングされます。場合によっては「Message : 」が前に付加されます。data と eventId から生成された説明をオーバーライドするために使用されます。 |
syslog_severity |
security_result.severity |
文字列に変換された後、未加工ログから直接マッピングされます。eventId から派生した重大度をオーバーライドするために使用されます。値は UDM(INFORMATIONAL、WARNING、ERROR など)に正規化されます。 |
sysloghost |
intermediary.hostname |
未加工ログから直接マッピングされます。 |
ThreatName |
security_result.threat_name |
未加工ログから直接マッピングされます。 |
ts |
metadata.event_timestamp |
日付フィルタとさまざまな形式を使用して未加工のログから解析されます。 |
ts_year |
metadata.event_timestamp |
日付フィルタとさまざまな形式を使用して未加工のログから解析されます。 |
URL |
target.url |
未加工ログから直接マッピングされます。 |
URLCategory |
security_result.category_details |
未加工ログから直接マッピングされます。 |
URLReputation |
security_result.confidence_details |
未加工ログから直接マッピングされます。 |
User |
target.user.userid |
未加工ログから直接マッピングされます。 |
UserAgent |
network.http.user_agent |
未加工ログから直接マッピングされます。 |
UserName |
target.user.userid |
未加工ログから直接マッピングされます。 |
user_name |
principal.user.email_addresses |
特定のイベントタイプでは、未加工ログから直接マッピングされます。 |
WebApplication |
target.application |
未加工ログから直接マッピングされます。 |
metadata.event_type はデフォルト値の NETWORK_CONNECTION に設定され、eventId や他のフィールドに基づいてオーバーライドされることがあります。 |
||
metadata.vendor_name は常に「Cisco」に設定されます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。