ManageEngine AD360 のログを収集する
このドキュメントでは、Bindplane を使用して ManageEngine AD360 ログを Google Security Operations に取り込む方法について説明します。パーサーは、まず受信したログデータをクリーンアップして準備し、一連の grok
パターンを使用して、特定のイベントタイプとメッセージ形式に基づいて関連フィールドを抽出します。抽出後、コードは抽出されたフィールドを統合データモデル(UDM)にマッピングし、特定のデータ変換を処理して、位置情報やセキュリティの重大度などの追加コンテキストでデータを拡充します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows 2016 以降、または
systemd
を使用する Linux ホスト - プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
- ManageEngine AD360 への特権アクセス
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 ingestion_labels: log_type: 'MANAGE_ENGINE_AD360' raw_log_field: body 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-agent
Windows で Bindplane エージェントを再起動するには、サービス コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
ManageEngine AD360 Syslog エクスポートを構成する
- AD360 ウェブ UI にログインします。
- [管理] > [管理] > [SIEM 統合] に移動します。
- [ADSelfService] コンポーネントの横にある [今すぐ設定] リンクをクリックします。
- 次の構成の詳細を指定します。
- Server Type: [Syslog] を選択します。
- サーバー名/IP: Bindplane エージェントの IP アドレスを入力します。
- ポート: Bindplane エージェントのポート番号を入力します。
- Protocol: [UDP] を選択します。
- Syslog Standard: [RFC5 424] を選択します。
- [Advanced] リストをクリックします。
- 重大度: [情報] を選択します。
- [構成] をクリックして保存します。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
AccessControlRuleName | security_result.rule_name | 値は、存在する場合はフィールド AccessControlRuleName から、存在しない場合はフィールド rule_name から取得されます。 |
ACPolicy | security_result.rule_labels.value | フィールド ACPolicy から取得された値 |
アクション | security_result.action_details | UDM に直接マッピングされます |
action_id | security_result.detection_fields.value | フィールド action_id から取得された値 |
application_protocol | network.application_protocol | UDM に直接マッピングされます |
バイト | network.sent_bytes | UDM に直接マッピングされます |
client_ip | principal.ip | UDM に直接マッピングされます |
ConnectionID | network.session_id | フィールド connection_id が存在する場合はその値、存在しない場合はフィールド ConnectionID の値、それも存在しない場合はフィールド ses の値 |
destination_ip | target.ip | UDM に直接マッピングされます |
destination_port | target.port | UDM に直接マッピングされます |
DeviceUUID | target.asset_id | 値は、存在する場合はフィールド DeviceUUID から、存在しない場合はフィールド distinguished_name_device_id から取得されます。 |
distinguished_name_device_id | target.asset_id | 値は、存在する場合はフィールド DeviceUUID から、存在しない場合はフィールド distinguished_name_device_id から取得されます。 |
distinguished_name_user | target.user.userid | UDM に直接マッピングされます |
デジタル サービス税 | target.ip | 値は、存在する場合はフィールド DST から、存在しない場合はフィールド DstIP から取得されます。 |
DPT | target.port | フィールド DPT が存在する場合はその値、存在しない場合はフィールド DstPort の値、それも存在しない場合はフィールド destination_port の値 |
DstIP | target.ip | 値は、存在する場合はフィールド DST から、存在しない場合はフィールド DstIP から取得されます。 |
DstPort | target.port | フィールド DPT が存在する場合はその値、存在しない場合はフィールド DstPort の値、それも存在しない場合はフィールド destination_port の値 |
EgressInterface | additional.fields.value.string_value | UDM に直接マッピングされます |
EgressZone | target.location.name | UDM に直接マッピングされます |
EventPriority | security_result.severity | EventPriority フィールドの値に基づいて、さまざまな重大度レベルにマッピングされます。 |
exe | principal.process.command_line | UDM に直接マッピングされます |
geoip.city_name | principal.location.city | UDM に直接マッピングされます |
geoip.country_name | principal.location.country_or_region | UDM に直接マッピングされます |
geoip.latitude | principal.location.region_latitude | UDM に直接マッピングされます |
geoip.longitude | principal.location.region_longitude | UDM に直接マッピングされます |
http_status | network.http.response_code | UDM に直接マッピングされます |
id | metadata.product_log_id | UDM に直接マッピングされます |
IngressInterface | additional.fields.value.string_value | UDM に直接マッピングされます |
IngressZone | principal.location.name | UDM に直接マッピングされます |
LEN | additional.fields.value.string_value | UDM に直接マッピングされます |
message_number | マッピングされません | |
NAPPolicy | security_result.rule_labels.value | フィールド NAPPolicy から取得された値 |
network_direction | network.direction | UDM に直接マッピングされます |
OUT | additional.fields.value.string_value | UDM に直接マッピングされます |
pid | target.process.pid | UDM に直接マッピングされます |
ppid | target.process.parent_process.pid | UDM に直接マッピングされます |
PREC | additional.fields.value.string_value | UDM に直接マッピングされます |
principal_hostname | principal.hostname | UDM に直接マッピングされます |
product_event_type | metadata.product_event_type | UDM に直接マッピングされます |
プロトコル | network.ip_protocol | PROTO フィールドに値を設定するために使用され、ルックアップ テーブルを使用して UDM にマッピングされます。 |
PROTO | network.ip_protocol | プロトコル番号に基づいてルックアップ テーブルを使用して UDM にマッピングされます。 |
request_method | network.http.method | UDM に直接マッピングされます |
rule_name | security_result.rule_name | 値は、存在する場合はフィールド AccessControlRuleName から、存在しない場合はフィールド rule_name から取得されます。 |
ses | network.session_id | フィールド connection_id が存在する場合はその値、存在しない場合はフィールド ConnectionID の値、それも存在しない場合はフィールド ses の値 |
source_ip | principal.ip | UDM に直接マッピングされます |
source_port | principal.port | UDM に直接マッピングされます |
SPT | principal.port | フィールド SPT が存在する場合はその値、存在しない場合はフィールド SrcPort の値、それも存在しない場合はフィールド source_port の値 |
SRC | principal.ip | フィールド SRC が存在する場合はその値、存在しない場合はフィールド SrcIP の値、それも存在しない場合はフィールド client_ip の値 |
SrcIP | principal.ip | フィールド SRC が存在する場合はその値、存在しない場合はフィールド SrcIP の値、それも存在しない場合はフィールド client_ip の値 |
SrcPort | principal.port | フィールド SPT が存在する場合はその値、存在しない場合はフィールド SrcPort の値、それも存在しない場合はフィールド source_port の値 |
timestamp | metadata.event_timestamp | UDM に直接マッピングされます |
TOS | additional.fields.value.string_value | UDM に直接マッピングされます |
TTL | additional.fields.value.string_value | UDM に直接マッピングされます |
URL | target.url | UDM に直接マッピングされます |
user_agent | network.http.user_agent | UDM に直接マッピングされます |
WINDOW | additional.fields.value.string_value | UDM に直接マッピングされます |
metadata.vendor_name | 値は MANAGE_ENGINE_AD360 にハードコードされています |
|
metadata.product_name | 値は MANAGE_ENGINE_AD360 にハードコードされています |
|
metadata.log_type | 値は MANAGE_ENGINE_AD360 にハードコードされています |
|
metadata.event_type | SRC フィールドと DST フィールドの両方が存在する場合は NETWORK_CONNECTION に設定し、SRC または principal_hostname のいずれかが存在する場合は STATUS_UPDATE に設定します。上記の条件のいずれも満たされない場合、デフォルトは GENERIC_EVENT になります。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。