Check Point Harmony のログを収集する
このドキュメントでは、Bindplane を使用して Check Point Harmony Email and Collaboration(HEC)ログを Google Security Operations に取り込む方法について説明します。このパーサーコードは、Check Point Harmony syslog メッセージからキーと値のペアを抽出し、統合データモデル(UDM)にマッピングします。まず、メッセージ形式を正規化し、フィールドを principal、target、network、security_result などの UDM カテゴリに繰り返し解析してマッピングし、セキュリティ分析用のデータを拡充します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows 2016 以降、または
systemdを使用する Linux ホスト - プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
- Check Point Harmony HEC(Infinity Portal)への特権アクセス
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
次の手順に沿って、Windows または Linux オペレーティング システムに 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: 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: 'CHECKPOINT_HARMONY' 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-agentWindows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
Check Point Harmony HEC 用に Syslog を構成する
- Infinity Portal > Harmony Email & Collaboration ウェブ UI にログインします。
- [設定] > [モニタリング] > [SIEM] に移動します。
- [SIEM サーバーを追加] をクリックします。
- 次の構成の詳細を指定します。
- ホスト: Bindplane エージェントの IP アドレスを入力します。
- ポート: Bindplane エージェントのポート番号を入力します。
- プロトコル: [UDP] を選択します。
- (省略可)トークン: ログにオプションのタグを入力します。
- [保存] をクリックします。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
| アクション | security_result.action_details | 直接マッピングされます。 |
| security_result.action | アクション フィールドの値に基づいて、ALLOW、BLOCK、ALLOW_WITH_MODIFICATION、QUARANTINE にマッピングされます。 | |
| additional_info | additional.fields.value.string_value | キー = additional_info で直接マッピングされます。 |
| analyzed_on | security_result.detection_fields.value | キー = analyzed_on で直接マッピングされます。 |
| client_name | additional.fields.value.string_value | キー = client_name で直接マッピングされます。 |
| client_version | intermediary.platform_version | 直接マッピングされます。 |
| confidence_level | security_result.detection_fields.value | キー = confidence_level で直接マッピングされます。 |
| security_result.confidence | confidence_level フィールドの値に基づいて、UNKNOWN_CONFIDENCE、LOW_CONFIDENCE、MEDIUM_CONFIDENCE、HIGH_CONFIDENCE にマッピングされます。 | |
| 説明 | security_result.description | 直接マッピングされます。 |
| dst | target.ip | 直接マッピングされます。 |
| dst_dns_name | security_result.detection_fields.value | キー = dst_dns_name で直接マッピングされます。 |
| dst_machine_name | security_result.detection_fields.value | キー = dst_machine_name で直接マッピングされます。 |
| target.asset.hostname | 直接マッピングされます。 | |
| target.hostname | 直接マッピングされます。 | |
| dst_user_dn | security_result.detection_fields.value | キー = dst_user_dn で直接マッピングされます。 |
| dst_user_name | target.user.userid | 直接マッピングされます。 |
| ep_rule_id | security_result.rule_id | rule_uid が空の場合、直接マッピングされます。 |
| エラー | security_result.summary | 直接マッピングされます。 |
| event_type | metadata.product_event_type | 直接マッピングされます。 |
| file_md5 | target.process.file.md5 | 値が有効な MD5 ハッシュで、すべてゼロでない場合、直接マッピングされます。 |
| target.file.md5 | 値が有効な MD5 ハッシュで、すべてゼロでない場合、直接マッピングされます。 | |
| file_name | target.process.file.full_path | 直接マッピングされます。 |
| file_sha1 | target.process.file.sha1 | 値が有効な SHA-1 ハッシュで、すべてゼロでない場合、直接マッピングされます。 |
| target.file.sha1 | 値が有効な SHA-1 ハッシュで、すべてゼロでない場合、直接マッピングされます。 | |
| file_sha256 | target.process.file.sha256 | 値が有効な SHA256 ハッシュで、すべてゼロでない場合は、直接マッピングされます。 |
| target.file.sha256 | 値が有効な SHA256 ハッシュで、すべてゼロでない場合は、直接マッピングされます。 | |
| file_size | target.file.size | 直接マッピングされます。 |
| file_type | target.file.file_type | file_type フィールドの値に基づいて、FILE_TYPE_ZIP、FILE_TYPE_DOS_EXE、FILE_TYPE_PDF、FILE_TYPE_XLSX のいずれかにマッピングされます。 |
| flags | additional.fields.value.string_value | キー = flags で直接マッピングされます。 |
| fw_subproduct | additional.fields.value.string_value | 商品が空の場合、キー = fw_subproduct で直接マッピングされます。 |
| metadata.product_name | 商品が空の場合、直接マッピングされます。 | |
| host_type | security_result.detection_fields.value | キー = host_type で直接マッピングされます。 |
| ifdir | network.direction | 大文字に変換された後、直接マッピングされます。 |
| ifname | security_result.detection_fields.value | キー = ifname で直接マッピングされます。 |
| installed_products | security_result.detection_fields.value | キー = installed_products で直接マッピングされます。 |
| is_scanned | security_result.detection_fields.value | キー = is_scanned で直接マッピングされます。 |
| layer_name | security_result.detection_fields.value | キー = layer_name で直接マッピングされます。 |
| security_result.rule_set_display_name | 直接マッピングされます。 | |
| layer_uuid | security_result.detection_fields.value | キー = layer_uuid で直接マッピングされます。 |
| security_result.rule_set | 直接マッピングされます。 | |
| loguid | metadata.product_log_id | 直接マッピングされます。 |
| machine_guid | principal.asset.attribute.labels.value | キー = machine_guid で直接マッピングされます。 |
| malware_action | security_result.detection_fields.value | キー = malware_action で直接マッピングされます。 |
| malware_family | security_result.detection_fields.value | キー = malware_family で直接マッピングされます。 |
| media_authorized | security_result.detection_fields.value | キー = media_authorized で直接マッピングされます。 |
| media_class_id | security_result.detection_fields.value | キー = media_class_id で直接マッピングされます。 |
| media_description | security_result.detection_fields.value | キー = media_description で直接マッピングされます。 |
| media_encrypted | security_result.detection_fields.value | キー = media_encrypted で直接マッピングされます。 |
| media_manufacturer | security_result.detection_fields.value | キー = media_manufacturer で直接マッピングされます。 |
| media_type | security_result.detection_fields.value | キー = media_type で直接マッピングされます。 |
| メソッド | security_result.detection_fields.value | キー = methods で直接マッピングされます。 |
| originsicname | security_result.detection_fields.value | キー = originsicname で直接マッピングされます。 |
| origin | intermediary.ip | 直接マッピングされます。 |
| os_version | principal.asset.platform_software.platform_patch_level | 直接マッピングされます。 |
| outzone | security_result.detection_fields.value | キー = outzone で直接マッピングされます。 |
| parent_rule | security_result.detection_fields.value | キー = parent_rule で直接マッピングされます。 |
| peer_gateway | intermediary.ip | 直接マッピングされます。 |
| policy_guid | security_result.detection_fields.value | キー = policy_guid で直接マッピングされます。 |
| policy_name | security_result.detection_fields.value | キー = policy_name で直接マッピングされます。 |
| policy_number | security_result.detection_fields.value | キー = policy_number で直接マッピングされます。 |
| policy_type | security_result.detection_fields.value | キー = policy_type で直接マッピングされます。 |
| product | additional.fields.value.string_value | キー = product で直接マッピングされます。 |
| metadata.product_name | 直接マッピングされます。 | |
| product_family | additional.fields.value.string_value | キー = product_family で直接マッピングされます。 |
| program_name | additional.fields.value.string_value | キー = program_name で直接マッピングされます。 |
| protection_name | security_result.detection_fields.value | キー = protection_name で直接マッピングされます。 |
| protection_type | security_result.detection_fields.value | キー = protection_type で直接マッピングされます。 |
| reading_data_access | security_result.detection_fields.value | キー = reading_data_access で直接マッピングされます。 |
| rule_action | security_result.detection_fields.value | キー = rule_action で直接マッピングされます。 |
| rule_name | security_result.rule_name | 直接マッピングされます。 |
| rule_uid | security_result.rule_id | ep_rule_id が空の場合、直接マッピングされます。 |
| s_port | principal.port | 直接マッピングされます。 |
| scheme | security_result.detection_fields.value | キー = scheme で直接マッピングされます。 |
| sequencenum | additional.fields.value.string_value | キー = sequencenum で直接マッピングされます。 |
| サービス | target.port | 直接マッピングされます。 |
| service_id | security_result.detection_fields.value | キー = service_id で直接マッピングされます。 |
| session_uid | network.session_id | 直接マッピングされます。 |
| src | principal.ip | 直接マッピングされます。 |
| src_dns_name | security_result.detection_fields.value | キー = src_dns_name で直接マッピングされます。 |
| src_machine_name | security_result.detection_fields.value | キー = src_machine_name で直接マッピングされます。 |
| principal.asset.hostname | 直接マッピングされます。 | |
| principal.hostname | 直接マッピングされます。 | |
| src_user_dn | security_result.detection_fields.value | キー = src_user_dn で直接マッピングされます。 |
| src_user_name | principal.user.userid | 直接マッピングされます。 |
| principal.user.email_addresses | メールアドレスは、src_user_name フィールドが存在し、userid (email) 形式の場合に抽出されます。 |
|
| te_verdict_determined_by | security_result.detection_fields.value | キー = te_verdict_determined_by で直接マッピングされます。 |
| timestamp | metadata.event_timestamp | 直接マッピングされます。 |
| trusted_domain | security_result.detection_fields.value | キー = trusted_domain で直接マッピングされます。 |
| ユーザー | principal.user.userid | src_user_name が空の場合、直接マッピングされます。 |
| principal.user.email_addresses | メールアドレスは、存在し、userid (email) 形式の場合にユーザー フィールドから抽出されます。 |
|
| user_name | principal.user.email_addresses | 値が有効なメールアドレスの場合に直接マッピングされます。 |
| user_sid | principal.user.windows_sid | 直接マッピングされます。 |
| 判断 | security_result.detection_fields.value | キー = verdict で直接マッピングされます。 |
| version | additional.fields.value.string_value | キー = version で直接マッピングされます。 |
| vpn_feature_name | security_result.detection_fields.value | キー = vpn_feature_name で直接マッピングされます。 |
| web_client_type | security_result.detection_fields.value | キー = web_client_type で直接マッピングされます。 |
| metadata.log_type | このフィールドは CHECKPOINT_HARMONY にハードコードされています。 |
|
| metadata.vendor_name | このフィールドは CHECKPOINT_HARMONY にハードコードされています。 |
|
| principal.asset.platform_software.platform | os_name フィールドの値に基づいて WINDOWS、MAC、LINUX にマッピングされます。 | |
| network.ip_protocol | proto フィールドの値と、service や service_id などの他のフィールドに基づいて、TCP、UDP、ICMP、IP6IN4、GRE にマッピングされます。 | |
| security_result.severity | 重要度フィールドの値に基づいて、LOW、MEDIUM、HIGH、CRITICAL にマッピングされます。 | |
| metadata.event_type | このフィールドは、プリンシパルとターゲットの両方が存在する場合は NETWORK_CONNECTION、プリンシパルのみが存在する場合は STATUS_UNCATEGORIZED、それ以外の場合は GENERIC_EVENT に設定されます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。