CA ACF2 ログを収集する
このドキュメントでは、Bindplane エージェントを使用して CA ACF2 ログを Google Security Operations に取り込む方法について説明します。
Broadcom ACF2(Access Control Facility 2)for z/OS は、IBM z/OS システムのアクセス制御、認証、監査を提供するメインフレーム セキュリティ プロダクトです。ACF2 は、認証試行、データセット アクセス違反、リソース アクセス イベント、TSO コマンド ロギング、データベース変更など、セキュリティ イベントを IBM System Management Facility(SMF)レコード(デフォルト タイプ 230)に記録します。これらの SMF レコードは、BMC AMI Defender for z/OS などのサードパーティ エージェントを使用して Chronicle に転送する必要があります。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows Server 2016 以降、または
systemdを使用する Linux ホスト - Bindplane エージェントと BMC AMI Defender for z/OS エージェント間のネットワーク接続
- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
- ACF2 がアクティブな z/OS LPAR に BMC AMI Defender for z/OS がインストールされ、実行されている
amihlq.CZAGENT.PARMデータセット内の BMC AMI Defender パラメータ ファイルを変更するアクセス権- z/OS で CZAGENT 開始タスクを開始または変更する権限
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インストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
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.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
構成ファイルを編集します。
config.yamlの内容全体を次の構成に置き換えます。receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/acf2_logs: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: CA_ACF2 raw_log_field: body ingestion_labels: env: production source: acf2 service: pipelines: logs/acf2_to_chronicle: receivers: - udplog exporters: - chronicle/acf2_logs各プレースホルダを次のように置き換えます。
レシーバーの構成:
listen_address:0.0.0.0:514に設定して、UDP ポート 514 のすべてのインターフェースでリッスンします。- 非 root として実行されている Linux システムの場合は、ポート
1514以降を使用します。 - このポートを BMC AMI Defender SERVER ステートメントの構成と一致させます
- 非 root として実行されている Linux システムの場合は、ポート
エクスポータの構成:
creds_file_path: 取り込み認証ファイルのフルパス:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
customer_id:YOUR_CUSTOMER_IDをcustomer IDに置き換えます。詳細については、Google SecOps の顧客 ID を取得するをご覧ください。endpoint: リージョン エンドポイント URL:- 米国:
malachiteingestion-pa.googleapis.com - ヨーロッパ:
europe-malachiteingestion-pa.googleapis.com - アジア:
asia-southeast1-malachiteingestion-pa.googleapis.com - 完全なリストについては、リージョン エンドポイントをご覧ください。
- 米国:
log_type:CA_ACF2(ACF2 ログの Chronicle 取り込みラベル)に設定します。ingestion_labels: ログを分類するためのオプションのラベル(必要に応じてカスタマイズ)
構成ファイルを保存する
編集が完了したら、ファイルを保存します。
- Linux:
Ctrl+O、Enter、Ctrl+Xの順に押します。 - Windows: [ファイル>保存] をクリックします。
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには:
次のコマンドを実行します。
sudo systemctl restart observiq-otel-collectorサービスが実行されていることを確認します。
sudo systemctl status observiq-otel-collectorログでエラーを確認します。
sudo journalctl -u observiq-otel-collector -f
Windows で Bindplane エージェントを再起動するには:
次のいずれかのオプションを選択します。
管理者としてコマンド プロンプトまたは PowerShell を開きます。
net stop observiq-otel-collector && net start observiq-otel-collectorサービス コンソール:
Win+Rキーを押して「services.msc」と入力し、Enter キーを押します。- observIQ OpenTelemetry Collector を見つけます。
- 右クリックして [再起動] を選択します。
サービスが実行されていることを確認します。
sc query observiq-otel-collectorログでエラーを確認します。
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
ACF2 SMF レコードを転送するように BMC AMI Defender for z/OS を構成する
$$$SERVR parameter member
- Sign in to the z/OS system using TSO/ISPF or a 3270 emulator.
- Navigate to the BMC AMI Defender parameter library:
- Enter
ISPFat the TSO READY prompt. - Select option 2 (Edit).
- In the ISPF Library field, enter the data set name:
amihlq.CZAGENT.PARM(replaceamihlqwith your installation high-level qualifier). - Press Enter.
- Enter
- Edit the $$$SERVR メンバーを編集します。
- $$$SERVR member.
- Press Enter.
- Locate the SERVER statement section (approximately line 40-60).
- Uncomment one of the SERVER statements by removing the leading semicolon (
;). Configure the SERVER statement with the Bindplane agent IP address and port:
SERVER bindplane-host-ip:514 TRANS(UDP) MAXMSG(2000)- Replace
bindplane-host-ipwith the IP address of the Bindplane agent host (for example,192.168.1.100). - If using a non-standard port (for example,
1514), specify:bindplane-host-ip:1514. TRANS(UDP)specifies UDP transport protocol (recommended for syslog).MAXMSG(2000)sets the maximum message length to 2000 bytes (ACF2 records may require larger sizes).
- Replace
Verify the OPTIONS statement for syslog format:
- Scroll up to locate the OPTIONS statements (approximately line 10-30).
Ensure one of the following OPTIONS statements is uncommented based on your preferred format:
OPTIONS IF(RFC3164) SIEM(RFC3164) TIMESTAMP INSTNAME(SIEM.Agent)- RFC3164: Standard syslog format (recommended for Chronicle)
- CEF: Common Event Format (alternative)
- LEEF: Log Event Extended Format (alternative)
- JSON: JSON format (alternative)
Save the changes:
- Press F3 to exit the editor.
- Type
SAVEwhen prompted. - Press Enter.
Edit the $$$CONFG パラメータ メンバーの横に E と入力して、ACF2 SMF レコード収集を有効にします
amihlq.CZAGENT.PARMデータセット メンバー リストで、$$$CONFG member:- Type
Enext to the $$$CONFG メンバーを編集します。 - Enter キーを押します。
- Type
ACF2 SMF レコード選択スイッチを見つけます(
ACF2またはSMF 230を検索します)。ACF2 の SELECT ステートメントのコメントを解除します。
SELECT IF(ACF2) SMF(ACF2)- これにより、ACF2 SMF レコード(デフォルト タイプ 230)の収集が有効になります。
- サイトで ACF2 に別の SMF レコードタイプを使用している場合は、TSO で
ACF SHOW SYSTEMSコマンドを使用してタイプを確認します。
変更を保存します。
- F3 キーを押してエディタを終了します。
- プロンプトが表示されたら、「
SAVE」と入力します。 - Enter キーを押します。
amihlq.CZAGENT.PARMデータセットのメンバー リストで、$$$ACF2 or SMFACF2 exists.If the member does not exist, create it:
- Type
C(Create) on the command line. - Enter the member name:
$$$ACF2.
- Type
SMF ACF2 ステートメント パラメータ メンバーを作成または編集する
メンバーを編集して、次の SMF ACF2 ステートメントを追加します。
SMF ACF2(230) FACILITY(SECURITY4) SEVERITY(INFORMATIONAL)
ACF2(230): ACF2 の SMF レコードタイプを指定します(デフォルトは 230。ACF SHOW SYSTEMSで確認してください)。FACILITY(SECURITY4): syslog ファシリティを Security(4)に設定します。SEVERITY(INFORMATIONAL): デフォルトの重大度を [Informational] に設定します。- 無効なパスワードまたは権限違反は、重大度 ERROR で自動的に送信されます。
- リソース違反は、重大度 ERROR で自動的に送信されます。
必要に応じて、特定の ACF2 サブタイプと重大度を構成します。
SMF ACF2(230) +
FACILITY(SECURITY4) +
SEVERITY(INFORMATIONAL) +
SUBTYPES(P SEV(ERROR)) +
SUBTYPES(V SEV(ERROR)) +
SUBTYPES(D SEV(ERROR))
- サブタイプ P: 無効なパスワードまたは権限イベント(重大度: エラー)
- サブタイプ V: リソースの違反(重大度: エラー)
- サブタイプ D: データセット アクセス違反(重大度: エラー)
変更を保存します。
- F3 キーを押してエディタを終了します。
- プロンプトが表示されたら、「
SAVE」と入力します。 - Enter キーを押します。
BMC AMI Defender パラメータ ファイルを更新する
- ISPF を終了して、TSO READY プロンプトに戻ります。
MODIFY コマンドを発行して、パラメータ ファイルを再読み込みします。
F CZAGENT,PARMS- 異なる場合は、
CZAGENTを BMC AMI Defender の開始タスク名に置き換えます。 - このコマンドは、エージェントを停止せずにパラメータ ファイルを再読み込みします。
- 異なる場合は、
CZAPRINT 出力を確認して、構成を検証します。
- ISPF で、オプション 3.4(DSLIST)を選択します。
- データセット名のパターン(
CZAGENT.CZAPRINTまたはサイト固有の命名規則)を入力します。 - Enter キーを押します。
- 最新の CZAPRINT データセットの横に
B(参照)と入力します。 - Enter キーを押します。
syslog サーバーへの接続が成功したことを示すメッセージを検索します。
CZA0070I Connected to server bindplane-host-ip:514CZA0100I SMF ACF2 statement processed
CZAGENT 開始タスクが実行されていない場合は、開始します。
S CZAGENT
ACF2 ログ転送を確認する
テスト ACF2 セキュリティ イベントを生成します。
- TSO で、アクセス権のないデータセットにアクセスしようとします。
- 無効なパスワードでログオンを試みます(テスト アカウントを使用します)。
- ACF2 によってロギングされた TSO コマンドを実行します。
Bindplane エージェントのログを調べて、ACF2 syslog メッセージが受信されたことを確認します。
Linux:
sudo journalctl -u observiq-otel-collector -f | grep ACF2Windows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log" | findstr ACF2
Google SecOps コンソールにログインし、ACF2 ログが取り込まれていることを確認します。
- [検索] > [UDM 検索] に移動します。
次のクエリを入力します。
metadata.log_type = "CA_ACF2"ACF2 セキュリティ イベントが検索結果に表示されることを確認します。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
| extensions.auth.mechanism | 使用される認証メカニズム。 | |
| extensions.auth.type | 認証のタイプ。 | |
| sum | metadata.description | イベントの説明。 |
| metadata.event_type | イベントタイプ。 | |
| event_type, cat | metadata.product_event_type | プロダクト固有のイベントタイプ。 |
| product_version | metadata.product_version | プロダクトのバージョン。 |
| ターミナル | principal.hostname | プリンシパルに関連付けられたホスト名。 |
| name | principal.user.user_display_name | ユーザーの表示名。 |
| usrName | principal.user.userid | ユーザー ID。 |
| security_result.action | セキュリティ システムによって実行されたアクション。 | |
| security_result.category | セキュリティ結果のカテゴリ。 | |
| クラス | security_result.category_details | セキュリティ結果のカテゴリに関する追加の詳細。 |
| reason | security_result.severity | セキュリティ結果の重大度。 |
| reason | security_result.severity_details | 重大度の詳細情報。 |
| logstr | security_result.summary | セキュリティ結果の概要。 |
| job_id | target.application | ターゲット アプリケーション。 |
| job_group | target.group.group_display_name | グループの表示名。 |
| target.namespace | ターゲットの名前空間。 | |
| dsn | target.resource.name | リソースの名前。 |
| vol | target.resource.parent | 親リソース。 |
| res、dsn | target.resource.product_object_id | 商品固有のオブジェクト ID。 |
| target.resource.resource_type | リソースのタイプ。 | |
| name | target.user.user_display_name | 対象ユーザーの表示名。 |
| usrName | target.user.userid | ターゲット ユーザーのユーザー ID。 |
| product_name | metadata.product_name | イベントを生成するプロダクトの名前。 |
| vendor_name | metadata.vendor_name | ベンダーの名前。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。