Netgate pfSense のログを収集する

以下でサポートされています。

このドキュメントでは、Google Security Operations フォワーダーを使用して Netgate pfSense ログを収集する方法について説明します。

詳細については、Google SecOps へのデータの取り込みをご覧ください。

取り込みラベルによって、未加工のログデータを構造化 UDM 形式に正規化するパーサーが識別されます。このドキュメントの情報は、取り込みラベル PFSENSE が付加されたパーサーに適用されます。

Netgate pfSense を構成する

  1. 管理者認証情報を使用して pfSense インターフェースにログインします。
  2. [グローバルログ] 設定で、次の操作を行います。
    1. [ステータス> システムログ> 設定] を選択します。
    2. [設定] タブで、[一般的なロギング オプション] を選択して、次の操作を行います。
      1. [Log message format] フィールドで、[syslog (RFC 5424, with RFC 3339 microsecond-precision timestamps)] を選択します。
      2. [Log firewall default blocks] フィールドで、次のチェックボックスをオンにします。
        • ルールセットのデフォルトのブロックルールと一致したログパケット
        • ルールセットに設定されたデフォルトのパスルールと一致したログパケット
        • 「ボゴン ネットワークをブロックする」ルールでブロックされたパケットをログに記録する
        • 「プライベート ネットワークをブロック」ルールでブロックされたパケットをログに記録する
  3. 新しい設定を保存するには、[保存] をクリックします。

ファイアウォール ログを Google SecOps に送信する

  1. [グローバル ログ] 設定で、[ステータス > システムログ > 設定] を選択します。
  2. [設定] タブで、[リモート ロギング オプション] を選択し、次の操作を行います。
    • [リモート ロギングを有効にする] フィールドで、[ログ メッセージをリモート Syslog サーバーに送信する] チェックボックスをオンにします。
    • [送信元アドレス] フィールドはデフォルト値の [任意] のままにします。
    • [IP プロトコル] フィールドで、送信元アドレスがデフォルト値として選択されている場合は、IP アドレスを指定する必要はありません。それ以外の場合は、IP アドレスを入力します。
    • [Remote log servers] に、Google SecOps フォワーダーの IP アドレスを指定します。
    • [リモート syslog の内容] で、[ファイアウォール イベント] チェックボックスをオンにします。
  3. 変更を保存するには、[保存] をクリックします。

Netgate pfSense のログを取り込むように Google SecOps フォワーダーを構成する

  1. [SIEM の設定] > [フォワーダー] を選択します。
  2. [新しいフォワーダーの追加] をクリックします。
  3. [Forwarder name] フィールドに、フォワーダーの一意の名前を入力します。
  4. [Submit]、[Confirm] の順にクリックします。フォワーダーが追加され、[コレクタの構成を追加する] ウィンドウが表示されます。
  5. [Collector name] フィールドに、コレクタの一意の名前を入力します。
  6. [ログタイプ] として [pfSense] を選択します。
  7. [Collector type] フィールドで [Syslog] を選択します。
  8. 次の必須入力パラメータを構成します。
    • Protocol: コレクタが syslog データのリッスンに使用する接続プロトコルを指定します。
    • Address: コレクタが存在し、Syslog データをリッスンするターゲット IP アドレスまたはホスト名を指定します。
    • Port: コレクタが存在し、Syslog データをリッスンするターゲット ポートを指定します。
  9. [送信] をクリックします。

Google SecOps フォワーダーの詳細については、Google SecOps UI を使用してフォワーダー構成を管理するをご覧ください。

フォワーダーの作成時に問題が発生した場合は、Google SecOps サポートにお問い合わせください。

フィールド マッピング リファレンス

この pfSense ファイアウォール パーサーは、grok パターンを使用して syslog メッセージからフィールドを抽出し、DHCP やファイアウォール イベントなどのさまざまなログ形式を処理します。次に、抽出されたフィールドを UDM にマッピングし、IP アドレス、MAC アドレス、ユーザー名、ネットワークの詳細などのコンテキスト情報でデータを拡充します。

UDM マッピング テーブル

