Fortra Powertech SIEM エージェントのログを収集する
このガイドでは、Bindplane エージェントを使用して Fortra Powertech SIEM Agent for IBM i のログを Google Security Operations に取り込む方法について説明します。
Powertech SIEM Agent for IBM i(以前の Powertech Interact)は、IBM i ジャーナルとメッセージ キューで重要なシステム メッセージと監査エントリをモニタリングし、UDP、TCP、TLS、メッセージ キュー、ストリーム ファイル(IFS)を使用してメッセージを送信し、Micro Focus ArcSight Common Event Format(CEF)v25 に準拠して syslog パケットの MSG 部分をフォーマットします。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス。
- Windows Server 2016 以降、または systemd を使用する Linux ホスト。
- Bindplane エージェントと Powertech SIEM エージェントを実行している IBM i システム間のネットワーク接続。
- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
- Powertech SIEM Agent を構成する権限を持つ IBM i システムへの特権アクセス(*ALLOBJ 特別権限を持つユーザー プロファイルまたは PTADMIN 承認リストのメンバー)。
- IBM i システムにインストールされ、ライセンスが付与されている Powertech SIEM Agent for IBM i。
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [収集エージェント] に移動します。
- [ダウンロード] をクリックして、取り込み認証ファイルをダウンロードします。
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インストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sc query observiq-otel-collectorサービスは RUNNING と表示されます。
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shインストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sudo systemctl status observiq-otel-collectorサービスが [アクティブ(実行中)] と表示されます。
その他のインストール リソース
その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルを見つける
Linux:
sudo nano /etc/bindplane-agent/config.yaml
Windows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
構成ファイルを編集します。
config.yaml の内容全体を次の構成に置き換えます。
receivers:
udplog:
listen_address: "0.0.0.0:514"
exporters:
chronicle/powertech_siem:
compression: gzip
creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
customer_id: 'YOUR_CUSTOMER_ID'
endpoint: malachiteingestion-pa.googleapis.com
log_type: FORTRA_POWERTECH_SIEM_AGENT
raw_log_field: body
ingestion_labels:
env: production
service:
pipelines:
logs/powertech_to_chronicle:
receivers:
- udplog
exporters:
- chronicle/powertech_siem
構成パラメータ
各プレースホルダを次のように置き換えます。
レシーバーの構成:
listen_address: リッスンする IP アドレスとポート。0.0.0.0:514を使用して、ポート 514 のすべてのインターフェースをリッスンします。ポート 514 に root 権限が必要な場合や、すでに使用されている場合は、ポートを1514または別の値に変更します。
エクスポータの構成:
creds_file_path: 取り込み認証ファイルのフルパス:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
YOUR_CUSTOMER_ID: Google SecOps のお客様 ID に置き換えます。endpoint: リージョン エンドポイント URL。Google SecOps インスタンスに適したエンドポイントを使用します。- 米国:
malachiteingestion-pa.googleapis.com - ヨーロッパ:
europe-malachiteingestion-pa.googleapis.com - アジア:
asia-southeast1-malachiteingestion-pa.googleapis.com - 完全なリストについては、リージョン エンドポイントをご覧ください。
- 米国:
ingestion_labels: YAML 形式の省略可能なラベル(env: production、source: ibm_iなど)。
構成ファイルを保存する
編集が完了したら、ファイルを保存します。
- Linux:
Ctrl+O、Enter、Ctrl+Xの順に押します。 - Windows: [ファイル>保存] をクリックします。
Bindplane エージェントを再起動して変更を適用する
Linux
sudo systemctl restart observiq-otel-collectorサービスが実行されていることを確認します。
sudo systemctl status observiq-otel-collectorログでエラーを確認します。
sudo journalctl -u observiq-otel-collector -f
Windows
次のいずれかのオプションを選択します。
管理者としてコマンド プロンプトまたは PowerShell を使用します。
net stop observiq-otel-collector && net start observiq-otel-collectorServices コンソールを使用する場合:
Win+Rキーを押し、「services.msc」と入力して Enter キーを押します。- observIQ OpenTelemetry Collector を見つけます。
右クリックして [再起動] を選択します。
サービスが実行されていることを確認します。
sc query observiq-otel-collectorログでエラーを確認します。
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Powertech SIEM エージェントの syslog 転送を構成する
IBM i コマンドラインで POWERTECH と入力して Powertech メインメニューを開き、オプション 6 を選択して SIEM エージェント メインメニューを開きます。
syslog の形式を構成する
SIEM エージェントのメインメニューで、オプション 2 を選択して [Work with Formats] パネルを開きます。CEF、JSON、LEEF、MODERN、SYSLOG の各形式はデフォルトで含まれています。
- SYSLOG の横に「2」と入力して Enter キーを押します。
- [Message Style] フィールドに「*SYSLOG」と入力します。
- [Header specification] フィールドに「RFC3164」と入力します。
- [Use Header Format Compatibility] が [Y] に設定されていることを確認し、構成を保存します。
F3 キーを 2 回押してメインメニューに戻ります。
ネットワーク出力を作成する
メインメニューからオプション 3 [Work with Outputs] を選択し、F6 キーを押して新しい出力を作成します。
- 次のオプションを入力します。
- 名前: CHRONICLE(またはわかりやすい名前)
- 説明: Chronicle Bindplane 出力
- Active: 1
- 形式: SYSLOG
- タイプ: *NETWORK
- Enter キーを押します。
- 次の画面で、次のオプションを入力します。
- ロケーション: Bindplane エージェントがインストールされているマシンの IP アドレスを入力します。
- ポート: 514(または Bindplane エージェントで構成されたポート)
- プロトコル: UDP
Enter キーを押して変更を保存し、F12 キーを押してウィンドウを閉じます。
出力をイベントソースに接続する
オプション 1 の [Work with Event Sources] を選択し、AUDIT の横に 2 と入力して Enter キーを押します。
- F8 キーを押して出力を維持し、F6 キーを押して最近作成した出力を接続します。CHRONICLE(または出力名)の横に「1」と入力して、Enter キーを押します。
- F3 キーを押してメインメニューに戻ります。
予定の説明を有効にする
SIEM エージェントのメインメニューでオプション 1 を選択し、イベントソースに 9 を入力します。[Work with Event Descriptions] パネルが表示されます。オプション 6 を使用して、処理するイベントを有効にします。
構成の変更を commit する
メインメニューからオプション 82 の [Work with Utilities] を選択し、オプション 1 の [Commit configuration changes] を選択します。
SIEM エージェントのモニタリングを開始する
SIEM エージェントがまだ実行されていない場合は、モニター ジョブを開始します。
IBM i のコマンドラインで、次のように入力します。
CALL PTSTARTUPこれらのコマンドは、PTWRKMGT サブシステムで必要な Central Administration ジョブと SIEM Agent モニター ジョブを開始します。
ログが送信されていることを確認する
- Bindplane エージェントのログを確認して、ログが Bindplane エージェントに届いていることを確認します(ログの場所については、上記の再起動のセクションをご覧ください)。
- ログが Google SecOps コンソールに表示されていることを確認します(最初の取り込みには 5 ~ 10 分かかります)。
- 必要に応じて、SIEM エージェントから送信されたすべてのメッセージをログに記録するメッセージ キューを割り当てて、送信されたメッセージを確認します。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
| principal_ip | principal.ip | プリンシパルの IP アドレス。 |
| dst_ip | target.ip | ターゲットの IP アドレス。 |
| sourceTranslatedAddress | principal.nat_ip | プリンシパルの NAT IP アドレス。 |
| destinationTranslatedAddress | target.nat_ip | ターゲットの NAT IP アドレス。 |
| dvc | about.ip | アセットの IP アドレス。 |
| deviceTranslatedAddress | about.nat_ip | アセットの NAT IP アドレス。 |
| smac | principal.mac | プリンシパルの MAC アドレス。 |
| dmac | target.mac | ターゲットの MAC アドレス。 |
| dvcmac | about.mac | アセットの MAC アドレス。 |
| spriv | principal.user.attribute.roles | プリンシパル ユーザーに関連付けられているロール。 |
| dpriv | target.user.attribute.roles | ターゲット ユーザーに関連付けられているロール。 |
| oldFilePermission | src.resource.attribute.permissions | ソースリソースの権限。 |
| filePermission | about.resource.attribute.permissions | リソースの権限。 |
| 猫 | security_result.category_details | セキュリティ結果のカテゴリに関する追加の詳細。 |
| device_vendor、device_product、deviceExternalId | about.asset.asset_id | アセットの一意の識別子。 |
| どうなるでしょうか | network.sent_bytes | ネットワーク接続で送信されたバイト数。 |
| in | network.received_bytes | ネットワーク接続で受信したバイト数。 |
| fsize | about.file.size | ファイルのサイズ。 |
| oldFileSize | src.file.size | ソースファイルのサイズ。 |
| destinationTranslatedPort | target.nat_port | ターゲットの NAT ポート。 |
| dpt | target.port | ターゲットのポート番号。 |
| sourceTranslatedPort | principal.nat_port | プリンシパルの NAT ポート。 |
| spt | principal.port | プリンシパルのポート番号。 |
| rt | metadata.event_timestamp | イベントが発生したときのタイムスタンプ。 |
| 重要度 | security_result.severity | セキュリティ結果の重大度。 |
| app_protocol_src | network.application_protocol | ネットワーク接続で使用されるアプリケーション プロトコル。 |
| proto | network.ip_protocol | ネットワーク接続で使用される IP プロトコル。 |
| deviceDirection | network.direction | ネットワーク トラフィックの方向。 |
| act | security_result.action | セキュリティ システムによって実行されたアクション。 |
| outcome、categoryOutcome、cs2 | security_result.action | セキュリティ システムによって実行されたアクション。 |
| msg_data_2 | security_result.description | セキュリティ結果の説明。 |
| msg | metadata.description | イベントの説明。 |
| destinationServiceName | target.application | ターゲットに関連付けられたアプリケーション。 |
| dntdom | target.administrative_domain | ターゲットの管理ドメイン。 |
| oldFilePath | src.file.full_path | ソースファイルのフルパス。 |
| requestClientApplication | network.http.user_agent | HTTP リクエストのユーザー エージェント文字列。 |
| requestMethod | network.http.method | リクエストで使用される HTTP メソッド。 |
| filePath | about.file.full_path | ファイルのフルパス。 |
| dvchost | about.hostname | アセットのホスト名。 |
| deviceNtDomain | about.administrative_domain | アセットの管理ドメイン。 |
| dvcpid | about.process.pid | アセットのプロセス ID。 |
| deviceProcessName | about.process.command_line | アセット上のプロセスのコマンドライン。 |
| _hash | about.file.sha256 | ファイルの SHA256 ハッシュ。 |
| externalId | metadata.product_log_id | プロダクト固有のログ識別子。 |
| security_result.action_details | security_result.action_details | セキュリティ アクションに関する追加の詳細。 |
| device_version | metadata.product_version | イベントを生成したプロダクトのバージョン。 |
| temp_dhost | target.hostname | ターゲットのホスト名。 |
| リクエスト | target.url | ターゲットに関連付けられた URL。 |
| temp_duser | target.user.user_display_name | 対象ユーザーの表示名。 |
| temp_duid | target.user.userid | ターゲット ユーザーのユーザー ID。 |
| Device_name | principal.hostname | プリンシパルのホスト名。 |
| Enhetsnavn | principal.hostname | プリンシパルのホスト名。 |
| ドメイン | principal.administrative_domain | プリンシパルの管理ドメイン。 |
| Domene | principal.administrative_domain | プリンシパルの管理ドメイン。 |
| Group_name | principal.group.group_display_name | プリンシパル グループの表示名。 |
| Gruppenavn | principal.group.group_display_name | プリンシパル グループの表示名。 |
| Received, Mottatt | metadata.collected_timestamp | イベントが収集されたときのタイムスタンプ。 |
| 生成済み、Generert | metadata.event_timestamp | イベントが発生したときのタイムスタンプ。 |
| 件名 | about.process.command_line | プロセスのコマンドライン。 |
| Emne | about.process.command_line | プロセスのコマンドライン。 |
| パス | about.process.command_line | プロセスのコマンドライン。 |
| タイプ | security_result.description | セキュリティ結果の説明。 |
| Scan_Type | security_result.description | セキュリティ結果の説明。 |
| ユーザー | target.user.userid | ターゲット ユーザーのユーザー ID。 |
| Bruker | target.user.userid | ターゲット ユーザーのユーザー ID。 |
| CustomerName | target.user.user_display_name | 対象ユーザーの表示名。 |
| File_name、Object、Objekt、Infected_Resource | target.process.file.full_path | ターゲット プロセスに関連付けられているファイルのフルパス。 |
| Action_Taken | security_result.action_details | セキュリティ アクションに関する追加の詳細。 |
| Spyware、Virus_Malware_Name、Unknown_Threat | security_result.threat_name | 検出された脅威の名前。 |
| shost | principal.hostname | プリンシパルのホスト名。 |
| shost | principal.ip | プリンシパルの IP アドレス。 |
| sntdom | principal.administrative_domain | プリンシパルの管理ドメイン。 |
| sourceServiceName | principal.application | プリンシパルに関連付けられたアプリケーション。 |
| spid | principal.process.pid | プリンシパルのプロセス ID。 |
| sproc | principal.process.command_line | プリンシパル プロセスのコマンドライン。 |
| suid | principal.user.userid | プリンシパル ユーザーのユーザー ID。 |
| suser | principal.user.user_display_name | プリンシパル ユーザーの表示名。 |
| dpid | target.process.pid | ターゲット プロセスのプロセス ID。 |
| dproc | target.process.command_line | ターゲット プロセスのコマンドライン。 |
| reason | security_result.summary | セキュリティ結果の概要。 |
| event_name、device_event_class_id | metadata.product_event_type | プロダクト固有のイベントタイプ。 |
| fileHash | about.file.sha256 | ファイルの SHA256 ハッシュ。 |
| about | about | イベントに関する追加情報。 |
| mwProfile | security_result.rule_name | セキュリティ結果をトリガーしたルールの名前。 |
| appcategory | security_result.summary | セキュリティ結果の概要。 |
| 結果 | security_result.summary | セキュリティ結果の概要。 |
| eventid | additional.fields | イベントの追加フィールド。 |
| eventId | additional.fields | イベントの追加フィールド。 |
| devicePayloadId | additional.fields | イベントの追加フィールド。 |
| fname | additional.fields | イベントの追加フィールド。 |
| cs1、cs1Label | additional.fields | イベントの追加フィールド。 |
| cs2、cs2Label | additional.fields | イベントの追加フィールド。 |
| cs3、cs3Label | additional.fields | イベントの追加フィールド。 |
| cs4、cs4Label | additional.fields | イベントの追加フィールド。 |
| cs5、cs5Label | additional.fields | イベントの追加フィールド。 |
| cs6、cs6Label | additional.fields | イベントの追加フィールド。 |
| cs7、cs7Label | additional.fields | イベントの追加フィールド。 |
| flexString1、flexString1Label | additional.fields | イベントの追加フィールド。 |
| cn1、cn1Label | additional.fields | イベントの追加フィールド。 |
| cn2、cn2Label | additional.fields | イベントの追加フィールド。 |
| cn3、cn3Label | additional.fields | イベントの追加フィールド。 |
| cfp1、cfp1Label | additional.fields | イベントの追加フィールド。 |
| cfp2、cfp2Label | additional.fields | イベントの追加フィールド。 |
| cfp3、cfp3Label | additional.fields | イベントの追加フィールド。 |
| cfp4、cfp4Label | additional.fields | イベントの追加フィールド。 |
| オペレーション | security_result.detection_fields | 脅威検出に使用されるフィールド。 |
| Operasjon | security_result.detection_fields | 脅威検出に使用されるフィールド。 |
| 権限 | security_result.detection_fields | 脅威検出に使用されるフィールド。 |
| Tillatelse | security_result.detection_fields | 脅威検出に使用されるフィールド。 |
| Infection_Channel | security_result.detection_fields | 脅威検出に使用されるフィールド。 |
| IPv6_Address | target.ip | ターゲットの IP アドレス。 |
| Resource_Type | target.resource.attribute.labels | ターゲット リソース属性のラベル。 |
| Spyware_Grayware_Type | security_result.detection_fields | 脅威検出に使用されるフィールド。 |
| Threat_Probability | security_result.detection_fields | 脅威検出に使用されるフィールド。 |
| security_result | security_result | イベントのセキュリティ結果。 |
| ホスト | principal.hostname | プリンシパルのホスト名。 |
| failure | metadata.description | イベントの説明。 |
| 変更済み | metadata.description | イベントの説明。 |
| log_version | additional.fields | イベントの追加フィールド。 |
| cnt | additional.fields | イベントの追加フィールド。 |
| fileType | target.file.mime_type | ターゲット ファイルの MIME タイプ。 |
| fname | target.file.names | ターゲット ファイルの名前。 |
| ip | principal.ip | プリンシパルの IP アドレス。 |
| metadata.event_type | metadata.event_type | イベントタイプ。 |
| principal_hostname | principal.asset.hostname | プリンシパル アセットのホスト名。 |
| principal_asset_hostname | principal.asset.hostname | プリンシパル アセットのホスト名。 |
| target_hostname | target.asset.hostname | ターゲット アセットのホスト名。 |
| target_asset_hostname | target.asset.hostname | ターゲット アセットのホスト名。 |
| device_vendor | metadata.vendor_name | 商品のベンダー名。 |
| device_product | metadata.product_name | 商品名。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。