Dell スイッチのログを収集する
このパーサーは、Dell スイッチログを抽出し、タイムスタンプを正規化し、Grok パターンを使用してログ メッセージを Key-Value ペアに構造化します。次に、抽出されたフィールドを統合データモデル(UDM)にマッピングし、さまざまなログ形式を処理して、アセットの詳細やセキュリティの重大度などのコンテキスト情報でデータを拡充します。
始める前に
- Google Security Operations インスタンスがあることを確認します。
- Windows 2016 以降、または
systemd
を使用する Linux ホストを使用していることを確認します。 - プロキシの背後で実行している場合は、ファイアウォール ポートが開いていることを確認します。
- Dell スイッチのアクティブな接続と管理者認証情報があることを確認します。
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。Bindplane エージェントがインストールされるシステムに、ファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
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 Agent を構成する
構成ファイルにアクセスします。
config.yaml
ファイルを見つけます。通常、Linux では/etc/bindplane-agent/
ディレクトリに、Windows ではインストール ディレクトリにあります。- テキスト エディタ(
nano
、vi
、メモ帳など)を使用してファイルを開きます。
config.yaml
ファイルを次のように編集します。receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: sell_switch raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
<customer_id>
は、実際の顧客 ID に置き換えます。/path/to/ingestion-authentication-file.json
の値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。
Bindplane Agent を再起動して変更を適用する
Linux で Bindplane Agent を再起動するには、次のコマンドを実行します。
sudo systemctl restart bindplane-agent
Windows で Bindplane Agent を再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
Dell スイッチから Syslog エクスポートを構成する
- SSH またはコンソール ポートを使用して Dell スイッチに接続します。
- 管理者の認証情報でログインします。
次のコマンドを使用して、syslog サーバーの IP アドレスまたはホスト名を指定します(
<syslog_server_ip>
、<udp|tcp>
、<syslog-port-number>
は実際の詳細に置き換えます)。logging host <syslog-server-ip> transport <udp|tcp> port <syslog-port-number>
省略可: Syslog サーバーに送信されるメッセージの最小重大度レベルを定義します。たとえば、情報メッセージ以上をログに記録するには:
logging level informational
再起動後も変更が保持されるように、実行中の構成をスタートアップ構成に保存します。
copy running-config startup-config
構成を保存します。
write memory
UDM マッピング テーブル
ログフィールド | UDM マッピング | 論理 |
---|---|---|
acct |
principal.user.userid |
user フィールドが存在しない場合、userid として使用されます。 |
addr |
principal.asset.ip 、principal.ip |
IP アドレスとして解析され、有効な IP でホスト名と異なる場合は、プリンシパルの IP とアセット IP に使用されます。 |
application |
principal.application |
直接マッピングされます。 |
asset |
principal.asset.attribute.labels.value |
アセットラベル値に直接マッピングされ、キーは「Asset Name」としてハードコードされています。アセット フィールドが空で、メッセージに「Dell」が含まれている場合、アセットは「Dell」に設定されます。 |
auid |
principal.resource.attribute.labels.value |
principal.resource.attribute.labels 内のキー auid を持つラベルに直接マッピングされます。 |
datetime |
metadata.event_timestamp |
メッセージ フィールドのさまざまな形式から解析され、タイムスタンプに変換されます。 |
dest_ip |
target.asset.ip 、target.ip |
ターゲット IP とターゲット アセット IP にマッピングされます。 |
enterpriseId |
principal.resource.attribute.labels.value |
principal.resource.attribute.labels 内のキー enterpriseId を持つラベルにマッピングされます。 |
exe |
sec_result.detection_fields.value |
キー exe を持つ検出フィールドにマッピングされます。 |
File |
target.file.full_path |
直接マッピングされます。 |
grantors |
principal.resource.attribute.labels.value |
principal.resource.attribute.labels 内のキー grantors を持つラベルにマッピングされます。 |
host |
principal.hostname 、principal.asset.hostname 、metadata.event_type |
プリンシパル ホスト名とアセット ホスト名として使用されます。host が存在する場合、metadata.event_type は STATUS_UPDATE に設定されます。ホスト名が存在するがホストが存在しない場合、ホスト名がホストとして使用されます。 |
hostname |
principal.asset.ip 、principal.ip 、host |
有効な IP の場合、プリンシパル IP とアセット IP に使用されます。host が空の場合、host として使用されます。 |
ID |
principal.resource.attribute.labels.value |
principal.resource.attribute.labels 内のキー ID を持つラベルにマッピングされます。 |
ip |
principal.asset.ip 、principal.ip |
プリンシパル IP とアセット IP にマッピングされます。 |
is_synced |
sec_result.detection_fields.value |
キー is_synced を持つ検出フィールドにマッピングされます。 |
local |
target.asset.ip 、target.ip 、target.port |
解析されてローカル IP とポートが抽出され、ターゲット IP、ターゲット アセット IP、ターゲット ポートにマッピングされます。 |
local_ip |
target.asset.ip 、target.ip |
local フィールドから抽出され、ターゲット IP とターゲット アセット IP にマッピングされます。 |
local_port |
target.port |
local フィールドから抽出され、ターゲット ポートにマッピングされます。 |
mac |
principal.mac |
有効な MAC アドレスの場合、プリンシパル MAC アドレスにマッピングされます。 |
msg |
metadata.description |
イベントの説明として使用されます(存在する場合)。追加のフィールドも解析されます。 |
msg1 |
metadata.description |
msg2 が存在しない場合、イベントの説明として使用されます。 |
msg2 |
sec_result.description 、metadata.event_type 、extensions.auth.type |
セキュリティ結果の説明として使用されます。「opened for user」が含まれている場合、イベントタイプは USER_LOGIN に、認証タイプは MACHINE に設定されます。「closed for user」が含まれている場合、イベントタイプは USER_LOGOUT に、認証タイプは MACHINE に設定されます。 |
op |
metadata.product_event_type |
プロダクトイベントのタイプとして使用されます(存在する場合)。 |
pid |
principal.process.pid |
直接マッピングされます。 |
port |
principal.port |
直接マッピングされます。 |
prod_event_type |
metadata.product_event_type |
プロダクトイベントのタイプとして使用されます(存在する場合)。 |
res |
sec_result.summary |
直接マッピングされます。 |
sec_description |
sec_result.description 、target.url 、target.ip 、target.asset.ip 、sec_result.action_details |
ターゲット URL、IP、アクションの詳細を解析し、セキュリティ結果の説明として使用します。 |
Server_ID |
target.resource.product_object_id |
直接マッピングされます。 |
server |
principal.asset.ip 、principal.ip 、principal.port |
解析されてサーバーの IP とポートが抽出され、プリンシパル IP、プリンシパル アセット IP、プリンシパル ポートにマッピングされます。 |
server_ip |
principal.asset.ip 、principal.ip |
server フィールドから抽出され、プリンシパル IP とプリンシパル アセット IP にマッピングされます。 |
server_port |
principal.port |
server フィールドから抽出され、プリンシパル ポートにマッピングされます。 |
ses |
network.session_id |
直接マッピングされます。 |
severity |
sec_result.severity 、metadata.product_event_type |
特定の値に基づいてセキュリティ結果の重大度とプロダクト イベントタイプを判断するために使用されます。 |
software |
principal.asset.software |
直接マッピングされます。 |
softwareName |
software.name |
直接マッピングされます。 |
Status |
sec_result.summary |
res が存在しない場合、セキュリティ結果の概要として使用されます。 |
subj |
principal.resource.attribute.labels.value |
principal.resource.attribute.labels 内のキー subj を持つラベルにマッピングされます。 |
swVersion |
software.version |
直接マッピングされます。 |
target_host |
target.hostname 、target.asset.hostname |
ターゲット ホスト名とターゲット アセットホスト名に直接マッピングされます。 |
target_ip |
target.asset.ip 、target.ip |
ターゲット IP とターゲット アセット IP に直接マッピングされます。 |
target_url |
target.url |
直接マッピングされます。 |
target_user_id |
target.user.userid |
直接マッピングされます。 |
terminal |
principal.resource.attribute.labels.value |
principal.resource.attribute.labels 内のキー terminal を持つラベルにマッピングされます。 |
tzknown |
sec_result.detection_fields.value |
キー tzknown を持つ検出フィールドにマッピングされます。 |
uid |
principal.resource.attribute.labels.value |
principal.resource.attribute.labels 内のキー uid を持つラベルにマッピングされます。 |
user |
principal.user.userid 、metadata.event_type |
プリンシパル ユーザー ID として使用されます。user が存在する場合、metadata.event_type は USER_UNCATEGORIZED に設定されます。 |
username |
target.user.userid |
ターゲット ユーザー ID に直接マッピングされます。 |
該当なし | metadata.vendor_name |
「Dell」にハードコードされています。 |
該当なし | metadata.product_name |
「Dell Switch」にハードコードされています。 |
該当なし | extensions.auth.type |
特定のログイン / ログアウト イベントの場合は MACHINE に設定します。 |
該当なし | metadata.event_type |
さまざまなフィールドと条件に基づく複雑なロジックによって決定されます。特に設定しない限り、デフォルトは GENERIC_EVENT です。USER_LOGIN 、USER_LOGOUT 、USER_UNCATEGORIZED 、NETWORK_CONNECTION 、NETWORK_UNCATEGORIZED 、STATUS_UPDATE 、GENERIC_EVENT のいずれかです。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。