ログフィールド UDM マッピング 論理
アプリケーション principal.application 値は、grok パターンを使用してログ メッセージから抽出されます。syslog メッセージの場合、通常、アプリケーション名はホスト名とタイムスタンプの後にあります。
コマンド principal.process.command_line ログがコマンド実行を示している場合、説明フィールドから抽出されます。
説明 metadata.description 説明フィールドは、syslog-ng アプリケーション ログを除き、UDM メタデータの説明にマッピングされます。syslog-ng アプリケーション ログでは、metadata.description にマッピングされます。DHCP イベントの場合、説明の先頭に dhcp_type が付加されます。
dhcp_type metadata.product_event_type DHCP メッセージ タイプ(例: DHCPDISCOVER、DHCPOFFER)が抽出され、マッピングされます。
ホスト intermediary.hostname または intermediary.ip ホスト値が有効な IP アドレスの場合、intermediary.ip にマッピングされます。それ以外の場合は intermediary.hostname にマッピングされます。
ホスト principal.hostnameprincipal.asset.hostname プリンシパル IP が存在しない場合、ホストはプリンシパル ホスト名として扱われます。
mac principal.macnetwork.dhcp.chaddr DHCP リクエストに関連付けられた MAC アドレスが抽出され、マッピングされます。
src_ip principal.ipprincipal.asset.ip grok パターンを使用して、特定のログ形式から抽出されます。
src_mac principal.mac grok パターンを使用して、特定のログ形式から抽出されます。
dst_mac target.mac grok パターンを使用して、特定のログ形式から抽出されます。
timestamp metadata.event_timestamp タイムスタンプはログ メッセージから抽出され、UDM タイムスタンプ形式に変換されます。タイムゾーン情報(tz)は、利用可能な場合、変換前にタイムスタンプに追加されます。
timestamp_no_year metadata.event_timestamp 年を含まないタイムスタンプが存在する場合は、解析され、解析プロセス中に現在の年が追加されます。
ユーザー principal.user.userid イベントに関連付けられたユーザー名が抽出され、マッピングされます。
column1 security_result.rule_id 説明が CSV 形式の場合、最初の CSV 列からマッピングされます。
column6 security_result.rule_type 説明が CSV 形式の場合、6 番目の CSV 列からマッピングされます。
column7 security_result.action 説明が CSV 形式の場合、7 番目の CSV 列からマッピングされます。「BLOCK」または「ALLOW」に変換されます。
column8 network.direction 説明が CSV 形式の場合、8 番目の CSV 列からマッピングされます。「INBOUND」または「OUTBOUND」に変換されます。
column13 network.ip_protocol(UDP または ICMP の場合) 説明が CSV 形式で、プロトコルが UDP または ICMP の場合、13 番目の CSV 列からマッピングされます。TCP/UDP イベントの場合、キー「Id」を持つ追加フィールドの作成に使用されます。
column16 principal.ipprincipal.asset.ip(IPv6 で column9 が 6 の場合) 説明が CSV 形式で、column9 が 6 の場合、16 番目の CSV 列からマッピングされます。TCP/UDP イベントの場合、column9 が 4 の場合はプロトコルの識別に使用されます。
column17 target.iptarget.asset.ip(IPv6 で ip_failure でない場合) 説明が CSV 形式で、column9 が 6 で、値が有効な IP の場合、17 番目の CSV 列からマッピングされます。TCP/UDP イベントの場合、プロトコルの識別に使用されます。
column18 principal.port(UDP の場合) 説明が CSV 形式で、プロトコルが UDP の場合、18 番目の CSV 列からマッピングされます。TCP/UDP イベントの場合、network.received_bytes にマッピングされます。
column19 target.port(UDP の場合) 説明が CSV 形式で、プロトコルが UDP の場合、19 番目の CSV 列からマッピングされます。DHCP イベントの場合、network.dhcp.yiaddr にマッピングされます。他のイベントでは、principal.ipprincipal.asset.ip にマッピングされます。
column20 additional.fields(キー: 「data_length」)(UDP の場合) 説明が CSV 形式で、プロトコルが UDP の場合、20 番目の CSV 列からマッピングされます。他のイベントでは、target.iptarget.asset.ip にマッピングされます。
column21 principal.port(TCP/UDP の場合) 説明が CSV 形式で、プロトコルが TCP または UDP の場合、21 番目の CSV 列からマッピングされます。
column22 target.port(TCP/UDP の場合) 説明が CSV 形式で、プロトコルが TCP または UDP の場合、22 番目の CSV 列からマッピングされます。
column23 additional.fields(キー: data_length)(TCP/UDP の場合) 説明が CSV 形式で、プロトコルが TCP または UDP の場合、23 番目の CSV 列からマッピングされます。
column24 additional.fields(キー: 「tcp_flags」)(TCP の場合) 説明が CSV 形式で、プロトコルが TCP の場合、24 番目の CSV 列からマッピングされます。
column25 additional.fields(キー: "sequence_number")(TCP/UDP の場合) 説明が CSV 形式で、プロトコルが TCP または UDP の場合、25 番目の CSV 列からマッピングされます。
column29 additional.fields(キー: 「tcp_options」)(TCP の場合) 説明が CSV 形式で、プロトコルが TCP の場合、29 番目の CSV 列からマッピングされます。
compression_algo additional.fields(キー: 「Compression Algorithm」) 説明フィールドから抽出され、追加フィールドとして追加されました。
降順 metadata.description メッセージ フィールドから抽出され、説明として使用されます。
principal_ip principal.ipprincipal.asset.ip 説明フィールドから抽出され、プリンシパルの IP アドレスを表します。
principal_username principal.user.userid 説明フィールドから抽出され、プリンシパル ユーザー名を表します。
ステータス security_result.detection_fields(キー: "status") 説明フィールドから抽出され、セキュリティ結果内の検出フィールドとして追加されます。
target_host target.hostnametarget.asset.hostname 説明フィールドから抽出され、ターゲット ホスト名を表します。
src_port principal.port 説明フィールドから抽出され、送信元ポートを表します。さまざまなログフィールドとパーサー ロジックに基づいて決定されます。NETWORK_CONNECTION、NETWORK_DHCP、STATUS_UPDATE、GENERIC_EVENT のいずれかです。「PFSENSE」にハードコードされています。「PFSENSE」にハードコードされています。「PFSENSE」にハードコードされています。DHCP イベントの場合は「DHCP」に設定されます。DHCPDISCOVER と DHCPREQUEST の場合は「BOOTREQUEST」、DHCPOFFER と DHCPACK の場合は「BOOTREPLY」に設定します。dhcp_type フィールドに基づいて、「DISCOVER」、「REQUEST」、「OFFER」、「ACK」に設定します。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。