Juniper NetScreen ファイアウォール ログを収集する
このドキュメントでは、Juniper NetScreen ファイアウォール ログを Google Security Operations に送信するように設定する方法について説明します。パーサーは grok パターンを使用してフィールドを抽出し、さまざまな syslog 形式と JSON ペイロードを処理します。次に、抽出されたフィールドを UDM にマッピングし、IP アドレス、ユーザー名、ポートなどの特定のフィールドの有無に基づいて、イベントをネットワーク接続、ユーザー ログイン、ステータス更新、汎用イベントとして分類します。
始める前に
- Juniper NetScreen ファイアウォールに対する管理者権限があることを確認します。
- Google Security Operations インスタンスがあることを確認します。
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
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: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/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 ingestion_labels: log_type: SYSLOG namespace: juniper_firewall raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog 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
Juniper Networks NetScreen ファイアウォールを構成する
- Juniper NetScreen のウェブ インターフェースにログインします。
- [Configuration] > [Report settings] > [Log settings] を選択します。
- [イベントの重大度] チェックボックスをすべてオンにします。
- [適用] をクリックします。
- [Configuration] > [Report settings] > [Syslog] を選択します。
- [Syslog メッセージを有効にする] チェックボックスをオンにします。
- [送信元インターフェース] リストで、syslog パケットの送信元となる NetScreen インターフェースを選択します。
- [Syslog サーバー] セクションで、[有効にする] チェックボックスをオンにして、次の情報を入力します。
- IP/ホスト名:
Bindplane
IP アドレスを入力します。 - ポート:
Bindplane
ポート番号を入力します。 - MDR 機能: Local0 機能レベルを選択します。
- ファシリティ: Local0 ファシリティ レベルを選択します。
- IP/ホスト名:
- [適用] をクリックします。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
ACTION |
security_result.action_details |
GROK フィルタと KV フィルタで抽出された ACTION フィールドから直接マッピングされます。 |
APPLICATION |
principal.application |
GROK フィルタと KV フィルタで抽出された APPLICATION フィールドから直接マッピングされます。 |
application |
target.application |
GROK で抽出された application フィールドから直接マッピングされます。 |
attack-name |
security_result.threat_name |
GROK で抽出された attack-name フィールドから直接マッピングされます。 |
bytes-from-client |
network.sent_bytes |
GROK で抽出された bytes-from-client フィールドから直接マッピングされます。 |
bytes-from-server |
network.received_bytes |
GROK で抽出された bytes-from-server フィールドから直接マッピングされます。 |
command |
target.process.command_line |
GROK で抽出された command フィールドから直接マッピングされます。 |
destination-address |
target.ip |
GROK で抽出された destination-address フィールドから直接マッピングされます。 |
destination-port |
target.port |
GROK で抽出された destination-port フィールドから直接マッピングされます。 |
destination-zone |
additional.fields[].value.string_value |
GROK フィルタと KV フィルタで抽出された destination-zone フィールドから直接マッピングされます。key は destination-zone に設定します。 |
destination_zone-name |
security_result.detection_fields[].value |
GROK で抽出された destination_zone-name フィールドから直接マッピングされます。key は dstzone に設定します。 |
dst-nat-rule-name |
security_result.detection_fields[].value |
GROK で抽出された dst-nat-rule-name フィールドから直接マッピングされます。key は dst-nat-rule-name に設定します。 |
dst-nat-rule-type |
security_result.detection_fields[].value |
GROK で抽出された dst-nat-rule-type フィールドから直接マッピングされます。key は dst-nat-rule-type に設定します。 |
elapsed-time |
network.session_duration.seconds |
GROK で抽出された elapsed-time フィールドから直接マッピングされます。 |
encrypted |
security_result.detection_fields[].value |
GROK で抽出された encrypted フィールドから直接マッピングされます。key は encrypted に設定します。 |
event_time |
metadata.event_timestamp |
タイムスタンプは、さまざまな GROK パターンを使用して未加工のログから抽出されます。優先順位は event_time 、TIMESTAMP_ISO8601 、SYSLOGTIMESTAMP の順です。その後、タイムスタンプ オブジェクトに変換されます。 |
host |
principal.hostname 、intermediary.hostname |
type が NetScreen の場合、intermediary.hostname にマッピングされます。それ以外の場合は principal.hostname にマッピングされます。 |
host_ip |
intermediary.ip |
GROK で抽出された host_ip フィールドから直接マッピングされます。 |
icmp-type |
network.icmp_type |
GROK で抽出された icmp-type フィールドから直接マッピングされます。 |
ident |
target.application |
GROK フィルタと JSON フィルタで抽出された ident フィールドから直接マッピングされます。 |
inbound-bytes |
network.received_bytes |
GROK で抽出された inbound-bytes フィールドから直接マッピングされます。 |
inbound-packets |
network.received_packets |
GROK で抽出された inbound-packets フィールドから直接マッピングされます。 |
ip |
principal.ip 、intermediary.ip |
type が NetScreen の場合、intermediary.ip にマッピングされます。それ以外の場合は principal.hostname にマッピングされます。 |
message |
security_result.description |
メッセージが JSON で、log_message_data フィールドが存在しない場合、message フィールドが説明として使用されます。 |
msg_data |
security_result.summary |
GROK で抽出された msg_data フィールドから直接マッピングされます。 |
nat-destination-address |
target.nat_ip |
GROK で抽出された nat-destination-address フィールドから直接マッピングされます。 |
nat-destination-port |
target.nat_port |
GROK で抽出された nat-destination-port フィールドから直接マッピングされます。 |
nat-source-address |
principal.nat_ip |
GROK で抽出された nat-source-address フィールドから直接マッピングされます。 |
nat-source-port |
principal.nat_port |
GROK で抽出された nat-source-port フィールドから直接マッピングされます。 |
outbound-bytes |
network.sent_bytes |
GROK で抽出された outbound-bytes フィールドから直接マッピングされます。 |
outbound-packets |
network.sent_packets |
GROK で抽出された outbound-packets フィールドから直接マッピングされます。 |
packets-from-client |
network.sent_packets |
GROK で抽出された packets-from-client フィールドから直接マッピングされます。 |
packets-from-server |
network.received_packets |
GROK で抽出された packets-from-server フィールドから直接マッピングされます。 |
packet-incoming-interface |
security_result.detection_fields[].value |
GROK で抽出された packet-incoming-interface フィールドから直接マッピングされます。key は packet-incoming-interface に設定します。 |
pid |
target.process.pid |
GROK フィルタと JSON フィルタで抽出された pid フィールドから直接マッピングされます。 |
policy-name |
security_result.rule_name |
GROK で抽出された policy-name フィールドから直接マッピングされます。 |
PROFILE |
additional.fields[].value.string_value |
GROK フィルタと KV フィルタで抽出された PROFILE フィールドから直接マッピングされます。key は PROFILE に設定します。 |
protocol-id 、protocol-name |
network.ip_protocol |
GROK を介して抽出された protocol-id フィールドまたは protocol-name フィールドからマッピングされます。値は、対応する IP プロトコル列挙型に変換されます。 |
REASON |
additional.fields[].value.string_value |
GROK フィルタと KV フィルタで抽出された REASON フィールドから直接マッピングされます。key は REASON に設定します。 |
reason |
security_result.description |
GROK で抽出された reason フィールドから直接マッピングされます。 |
rule-name |
security_result.rule_name |
GROK で抽出された rule-name フィールドから直接マッピングされます。 |
SESSION_ID |
network.session_id |
GROK フィルタと KV フィルタで抽出された SESSION_ID フィールドから直接マッピングされます。 |
service-name |
security_result.detection_fields[].value |
GROK で抽出された service-name フィールドから直接マッピングされます。key は srvname に設定します。 |
source-address |
principal.ip |
GROK で抽出された source-address フィールドから直接マッピングされます。 |
source-port |
principal.port |
GROK で抽出された source-port フィールドから直接マッピングされます。 |
source-zone |
additional.fields[].value.string_value |
GROK フィルタと KV フィルタで抽出された source-zone フィールドから直接マッピングされます。key は source-zone に設定します。 |
source_zone-name |
security_result.detection_fields[].value |
GROK で抽出された source_zone-name フィールドから直接マッピングされます。key は srczone に設定します。 |
src-nat-rule-name |
security_result.detection_fields[].value |
GROK で抽出された src-nat-rule-name フィールドから直接マッピングされます。key は src-nat-rule-name に設定します。 |
src-nat-rule-type |
security_result.detection_fields[].value |
GROK で抽出された src-nat-rule-type フィールドから直接マッピングされます。key は src-nat-rule-type に設定します。 |
subtype |
metadata.product_event_type |
GROK で抽出された subtype フィールドから直接マッピングされます。 |
threat-severity |
security_result.severity_details |
GROK で抽出された threat-severity フィールドから直接マッピングされます。 |
time |
metadata.event_timestamp |
GROK フィルタと JSON フィルタで抽出された time フィールドから直接マッピングされます。タイムスタンプ オブジェクトに変換されます。 |
username |
target.user.userid |
GROK で抽出された username フィールドから直接マッピングされます。 |
metadata.log_type |
JUNIPER_FIREWALL にハードコードされています。type フィールドに基づいて JUNIPER_FIREWALL または NetScreen にハードコードされます。JUNIPER_FIREWALL にハードコードされています。パーサーのロジックに基づいて ALLOW または BLOCK に設定されます。subtype フィールドと severity_details フィールドに基づいて、LOW、MEDIUM、HIGH、INFORMATIONAL、CRITICAL のいずれかに設定されます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。