Pulse Secure ログを収集する
このドキュメントでは、Google Security Operations フォワーダーを使用して Pulse Secure のログを収集する方法について説明します。
詳細については、Google Security Operations へのデータの取り込みの概要をご覧ください。
取り込みラベルによって、未加工のログデータを構造化 UDM 形式に正規化するパーサーが識別されます。このドキュメントの情報は、取り込みラベル PULSE_SECURE_VPN
が付加されたパーサーに適用されます。
Pulse Secure VPN を構成する
Pulse Secure VPN を構成するには、次のいずれかを行います。
- Pulse Secure VPN バージョン 8.3R3 以前を構成する
- Pulse Secure VPN バージョン 8.3R4 以降を構成する
Pulse Secure VPN バージョン 8.3R3 以前を構成する
- Pulse Connect Secure コンソールにログインします。
- Pulse Connect Secure コンソールで、[システム] > [ログ/モニタリング] > [設定] を選択します。[イベント] タブ、[ユーザー アクセス] タブ、[管理者アクセス] タブから [設定] を選択できます。
- [ロギングするイベントを選択] セクションで、イベントに対応するチェックボックスをすべてオンにします。
- [Syslog サーバ] セクションで、次の操作を行います。
- [Server name/IP] フィールドに、Google Security Operations 転送元の IP アドレスを指定します。
- [施設] リストで [LOCAL0] を選択します。[施設] リストには、
LOCAL0
~LOCAL7
の 8 つの施設があります。これらの設定のいずれかを使用して、Syslog サーバーの施設をマッピングできます。 - [タイプ] リストで、[UDP] または [TCP] を選択します。
- [追加] をクリックします。
- 省略可: イベント、管理者アクセス、ユーザー アクセスのログを対象とする複数の Syslog サーバーを追加するには、手順 2 ~ 4 を繰り返します。
- [変更を保存] をクリックします。
- 標準ログ形式がデフォルトとして設定されるようにするには、次の操作を行います。
- Pulse Connect Secure コンソールを開きます。
- [イベント] タブ、[ユーザー アクセス] タブ、[管理者アクセス] タブで、[フィルタ] を [標準] に設定します。
- 標準フィルタがデフォルトのフィルタとして定義されていない場合は、[デフォルトにする] をクリックします。
- [保存] をクリックします。
Pulse Secure VPN バージョン 8.3R4 以降を構成する
- Pulse Connect Secure コンソールで、[イベント] タブ、[ユーザー アクセス] タブ、または [管理者アクセス] タブをクリックし、[フィルタ] を [新しいフィルタ] に設定します。
- [フィルタ名] フィールドに、フィルタの名前を入力します。
[エクスポート形式] セクションで [カスタム] を選択し、フィールドに次の形式を入力します。
[SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%
[保存] をクリックします。
デバイスのバージョンに応じて、syslog 構成を有効にするには、次のいずれかを行います。
- Pulse Secure VPN で Syslog ロギングを有効にする
- Ivanti Connect Secure で Syslog ロギングを有効にする
Pulse Secure VPN で Syslog ロギングを有効にする
- Pulse Connect Secure コンソールで、[システム] > [ログ/モニタリング] > [設定] を選択します。[イベント] タブ、[ユーザー アクセス] タブ、[管理者アクセス] タブから [設定] を選択できます。
- [ログに記録するイベントを選択] セクションで、[HTML5 アクセス]、[アドミッション制御メッセージ]、[未認証のリクエスト] のチェックボックスを除くすべてのチェックボックスをオンにします。
- [Syslog server] フィールドに、Syslog サーバーに関する情報を入力します。
- [Syslog サーバ] セクションで、次の操作を行います。
- [Server name/IP] フィールドに、サーバー名または Google Security Operations フォワーダの IP アドレスを入力します。
- [施設] リストで [LOCAL0] を選択します。
- [フィルタ] リストで、前に作成したフィルタを選択します。
- [追加] をクリックします。
- 省略可: イベント、管理者アクセス、ユーザー アクセスのログを記録する複数の Syslog サーバーを追加するには、手順 2 ~ 4 を繰り返します。
- [変更を保存] をクリックします。
Ivanti Connect Secure で Syslog ロギングを有効にする
- Pulse Connect Secure コンソールで、[イベント] タブ、[ユーザー アクセス] タブ、または [管理者アクセス] タブをクリックし、[フィルタ] を選択します。
- [新しいフィルタ] タブをクリックします。
[エクスポート形式] セクションで [カスタム] を選択し、フィールドに次の形式を入力します。
[SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%
[保存] をクリックします。
[システム] > [ログ/モニタリング] をクリックし、[設定] タブを選択します。
[最大ログサイズ] フィールドで最大ログサイズを指定し、ロギングするイベントを選択します。
次のようにサーバー構成を指定します。
[Server name/IP] フィールドに、syslog サーバーの完全修飾ドメイン名または Google Security Operations 転送元 IP アドレスを指定します。
タイプリストから Transport Layer Security(TLS)を選択する場合、サーバー名は、サーバーから取得した証明書の subjectDN の CN と一致している必要があります。
[施設] リストで、Syslog サーバー施設レベルを選択します。
[Type] リストで、Syslog サーバーへの接続タイプとして [UDP]、[TCP]、[TLS] を選択します。TLS は暗号プロトコルを使用して安全な通信を提供します。
[TLS] を選択した場合は、Syslog サーバーの認証に使用するインストール済みのクライアント証明書を選択します。クライアント証明書は、[構成] > [証明書] > [クライアント認証証明書] ウィンドウで定義します。クライアント証明書を使用するには、デバイスにインストールする必要があります。証明書については、認証局にお問い合わせください。
[フィルタ] リストで [カスタム] を選択します。
[追加] をクリックします。
Pulse Secure ログを取り込むように Google Security Operations フォワーダーを構成する
- [SIEM 設定] > [転送元] を選択します。
- [新しいフォワーダーの追加] をクリックします。
- [フォワーダーの名前] フィールドに、フォワーダーの一意の名前を入力します。
- [送信]、[確認] の順にクリックします。フォワーダーが追加され、[コレクタの構成を追加する] ウィンドウが表示されます。
- [コレクタ名] フィールドに、コレクタの一意の名前を入力します。
- [ログタイプ] として [Pulse Secure] を選択します。
- [Collector type] として [Syslog] を選択します。
- 次の必須入力パラメータを構成します。
- プロトコル: コレクタが syslog データをリッスンするために使用する接続プロトコルを指定します。
- アドレス: コレクタが存在し、syslog データをリッスンするターゲット IP アドレスまたはホスト名を指定します。
- ポート: コレクタが存在し、Syslog データをリッスンするターゲット ポートを指定します。
- [送信] をクリックします。
Google Security Operations フォワーダーの詳細については、Google Security Operations UI でフォワーダー構成を管理するをご覧ください。
フォワーダーの作成時に問題が発生した場合は、Google Security Operations サポートにお問い合わせください。
フィールド マッピング リファレンス
このパーサーは、Pulse Secure VPN ログからフィールドを抽出し、Windows イベントログと syslog 形式の両方を処理します。さまざまなログ構造を共通の形式に正規化し、ログイン、ログアウト、接続、ポリシー変更などのイベントを分類し、ユーザー エージェント、IP アドレス、タイムスタンプなどのコンテキスト データを追加します。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
アクション | security_result.action_details |
action フィールドから直接マッピングされます。 |
アプリケーション | principal.application |
application フィールドから直接マッピングされます。 |
bytes_read | network.received_bytes |
bytes_read フィールドから直接マッピングされ、符号なし整数に変換されます。 |
bytes_written | network.sent_bytes |
bytes_written フィールドから直接マッピングされ、符号なし整数に変換されます。 |
client_host | principal.hostname 、principal.asset.hostname |
client_host フィールドから直接マッピングされます。 |
cmd | principal.process.command_line |
cmd フィールドから直接マッピングされます。 |
connection_status | security_result.detection_fields.value.string_value |
connection_status フィールドから直接マッピングされます。 |
data_time | metadata.event_timestamp.seconds |
さまざまなタイムスタンプ形式(MM-dd-yyyy HH:mm:ss Z、RFC 3339、ISO8601、MMM d HH:mm:ss、MMM d HH:mm:ss)を使用して data_time フィールドから解析されます。 |
devname | principal.hostname 、principal.asset.hostname |
devname フィールドから直接マッピングされます。 |
dstip | target.ip 、target.asset.ip |
dstip フィールドから直接マッピングされます。 |
dstport | target.port |
dstport フィールドから直接マッピングされ、整数に変換されます。 |
dstcountry | target.location.country_or_region |
dstcountry フィールドが「予約済み」または空でない場合、dstcountry フィールドから直接マッピングされます。 |
duration | network.session_duration.seconds |
duration フィールドから直接マッピングされ、整数に変換されます。 |
dvc | intermediary.hostname または intermediary.ip |
dvc フィールドを IP アドレスに変換できる場合は、intermediary.ip にマッピングされます。それ以外の場合は intermediary.hostname にマッピングされます。 |
dvc_hostname | intermediary.hostname 、principal.hostname 、principal.asset.hostname 、intermediary.ip 、principal.ip 、principal.asset.ip |
dvc_hostname フィールドを IP アドレスに変換できる場合は、それぞれの IP フィールドにマッピングされます。それ以外の場合は、それぞれのホスト名フィールドにマッピングされます。 |
event_type | metadata.product_event_type |
event_type フィールドから直接マッピングされます。 |
failure_reason | security_result.description |
failure_reason フィールドから直接マッピングされます。メッセージに「because host」が含まれている場合、失敗の理由の前に「host」というテキストが追加されます。 |
has_principal | event.idm.read_only_udm.principal (プレゼンス) |
プリンシパル フィールドに値が設定されている場合は「true」、それ以外の場合は「false」に設定します。パーサー ロジックによって導出されます。 |
has_target | event.idm.read_only_udm.target (プレゼンス) |
ターゲット フィールドに値が設定されている場合は「true」、それ以外の場合は「false」に設定します。パーサー ロジックによって導出されます。 |
has_target_user | event.idm.read_only_udm.target.user.userid (プレゼンス) |
target.user.userid が入力されている場合は「true」、それ以外の場合は「false」に設定します。パーサー ロジックによって導出されます。 |
host_ip | principal.ip 、principal.asset.ip |
host_ip フィールドから直接マッピングされます。 |
host_mac | principal.mac |
host_mac フィールドから直接マッピングされ、ハイフンがコロンに置き換えられます。 |
http_method | network.http.method |
http_method フィールドから直接マッピングされます。 |
http_response | network.http.response_code |
http_response フィールドから直接マッピングされ、整数に変換されます。 |
info_desc | about.labels.value |
info_desc フィールドから直接マッピングされます。 |
ip_new | target.ip 、target.asset.ip |
ip_new フィールドから直接マッピングされます。 |
level | security_result.severity 、security_result.severity_details |
security_result.severity は level フィールドから派生します(「error」/「warning」-> HIGH、「notice」-> MEDIUM、「information」/「info」-> LOW)。level の元の値も security_result.severity_details にマッピングされます。 |
logid | metadata.product_log_id |
logid フィールドから直接マッピングされます。 |
locip | principal.ip 、principal.asset.ip |
locip フィールドから直接マッピングされます。 |
message | metadata.description |
grok フィルタと kv フィルタを使用してさまざまなフィールドを抽出するために使用されます。メッセージに「EventID」が含まれている場合、Windows イベントログとして処理されます。 |
message_info | metadata.description |
より具体的な grok パターンで使用されていない場合は、metadata.description に直接マッピングされます。 |
msg | metadata.product_event_type 、metadata.description |
msg フィールドが存在する場合、商品タイプが抽出され、metadata.product_event_type にマッピングされ、残りのメッセージは metadata.description にマッピングされます。 |
msg_hostname | principal.hostname 、principal.asset.hostname |
msg_hostname フィールドから直接マッピングされます。 |
msg_ip | principal.ip 、principal.asset.ip |
msg_ip フィールドから直接マッピングされます。 |
msg_user_agent | network.http.user_agent 、network.http.parsed_user_agent 、metadata.product_version |
ユーザー エージェント文字列は network.http.user_agent にマッピングされ、解析されたユーザー エージェントは network.http.parsed_user_agent にマッピングされ、プロダクト バージョン(存在する場合)は metadata.product_version にマッピングされます。 |
network_duration | network.session_duration.seconds |
network_duration フィールドから直接マッピングされ、整数に変換されます。 |
policyid | security_result.rule_id |
policyid フィールドから直接マッピングされます。 |
policyname | security_result.rule_name |
policyname フィールドから直接マッピングされます。 |
policytype | security_result.rule_type |
policytype フィールドから直接マッピングされます。 |
priority_code | about.labels.value |
priority_code フィールドから直接マッピングされ、[Severity] キーの about.labels.value の導出にも使用されます(ロジックをご覧ください)。 |
prod_name | metadata.product_name |
prod_name フィールドから直接マッピングされます。 |
product_type | metadata.product_event_type |
product_type フィールドから直接マッピングされます。 |
product_version | metadata.product_version |
product_version フィールドから直接マッピングされます。 |
proto | network.ip_protocol |
ルックアップを使用して IP プロトコル名に変換された後、network.ip_protocol にマッピングされます。 |
pwd | principal.process.file.full_path |
pwd フィールドから直接マッピングされます。 |
レルム | principal.group.attribute.labels.value |
realm フィールドから直接マッピングされます。 |
rcvdbyte | network.received_bytes |
rcvdbyte フィールドから直接マッピングされ、符号なし整数に変換されます。 |
remip | target.ip |
remip フィールドから直接マッピングされます。 |
resource_name | target.resource.name |
先頭と末尾の空白文字とハイフンを削除した後、resource_name フィールドから直接マッピングされます。 |
resource_status | security_result.description |
resource_status フィールドから直接マッピングされます。 |
resource_user_group | principal.user.group_identifiers |
resource_user_group フィールドから直接マッピングされます。 |
resource_user_name | principal.user.userid |
resource_user_name フィールドから直接マッピングされます。 |
ロール | principal.user.group_identifiers |
roles フィールドから直接マッピングされます。 |
sentbyte | network.sent_bytes |
sentbyte フィールドから直接マッピングされ、符号なし整数に変換されます。 |
session_id | network.session_id |
session_id フィールドから直接マッピングされます。 |
sessionid | network.session_id |
sessionid フィールドから直接マッピングされます。 |
srcip | principal.ip 、principal.asset.ip |
srcip フィールドから直接マッピングされます。 |
srcport | principal.port |
srcport フィールドから直接マッピングされ、整数に変換されます。 |
srccountry | principal.location.country_or_region |
srccountry フィールドが「予約済み」または空でない場合、srccountry フィールドから直接マッピングされます。 |
subtype | metadata.product_event_type |
type と組み合わせて metadata.product_event_type を形成します。 |
target_file | target.file.full_path |
target_file フィールドから直接マッピングされます。 |
target_host | target.hostname 、target.asset.hostname |
target_host フィールドから直接マッピングされます。 |
target_ip | target.ip 、target.asset.ip |
target_ip フィールドから直接マッピングされます。 |
target_port | target.port |
target_port フィールドから直接マッピングされ、整数に変換されます。 |
target_url | target.url |
target_url フィールドから直接マッピングされます。 |
時間 | metadata.event_timestamp.seconds |
「yyyy-MM-dd HH:mm:ss」形式で time フィールドから解析されます。 |
type | metadata.product_event_type |
subtype と組み合わせて metadata.product_event_type を形成します。 |
u_event_source_ip | principal.ip 、principal.asset.ip 、target.ip のいずれか |
target_ip または target_host が存在する場合、u_event_source_ip は principal.ip と principal.asset.ip にマッピングされます。それ以外の場合、target_ip 、target_host 、target_url がすべて空の場合、u_event_source_ip は target.ip にマッピングされます。 |
u_observer_ip | observer.ip |
u_observer_ip フィールドから直接マッピングされます。 |
u_prin_ip | principal.ip 、principal.asset.ip |
u_prin_ip フィールドから直接マッピングされます。 |
ユーザー | target.user.userid |
user フィールドから直接マッピングされます。 |
user_agent | network.http.user_agent 、network.http.parsed_user_agent |
ユーザー エージェント文字列は network.http.user_agent にマッピングされ、解析されたユーザー エージェントは network.http.parsed_user_agent にマッピングされます。 |
user_group_identifier | target.user.group_identifiers または principal.user.group_identifiers |
ほとんどの場合、target.user.group_identifiers にマッピングされます。IP 変更(USER_UNCATEGORIZED)イベントと Realm の制限イベントで principal.user.group_identifiers にマッピングされました。 |
user_ip | principal.ip 、principal.asset.ip |
user_ip フィールドから直接マッピングされます。空で、u_event_source_ip が空でない場合、u_event_source_ip の値が使用されます。 |
ユーザー名 | principal.user.userid または target.user.userid |
ほとんどの場合、principal.user.userid にマッピングされます。特定のシナリオ(detect_user_logout_failed が false で detect_policy_change_failed が false の場合など)では target.user.userid にマッピングされます。 |
username_removed | target.user.userid |
username_removed フィールドから直接マッピングされます。 |
vd | principal.administrative_domain |
vd フィールドから直接マッピングされます。 |
metadata.vendor_name
、metadata.product_name
、metadata.event_type
、metadata.log_type
、network.ip_protocol
、security_result.action
、security_result.severity
、extensions.auth.type
は、[ロジック] 列に記述されている条件に基づいて、パーサー ロジックによって導出または設定されます。
変更点
2024-05-27
- 「observer_hostname」を「observer.hostname」にマッピングしました。
- 「dvc_hostname」が有効な IP アドレスの場合は「principal.ip」にマッピングし、それ以外の場合は「principal.hostname」にマッピングしました。
- 「priority_code」、「Syslog_version」、「info_desc」を「about.labels」にマッピングしました。
- 「prod_name」を「metadata.product_event_type」にマッピングしました。
2024-04-16
- 新しい GROK パターンを追加して、SYSLOG ログの新しいパターンを解析しました。
- 「connection_status」を「security_result.detection_fields」にマッピングしました。
2024-02-26
- Key-Value データを解析する「kv」ブロックを追加しました。
- 「username」を「target.user.userid」にマッピングしました。
- 「message_info」の条件付きチェックを追加しました。
- 「u_prin_ip」を「principal.ip」にマッピングしました。
- 「u_observer_ip」を「observer.ip」にマッピングしました。
2023-11-07
- バグの修正:
- 「observer_host」のマッピングを「observer.hostname」から「additional.fields」に変更しました。
2023-08-19
- 失敗したログを解析するための Grok パターンを追加しました。
2023-05-26
- 新しい syslog ログをサポートする Grok パターンを追加しました。
2023-01-06
- 「product_type」を解析して「metadata.product_event_type」にマッピングするように、GROK を変更しました。
2022-10-25
- session_id を抽出するための「message_info」の新しい grok パターンを追加しました。
- 「session_id」を「network.session_id」にマッピングしました。
- detect_policy_change_failed が false の場合に target.ip を principal.ip に変更しました。
- detect_policy_change_failed が false の場合に、target.mac を principal.mac に変更しました。
2022-10-12
- 機能強化 - 次のフィールドのマッピングを追加しました。
- 「msg」フィールドから IP の値を抽出し、「principal.ip」にマッピングしました。
- 「msg」フィールドからホスト名の値を抽出し、「principal.hostname」にマッピングしました。
- 「user」を「target.user.userid」にマッピングしました。
- 「realm」を「principal.group.attribute.labels」にマッピングしました。
- 「roles」を「principal.user.group_identifiers」にマッピングしました。
- 「metadata.event_type」の値を「GENERIC_EVENT」から「USER_UNCATEGORIZED」に変更しました。
2022-10-03
- 機能拡張 - 「sudo」を含むログを解析しました。
- 新しい Key-Value ペア形式のログのサポートを追加しました。
2022-07-01
- 機能強化 - イベント ID 4624 の新しいイベントを生成
- 「principal.ip」、「target.ip」、「principal.hostname」が null でない場合は、metadata.event_type を「GENERIC_EVENT」から「STATUS_UPDATE」または「NETWORK_CONNECTION」に変更しました。
2022-04-13
- 機能拡張 - GENERIC_EVENT イベントタイプの新しいフィールドのマッピングを追加しました。
- user_ip を event.idm.read_only_udm.principal.ip に変更。
- user_group_identifier を event.idm.read_only_udm.target.user.group_identifiers に変更しました。
- すべての event_type のタイムスタンプを変更して、タイムゾーンを含めました。
- GENERIC イベントタイプと NETWORK_CONNECTION イベントタイプのフィールド user_ip、target_ip を変更しました。