Dell スイッチのログを収集する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
このパーサーは、Dell スイッチログを抽出し、タイムスタンプを正規化し、Grok パターンを使用してログ メッセージを Key-Value ペアに構造化します。次に、抽出されたフィールドを統合データモデル(UDM)にマッピングし、さまざまなログ形式を処理して、アセットの詳細やセキュリティの重大度などのコンテキスト情報をデータに追加します。
始める前に
- Google Security Operations インスタンスがあることを確認します。
- Windows 2016 以降、または
systemd
を使用する Linux ホストを使用していることを確認します。 - プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
- Dell スイッチへの有効な接続と管理者認証情報があることを確認します。
Google SecOps 取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [収集エージェント] に移動します。
- 取り込み認証ファイルをダウンロードします。BindPlane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細] セクションから [お客様 ID] をコピーして保存します。
BindPlane Agent をインストールする
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 に置き換えます。[Google SecOps 取り込み認証ファイルを取得する] セクションで、
/path/to/ingestion-authentication-file.json
を認証ファイルが保存されているパスに更新します。
BindPlane Agent を再起動して変更を適用する
Linux で BindPlane Agent を再起動するには、次のコマンドを実行します。
sudo systemctl restart bindplane-agent
Windows で BindPlane Agent を再起動するには、[サービス] コンソールを使用するか、次のコマンドを入力します。
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 のいずれかです。 |
変更
2024-04-25
- 新しいログタイプを解析するための Grok パターンを追加しました。
op
をmetadata.product_event_type
にマッピングしました。mac
をprincipal.mac
にマッピングしました。addr
をprincipal.ip
にマッピングしました。hostname
をprincipal.ip
にマッピングしました。server_ip
をprincipal.ip
にマッピングしました。server_port
をprincipal.port
にマッピングしました。acct
をprincipal.user.userid
にマッピングしました。target_ip
をtarget.ip
にマッピングしました。local_ip
をtarget.ip
にマッピングしました。local_port
をtarget.port
にマッピングしました。File
をtarget.file.full_path
にマッピングしました。target_host
をtarget.hostname
にマッピングしました。target_user_id
をtarget.user.userid
にマッピングしました。Server_ID
をtarget.resource.product_object_id
にマッピングしました。tzknown
、is_synced
、exe
をsecurity_result.detection_fields
にマッピングしました。res
をsecurity_result.summary
にマッピングしました。- フィールド
res
の値が「""」の場合、status
をsecurity_result.summary
にマッピングしました。 uid
、enterpriseId
、auid
、terminal
、subj
、grantors
、ID
をprincipal.resource.attribute.labels
にマッピングしました。
2024-04-04
- 新しいログタイプを解析するための Grok パターンを追加しました。
prod_event_type
をmetadata.product_event_type
にマッピングしました。ip
をprincipal.ip
にマッピングしました。dest_ip
をtarget.ip
にマッピングしました。target_url
をtarget.url
にマッピングしました。sec_description
をsecurity_result.description
にマッピングしました。action_details
をsecurity_result.action_details
にマッピングしました。
2024-01-04
- 新しく取り込まれたログ用の Grok パターンを追加しました。
datetime
がSYSLOGTIMESTAMP
形式の場合に日付ブロックを追加しました。softwareName
をprincipal.asset.software.name
にマッピングしました。swVersion
をprincipal.asset.software.version
にマッピングしました。port
をprincipal_port
にマッピングしました。user
をprincipal.user.userid
にマッピングし、user
が存在する場合はmetadata.event_type
をUSER_UNCATEGORIZED
に設定しました。application
をprincipal.application
にマッピングしました。ip
をprincipal.ip
にマッピングしました。severity
がIFMGR-5-OSTATE_DN
の場合、sec_result.severity
をINFORMATIONAL
に設定します。msg
をmetadata.description
にマッピングしました。
2023-11-02
- 新しく作成されたパーサー。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps の専門家から回答を得る。