Cisco VPN ログを収集する

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

このドキュメントでは、Bindplane を使用して Cisco ASA VPN ログを Google Security Operations に取り込む方法について説明します。パーサーは、grok パターンを使用して syslog メッセージからフィールドを抽出し、標準の syslog 形式と代替メッセージ構造の両方を処理します。次に、抽出されたフィールドを統合データモデル(UDM)にマッピングし、ID と抽出された情報に基づいてイベントを分類し、ベンダー、プロダクト、イベントタイプなどのメタデータでデータを拡充します。パーサーは特定のイベント ID も処理し、追加の grok パターンとロジックを適用して関連する詳細を抽出し、適切な UDM フィールドにマッピングします。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • Windows 2016 以降、または systemd を使用する Linux ホスト
  • プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
  • Cisco ASA への特権アクセス

Google SecOps の取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。

Bindplane エージェントをインストールする

次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。

Windows のインストール

  1. 管理者として コマンド プロンプトまたは PowerShell を開きます。
  2. 次のコマンドを実行します。

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux のインストール

  1. root 権限または sudo 権限でターミナルを開きます。
  2. 次のコマンドを実行します。

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

その他のインストール リソース

その他のインストール オプションについては、インストール ガイドをご覧ください。

Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する

  1. 構成ファイルにアクセスします。
    • config.yaml ファイルを見つけます。通常、Linux では /etc/bindplane-agent/ ディレクトリに、Windows ではインストール ディレクトリにあります。
    • テキスト エディタ(nanovi、メモ帳など)を使用してファイルを開きます。
  2. 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_VPN'
            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 エージェントを再起動するには、サービス コンソールを使用するか、次のコマンドを入力します。

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Cisco ASA VPN の Syslog を構成する

  1. Cisco ASDM を開きます。
  2. [構成> 機能 > プロパティ > ロギング > ロギング設定] に移動します。
  3. [ロギングを有効にする] チェックボックスをオンにして、syslog を有効にします。
  4. [Logging] で [Syslog Servers] を選択し、[Add] をクリックします。
  5. [Syslog サーバーの追加] ウィンドウで、次の構成の詳細を入力します。
    • インターフェース: アウトバウンド通信のインターフェースを選択します。
    • IP アドレス: Bindplane エージェントの IP アドレスを入力します。
    • Protocol: [UDP] を選択します。
    • ポート: Bindplane エージェントのポート番号を入力します。
    • [OK] をクリックします。
  6. [ロギング] セクションで [ロギング フィルタ] を選択します。
  7. [Syslog Servers] を選択し、[Edit] をクリックします。
  8. リストから [重大度でフィルタ] として [情報] を選択します。
  9. [OK] をクリックします。
  10. [適用] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
