Juniper SRX シリーズ ファイアウォール ログを収集する
このドキュメントでは、Bindplane を使用して Juniper SRX シリーズ ファイアウォール ログを Google Security Operations に取り込む方法について説明します。
Juniper SRX シリーズ ファイアウォールは、ステートフル インスペクション、侵入検知と防御(IDP)、アプリケーション セキュリティ、VPN などの次世代ファイアウォール(NGFW)機能を提供する高性能なネットワーク セキュリティ デバイスです。SRX ファイアウォールは、トラフィック、セキュリティ、システム、セッション イベントの syslog メッセージを生成します。これらのメッセージは、一元的なセキュリティ モニタリングのために外部 SIEM プラットフォームに転送できます。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス。
- Windows Server 2016 以降、または
systemdを搭載した Linux ホスト。 - Bindplane エージェントと Juniper SRX ファイアウォール間のネットワーク接続。
- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
- Juniper SRX ファイアウォールへの特権アクセス(J-Web または CLI を介した root またはスーパーユーザー レベルのアクセス)。
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- 取り込み認証ファイル をダウンロードします。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](https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi)" /quietインストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sc query observiq-otel-collector
サービスは RUNNING と表示されます。
Linux にインストールする
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL [https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh](https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh))" install_unix.shインストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sudo systemctl status observiq-otel-collector
サービスは active (running) と表示されます。
その他のインストール リソース
その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。
syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルを見つける
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
構成ファイルを編集する
config.yamlの内容全体を次の構成に置き換えます。receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/juniper_firewall: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'your-customer-id-here' endpoint: malachiteingestion-pa.googleapis.com log_type: JUNIPER_FIREWALL raw_log_field: body ingestion_labels: env: production service: pipelines: logs/juniper_to_chronicle: receivers: - udplog exporters: - chronicle/juniper_firewall
構成パラメータ
各プレースホルダを次のように置き換えます。
レシーバーの構成:
listen_address: リッスンする IP アドレスとポート。0.0.0.0を使用して、すべてのインターフェースでリッスンします。ポート514は標準の syslog ポートです(Linux で root 権限が必要です)。root 以外のデプロイには1514を使用します。
エクスポータの構成:
creds_file_path: 取り込み認証ファイルのフルパス:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id: Google SecOps のお客様 ID。endpoint: リージョン エンドポイント URL:- 米国:
malachiteingestion-pa.googleapis.com - ヨーロッパ:
europe-malachiteingestion-pa.googleapis.com - アジア:
asia-southeast1-malachiteingestion-pa.googleapis.com - 完全なリストについては、リージョン エンドポイントをご覧ください。
- 米国:
ingestion_labels: YAML 形式の省略可能なラベル(例:env: production)。
構成ファイルを保存する
- 編集後、ファイルを保存します。
- Linux:
Ctrl+O、Enter、Ctrl+Xの順に押します。 - Windows: [ファイル > 保存] をクリックします。
- Linux:
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには:
次のコマンドを実行します。
sudo systemctl restart observiq-otel-collectorサービスが実行されていることを確認します。
sudo systemctl status observiq-otel-collectorログでエラーを確認します。
sudo journalctl -u observiq-otel-collector -f
Windows で Bindplane エージェントを再起動するには:
次のいずれかのオプションを選択します。
- 管理者としてコマンド プロンプトまたは PowerShell を実行する:
net stop observiq-otel-collector && net start observiq-otel-collector- サービス コンソール:
Win+Rを押してservices.mscと入力し、Enter キーを押します。- observIQ OpenTelemetry Collector を見つけます。
- 右クリックして [再起動] を選択します。
サービスが実行されていることを確認します。
sc query observiq-otel-collectorログでエラーを確認します。
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Juniper SRX syslog 転送を構成する
syslog メッセージを Bindplane エージェントに転送するように Juniper SRX ファイアウォールを構成します。
J-Web インターフェースを使用する
- Juniper SRX J-Web インターフェースにログインします。
- [Configure] > [System Properties] > [Syslog] に移動します。
- [Host] セクションで [Add] をクリックして、新しい syslog サーバーを追加します。
- 次の構成の詳細を指定します。
- ホスト名: Bindplane エージェント ホストの IP アドレス(
192.168.1.100など)を入力します。 - ポート:
514(または Bindplane エージェントで構成されたポート)を入力します。 - ログ接頭辞: ログメッセージの省略可能な接頭辞。
- Facility: 転送するファシリティと重大度を選択します。
- any: 重大度 info 以上を選択します。
- ホスト名: Bindplane エージェント ホストの IP アドレス(
- [Source address] フィールドに、SRX 管理インターフェースの IP を入力します(省略可。一貫したソース識別のためにおすすめします)。
- [OK] をクリックして保存します。
- [Commit] をクリックして構成を適用します。
Junos CLI を使用する
- SSH またはコンソール経由で Juniper SRX に接続します。
構成モードに入ります。
configuresyslog ホストを構成します。
set system syslog host BINDPLANE_IP any info set system syslog host BINDPLANE_IP port 514 set system syslog host BINDPLANE_IP source-address SRX_MGMT_IP set system syslog host BINDPLANE_IP structured-data次のように置き換えます。
BINDPLANE_IP: Bindplane エージェント ホストの IP アドレス。SRX_MGMT_IP: SRX ファイアウォールの管理 IP アドレス。
セキュリティ ログ ストリーミングを構成します(トラフィック ログとセッション ログの場合)。
set security log mode stream set security log source-address SRX_MGMT_IP set security log stream chronicle-stream host BINDPLANE_IP set security log stream chronicle-stream port 514 set security log stream chronicle-stream transport protocol udp set security log stream chronicle-stream format sd-syslog set security log stream chronicle-stream severity info set security log stream chronicle-stream category all次のように置き換えます。
BINDPLANE_IP: Bindplane エージェント ホストの IP アドレス。SRX_MGMT_IP: SRX ファイアウォールの管理 IP アドレス。
構成を commit します。
commitsyslog の構成を確認します。
show system syslog show security log
特定のログカテゴリを構成する
特定のログタイプを転送するには、個々のファシリティを構成します。
set system syslog host BINDPLANE_IP firewall any set system syslog host BINDPLANE_IP authorization info set system syslog host BINDPLANE_IP daemon info set system syslog host BINDPLANE_IP kernel info set system syslog host BINDPLANE_IP interactive-commands info
BINDPLANE_IP は、Bindplane エージェント ホストの IP アドレスに置き換えます。
syslog 転送を確認する
SRX で次のコマンドを実行して、アクティブな syslog の宛先を表示します。
show system syslogファイアウォールを介してテスト トラフィックを生成し、Bindplane エージェントのログにログが表示されることを確認します。
詳細については、Juniper SRX シリーズのドキュメントをご覧ください。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
source-address |
event.idm.read_only_udm.principal.ip |
source-address から取得した値。 |
source-port |
event.idm.read_only_udm.principal.port |
source-port から取得した値を整数に変換した値。 |
destination-address |
event.idm.read_only_udm.target.ip |
destination-address から取得した値。 |
destination-port |
event.idm.read_only_udm.target.port |
destination-port から取得した値を整数に変換した値。 |
protocol-id |
event.idm.read_only_udm.network.ip_protocol |
プロトコル番号から名前にマッピング(6=TCP、17=UDP、1=ICMP)。 |
policy-name |
event.idm.read_only_udm.security_result.rule_name |
policy-name から取得した値。 |
source-zone-name |
event.idm.read_only_udm.additional.fields |
source-zone-name から取得した値にキー source-zone-name を追加した値。 |
destination-zone-name |
event.idm.read_only_udm.additional.fields |
destination-zone-name から取得した値にキー destination-zone-name を追加した値。 |
service-name |
event.idm.read_only_udm.target.application |
service-name から取得した値。 |
application |
event.idm.read_only_udm.target.application |
application から取得した値(service-name が存在しない場合)。 |
nat-source-address |
event.idm.read_only_udm.principal.nat_ip |
nat-source-address から取得した値。 |
nat-source-port |
event.idm.read_only_udm.principal.nat_port |
nat-source-port から取得した値を整数に変換した値。 |
nat-destination-address |
event.idm.read_only_udm.target.nat_ip |
nat-destination-address から取得した値。 |
nat-destination-port |
event.idm.read_only_udm.target.nat_port |
nat-destination-port から取得した値を整数に変換した値。 |
bytes-from-client |
event.idm.read_only_udm.network.sent_bytes |
bytes-from-client から取得した値を符号なし整数に変換した値。 |
bytes-from-server |
event.idm.read_only_udm.network.received_bytes |
bytes-from-server から取得した値を符号なし整数に変換した値。 |
packets-from-client |
event.idm.read_only_udm.additional.fields |
packets-from-client から取得した値にキー packets-from-client を追加した値。 |
packets-from-server |
event.idm.read_only_udm.additional.fields |
packets-from-server から取得した値にキー packets-from-server を追加した値。 |
elapsed-time |
event.idm.read_only_udm.additional.fields |
elapsed-time から取得した値にキー elapsed-time を追加した値。 |
username |
event.idm.read_only_udm.principal.user.userid |
username から取得した値。 |
reason |
event.idm.read_only_udm.security_result.description |
reason から取得した値。 |
action |
event.idm.read_only_udm.security_result.action |
action が accept または permit の場合は、ALLOW に設定します。action が deny、drop、reject、close の場合は、BLOCK に設定します。 |
hostname |
event.idm.read_only_udm.principal.hostname |
syslog ホスト名フィールドから取得した値。 |
attack-name |
event.idm.read_only_udm.security_result.threat_name |
attack-name から取得した値(IDP イベント)。 |
severity |
event.idm.read_only_udm.security_result.severity |
重大度文字列からマッピング: info から INFORMATIONAL、warning から MEDIUM、error または major から ERROR、critical から CRITICAL。 |
event.idm.read_only_udm.metadata.vendor_name |
Juniper Networks に設定します。 |
|
event.idm.read_only_udm.metadata.product_name |
SRX Series Firewall に設定します。 |
変更履歴
さらにサポートが必要な場合コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。