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 コンソールで、[System] > [Log/monitoring] > [Settings] を選択します。[イベント] タブ、[ユーザー アクセス] タブ、[管理者アクセス] タブから [設定] を選択できます。
- [Select events to log] セクションで、イベントに対応するすべてのチェックボックスをオンにします。
- [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 コンソールで、[Events] タブ、[User access] タブ、または [Admin access] タブをクリックし、[Filters] を [New filter] に設定します。
- [Filter name] フィールドに、フィルタの名前を入力します。
[エクスポート形式] セクションで [カスタム] を選択し、フィールドに次の形式を入力します。
[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 コンソールで、[System] > [Log/monitoring] > [Settings] を選択します。[イベント] タブ、[ユーザー アクセス] タブ、[管理者アクセス] タブから [設定] を選択できます。
- [ログに記録するイベントを選択] セクションで、[HTML5 アクセス]、[アドミッション コントロール メッセージ]、[未認証のリクエスト] のチェックボックスを除くすべてのチェックボックスをオンにします。
- [Syslog server] フィールドに、syslog サーバーに関する情報を入力します。
- [Syslog サーバー] セクションで、次の操作を行います。
- [サーバー名/IP] フィールドに、サーバー名または Google Security Operations フォワーダーの IP アドレスを入力します。
- [ファシリティ] リストで [LOCAL0] を選択します。
- [フィルタ] リストで、前に作成したフィルタを選択します。
- [追加] をクリックします。
- 省略可: イベント、管理者アクセス、ユーザー アクセスログに複数の syslog サーバーを追加するには、手順 2 ~ 4 を繰り返します。
- [変更を保存] をクリックします。
Ivanti Connect Secure で syslog ロギングを有効にする
- Pulse connect secure コンソールで、[Events] タブ、[User access] タブ、または [Admin access] タブをクリックし、[Filters] を選択します。
- [新しいフィルタ] タブをクリックします。
[エクスポート形式] セクションで [カスタム] を選択し、フィールドに次の形式を入力します。
[SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%
[保存] をクリックします。
[システム] > [ログ/モニタリング] をクリックし、[設定] タブを選択します。
[最大ログサイズ] フィールドで、最大ログサイズを指定し、ログに記録するイベントを選択します。
サーバー構成を次のように指定します。
[Server name/IP] フィールドに、Syslog サーバーの完全修飾ドメイン名または Google Security Operations フォワーダーの IP アドレスを指定します。
タイプ リストから Transport Layer Security(TLS)を選択した場合、サーバー名は、サーバーから取得した証明書の subjectDN の CN と一致する必要があります。
[ファシリティ] リストで、syslog サーバーのファシリティ レベルを選択します。
[タイプ] リストで、Syslog サーバーへの接続タイプとして [UDP]、[TCP]、または [TLS] を選択します。TLS は、暗号プロトコルを使用して安全な通信を提供します。
[TLS] を選択した場合は、syslog サーバーの認証に使用するインストール済みのクライアント証明書を選択します。クライアント証明書は、[Configuration] > [Certificates] > [Client auth certificates] ウィンドウで定義します。クライアント証明書は、使用する前にデバイスにインストールする必要があります。証明書については、認証局にお問い合わせください。
[フィルタ] リストで [カスタム] を選択します。
[追加] をクリックします。
Pulse Secure のログを取り込むように Google Security Operations フォワーダーを構成する
- [SIEM の設定] > [フォワーダー] を選択します。
- [新しいフォワーダーの追加] をクリックします。
- [Forwarder name] フィールドに、フォワーダーの一意の名前を入力します。
- [Submit]、[Confirm] の順にクリックします。フォワーダーが追加され、[コレクタの構成を追加する] ウィンドウが表示されます。
- [Collector name] フィールドに、コレクタの一意の名前を入力します。
- [ログタイプ] として [Pulse Secure] を選択します。
- [コレクタ タイプ] として [Syslog] を選択します。
- 次の必須入力パラメータを構成します。
- Protocol: コレクタが Syslog データをリッスンするために使用する接続プロトコルを指定します。
- Address: コレクタが存在し、Syslog データをリッスンするターゲット IP アドレスまたはホスト名を指定します。
- Port: コレクタが存在し、Syslog データをリッスンするターゲット ポートを指定します。
- [送信] をクリックします。
Google Security Operations フォワーダーの詳細については、Google Security Operations UI を使用してフォワーダー構成を管理するをご覧ください。
フォワーダーの作成時に問題が発生した場合は、Google Security Operations サポートにお問い合わせください。
フィールド マッピング リファレンス
このパーサーは、Windows イベントログと syslog 形式の両方を処理し、Pulse Secure VPN ログからフィールドを抽出します。さまざまなログ構造を共通の形式に正規化し、ログイン、ログアウト、接続、ポリシーの変更などのイベントを分類して、ユーザー エージェント、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 |
「Reserved」でも空でもない場合、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 フィールドから直接マッピングされます。 |
メッセージ | 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 |
「Reserved」でも空でもない場合、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 |
time フィールドから「yyyy-MM-dd HH:mm:ss」形式を使用して解析されます。 |
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
は、[ロジック] 列に記載されている条件に基づいて、パーサーのロジックによって導出または設定されます。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。