accesslist target.resource.name eventtype が「ASA-4-106103」の場合に message_info から抽出されます。アクセスリストの名前を表します。
action security_result.action ログメッセージ内のキーワード(「error」など)に基づいてパーサーによって取得されます。「拒否」、「拒否」、「許可」、「承認」)。ALLOW または BLOCK にマッピングされます。
action security_result.action_details 実行されたアクションの未加工の文字列値(例: (「permitted」、「denied」、「disconnected」)。
app_name principal.application プリンシパルが使用するアプリケーションの名前(「CLI」)。イベント ID 111008、111009、111010 の message_details から抽出されます。
assigned_ipv4 なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
assigned_ipv6 なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
bytes_rcv network.received_bytes セッションで受信したバイト数。イベント ID 113019 の log_mssg から抽出されました。
bytes_sent network.sent_bytes セッションで送信されたバイト数。イベント ID 113019 の log_mssg から抽出されました。
cipher network.tls.cipher SSL セッションで使用される暗号。eventtype 725012 の message_info から抽出されます。
cisco_message_number security_result.rule_name eventtype フィールドから抽出された Cisco メッセージ番号。
cisco_severity security_result.severity_details eventtype フィールドから抽出された Cisco の未加工の重大度レベル。
command なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
cumulative_total_count.key security_result.outcomes.key キー「cumulative_total_count」が security_result.outcomes 配列に追加されます。
cumulative_total_count.value security_result.outcomes.value message_info から抽出された累積合計数の値。
current_average_rate.key security_result.outcomes.key キー「current_average_rate」が security_result.outcomes 配列に追加されます。
current_average_rate.value security_result.outcomes.value message_info から抽出された現在の平均レートの値。
current_burst_rate.key security_result.outcomes.key キー「current_burst_rate」が security_result.outcomes 配列に追加されます。
current_burst_rate.value security_result.outcomes.value message_info から抽出された現在のバースト率の値。
desc metadata.description ログメッセージから抽出されたイベントの説明。より具体的な説明がない場合に使用されます。
description metadata.description イベントの詳細な説明。ログメッセージから抽出されます(利用可能な場合)。
destination_ip target.iptarget.asset.ip さまざまなログメッセージ形式から抽出された宛先 IP アドレス。
destination_ip_port target.port または network.application_protocol さまざまなログメッセージ形式から抽出された宛先ポート。抽出された値が数値でない場合は、アプリケーション プロトコルとして扱われます。
dst_email target.user.email_addresses または target.user.userid message_info から抽出された宛先メールアドレスまたはユーザー ID。値がメール形式と一致する場合は email_addresses に追加され、一致しない場合は userid として使用されます。
dst_host target.hostname message_info から抽出された宛先ホスト名。
dst_ip target.iptarget.asset.ip メインの grok パターンまたは他の特定のパターンから抽出された宛先 IP アドレス。
dst_port target.port 宛先ポート。メインの grok パターンまたはその他の特定のパターンから抽出されます。
duration network.session_duration セッションの期間。message_details から抽出され、秒に変換されます。
event_date @timestamp イベントの日付と時刻。未加工ログのさまざまなタイムスタンプ フィールドから作成され、date フィルタを使用して解析されます。
event_id metadata.product_event_type(一部) event_severity と組み合わせて metadata.product_event_type フィールドを形成します。
event_name metadata.product_event_type(一部) event_severity および event_type と組み合わせて使用され、使用可能な場合は metadata.product_event_type フィールドを形成します。
event_severity metadata.product_event_type(一部)、security_result.severityis_alertis_significant event_id または event_nameevent_type を組み合わせて metadata.product_event_type フィールドを形成します。security_result.severityis_alertis_significant の各フィールドの取得にも使用されます。
event_type metadata.product_event_type(一部) event_name および event_severity と組み合わせて使用され、使用可能な場合は metadata.product_event_type フィールドを形成します。
eventtype metadata.product_event_typesecurity_result.rule_namesecurity_result.severity_detailssecurity_result.severity metadata.product_event_typesecurity_result.rule_namesecurity_result.severity_detailssecurity_result.severity フィールドの導出に使用されるイベント型文字列。
fragment_id security_result.about.resource.id イベント ID 209005 の message_details から抽出された IP フラグメントの ID。
group principal.group.group_display_nameprincipal.user.group_identifierstarget.user.group_identifiers さまざまなログメッセージ形式から抽出されたグループ名。
group_name principal.group.group_display_name ホスト名の場合に group フィールドから抽出されたグループ名。
has_principal_ip なし ロジックに使用される内部変数。UDM にマッピングされません。
has_target_ip なし ロジックに使用される内部変数。UDM にマッピングされません。
hostname principal.hostnameprincipal.asset.hostname さまざまなログメッセージ形式から抽出されたプリンシパルのホスト名。
hostname2 principal.hostnameprincipal.asset.hostname hostname が使用できない場合にフォールバックとして抽出されるプリンシパルのホスト名。
icmp_code なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
icmp_dst_ip target.iptarget.asset.ip ICMP エラー メッセージの宛先 IP アドレス。
icmp_id なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
icmp_src_ip principal.ipprincipal.asset.ip ICMP エラー メッセージの送信元 IP アドレス。
icmp_type なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
intermediary_ip principal.ipprincipal.asset.ip イベント ID 111010 の message_info から抽出された仲介 IP アドレス。
invalid_ip なし ロジックに使用される内部変数。UDM にマッピングされません。
ip_1 principal.ipprincipal.asset.ip 送信元 IP アドレスと宛先 IP アドレスが同じ場合に、フォールバックとして抽出された送信元 IP アドレス。
ip_2 target.iptarget.asset.ip 送信元 IP と宛先 IP が同じ場合に、フォールバックとして抽出された宛先 IP アドレス。
ipprotocol network.ip_protocol さまざまなログ メッセージ形式から抽出され、大文字に変換された IP プロトコル。
issuer network.tls.client.certificate.issuer ピア証明書の発行者。イベント ID 717037 の message_details から抽出されます。
local_proxy_ip intermediary.ip イベント ID 713041 の message_details から抽出されたローカル プロキシ IP アドレス。
log_mssg security_result.descriptionsr.action security_result.description フィールドの入力と認証アクションの抽出に使用されます。
login security_result.summary message_info から抽出されたログイン ステータス。
max_configured_rate.key security_result.outcomes.key キー「max_configured_rate」が security_result.outcomes 配列に追加されます。
max_configured_rate.value security_result.outcomes.value message_info から抽出された、構成された最大レートの値。
message_details 各種フィールド イベントの詳細を含むログ メッセージのメイン部分。イベント ID に応じてさまざまな grok パターンを使用して解析されます。
message_info metadata.description 使用可能な場合に metadata.description フィールドに値を設定するために使用されます。
observer observer.hostname または observer.ip ログメッセージから抽出されたオブザーバーのホスト名または IP アドレス。
observer_ip observer.ip オブザーバーの IP アドレス。observer フィールドから抽出されます。
peer_type なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
policy target.resource.name イベント ID 113003 の message_details から抽出されたポリシー名。
policy_name target.resource.name ポリシー名。イベント ID 113009 と 113011 の message_details から抽出されます。
principal_ip principal.ipprincipal.asset.ip プリンシパル IP アドレス。イベント ID 113009 の message_details から抽出されます。
privilege_level_from なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
privilege_level_to なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
process principal.process.command_line イベント ID 711004 の message_details から抽出されたプロセス名。
protocol network.ip_protocol または network.application_protocol イベントで使用されるプロトコル。さまざまなログメッセージ形式から抽出されます。プロトコルが標準の IP プロトコル(ICMP、TCP、UDP、ESP)の場合は network.ip_protocol にマッピングされ、それ以外の場合は network.application_protocol にマッピングされます。
reason security_result.description イベントの理由。イベント ID 113016 の message_details から抽出されます。
remote_proxy_ip intermediary.ip イベント ID 713041 の message_details から抽出されたリモート プロキシ IP アドレス。
retrieved_file target.file.full_path message_info から抽出された、取得したファイルへのパス。
security_action security_result.action イベント コンテキストに基づいてパーサーによって導出されたセキュリティ アクション。
security_category security_result.category イベント コンテキストに基づいてパーサーによって導出されたセキュリティ カテゴリ。
security_result.description security_result.description ログメッセージから抽出または導出されたセキュリティ結果の説明。
security_result.severity security_result.severity セキュリティ結果の重大度。event_severity フィールドから取得されます。
security_result.summary security_result.summary ログメッセージから抽出または取得されたセキュリティ結果の概要。
sent_bytes network.sent_bytes message_info から抽出された送信バイト数。
ses_id network.session_id message_info から抽出されたセッション ID。
session_id network.session_id message_info から抽出されたセッション ID。
sess_type principal.hostnameprincipal.asset.hostname セッション タイプ。log_mssg から抽出され、hostname が使用できない場合にホスト名として使用されます。
source_ip principal.ipprincipal.asset.ip さまざまなログ メッセージ形式から抽出された送信元 IP アドレス。
source_ip_port principal.port さまざまなログ メッセージ形式から抽出された送信元ポート。
src_email principal.user.email_addresses または principal.user.userid message_info から抽出された送信元メールアドレスまたはユーザー ID。値がメール形式と一致する場合は email_addresses に追加され、一致しない場合は userid として使用されます。
src_ip principal.ipprincipal.asset.ip 送信元 IP アドレス。メインの grok パターンまたは他の特定のパターンから抽出されます。
src_port principal.port メインの grok パターンまたは他の特定のパターンから抽出された送信元ポート。
src_user principal.user.user_display_name イベント ID 713049 と 713120 の message_details から抽出されたソースユーザーの表示名。
subject network.tls.client.certificate.subject ピア証明書のサブジェクト。イベント ID 717037 の message_details から抽出されます。
summary security_result.summary イベント ID 113016 の message_details から抽出されたイベントの概要。
target_host target.hostname イベント ID 113004 の message_details から抽出されたターゲット ホスト名。
target_ip target.iptarget.asset.ip イベント ID 113004 の message_details から抽出されたターゲット IP アドレス。
target_user target.user.userid イベント ID 113003 の message_details から抽出されたターゲット ユーザー ID。
task_duration なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
tcp_dst_ip target.iptarget.asset.ip ICMP エラー メッセージの元の TCP ペイロードの宛先 IP アドレス。
tcp_dst_port なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
tcp_src_ip principal.ipprincipal.asset.ip ICMP エラー メッセージの元の TCP ペイロードの送信元 IP アドレス。
tcp_src_port なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
threshold なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
tls_version network.tls.version イベント ID 725002 の message_details から抽出された TLS バージョン。
ts @timestamp date フィルタを使用して解析されたイベントのタイムスタンプ。
ts_day @timestamp(一部) タイムスタンプから取得した月の日。@timestamp フィールドの作成に使用されます。
ts_month @timestamp(一部) タイムスタンプの月。@timestamp フィールドの作成に使用されます。
ts_time @timestamp(一部) タイムスタンプからの時間。@timestamp フィールドの作成に使用されます。
ts_year @timestamp(一部) タイムスタンプの年。@timestamp フィールドの作成に使用されます。
tunnel_type なし このフィールドは解析されますが、UDM の IDM オブジェクトにはマッピングされません。
user principal.user.useridtarget.user.userid さまざまなログ メッセージ形式から抽出されたユーザー ID。
user_agent network.http.user_agent イベント ID 722055 の message_details から抽出されたユーザー エージェント文字列。
user_attr.key principal.user.attribute.labels.key イベント ID 734003 と 734001 の message_details から抽出されたユーザー属性のキー。
user_attr.value principal.user.attribute.labels.value イベント ID 734003 と 734001 の message_details から抽出されたユーザー属性の値。
userid principal.user.userid イベント ID 106103 の message_details から抽出されたユーザー ID。
username principal.user.userid イベント ID 111008、111009、111010、113008 の message_details から抽出されたユーザー名。
なし metadata.vendor_name 「CISCO」にハードコードされます。
なし metadata.product_name 「ASA VPN」または「VPN」にハードコードされています。
なし metadata.event_type 特定のフィールドとイベント ID の有無に基づいてパーサー ロジックによって決定されます。GENERIC_EVENT、NETWORK_CONNECTION、STATUS_UPDATE、NETWORK_FTP、USER_LOGIN、USER_LOGOUT、NETWORK_UNCATEGORIZED、USER_UNCATEGORIZED、NETWORK_FLOW のいずれかです。
なし metadata.log_type 「CISCO_VPN」にハードコードされています。
なし metadata.event_timestamp 解析された @timestamp フィールドからコピーされます。
なし extensions.auth.type イベントのコンテキストに応じて、「VPN」、「AUTHTYPE_UNSPECIFIED」、「MACHINE」に設定します。
なし security_result.about.resource.type イベント ID 209005 の場合は「PACKET FRAGMENT」に設定されます。
なし is_alert 重大度の高いイベント(event_severity 0 または 1)の場合は true に設定します。
なし is_significant 重大度の高いイベント(event_severity 0 または 1)の場合は true に設定します。

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