NetApp ONTAP ログを収集する
このドキュメントでは、Syslog を使用して NetApp ONTAP のログを収集する方法について説明します。パーサーは、正規表現を使用して Syslog メッセージからフィールドを抽出します。抽出されたフィールドを対応する UDM(統合データモデル)フィールドにマッピングし、未加工のログデータをセキュリティ分析用の構造化形式に効果的に変換します。
始める前に
- Google Security Operations インスタンスがあることを確認します。
- Windows 2016 以降、または
systemd
を使用する Linux ホストを使用していることを確認します。 - プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
- NetApp ONTAP クラスタに対する管理者権限があることを確認します。
- ONTAP が Syslog サーバー(Bindplane)と通信できることを確認します。
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: udplog: # 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: netapp_ontap raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog 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
ONTAP で Syslog の宛先を構成する
SSH を使用して ONTAP クラスタにアクセスし、
<ontap-cluster-ip>
を ONTAP クラスタの管理 IP に置き換えます。ssh admin@<ontap-cluster-ip>
既存のイベント フィルタと通知を確認します。
event filter show event notification show
Syslog の宛先を作成し、
<syslog-server-ip>
と<syslog-server-port>
を Syslog サーバー情報(Bindplane)に置き換えます。event notification destination create -name syslog-ems -syslog <syslog-server-ip> -syslog-port <syslog-server-port> -syslog-transport udp-unencrypted
-syslog-transport のその他のオプション:
- udp-unencrypted(デフォルト)
- tcp-unencrypted
- tcp-encrypted(TLS 用)。
Syslog の宛先を確認します。
event notification destination show
既存のイベントフィルタを構成する
デフォルトのフィルタを Syslog の宛先にリンクします。
event notification create -filter-name no-info-debug-events -destinations syslog-ems event notification create -filter-name default-trap-events -destinations syslog-ems
省略可: カスタム フィルタを作成して設定する
認証イベント フィルタ(ログイン / ログアウト): 説明が「Logging in」または「Logging out」と一致するログをキャプチャします。
event filter create -filter-name auth_events event filter rule add -filter-name auth_events -type include -message-name *login* -severity info event filter rule add -filter-name auth_events -type include -message-name *logout* -severity info
セキュリティ検出フィールド フィルタ: nmsdk_language、nmsdk_platform、nmsdk_version、netapp_version に関連するログをキャプチャします。
event filter create -filter-name security_fields event filter rule add -filter-name security_fields -type include -message-name *nmsdk_language* -severity info event filter rule add -filter-name security_fields -type include -message-name *nmsdk_platform* -severity info event filter rule add -filter-name security_fields -type include -message-name *nmsdk_version* -severity info event filter rule add -filter-name security_fields -type include -message-name *netapp_version* -severity info
重大度ベースのログフィルタ: 重大度が informational の場合のログをキャプチャします。
event filter create -filter-name severity_info event filter rule add -filter-name severity_info -type include -message-name * -severity info
ネットワーク アクティビティ フィルタ: src_ip と src_port を含むログをキャプチャします。
event filter create -filter-name network_activity event filter rule add -filter-name network_activity -type include -message-name *src_ip* -severity info event filter rule add -filter-name network_activity -type include -message-name *src_port* -severity info
URL ターゲット ログ フィルタ: URL 情報を含むログをキャプチャします。
event filter create -filter-name url_target event filter rule add -filter-name url_target -type include -message-name *url* -severity info
各フィルタを Syslog の宛先に適用します。
event notification create -filter-name auth_events -destinations syslog-ems event notification create -filter-name security_fields -destinations syslog-ems event notification create -filter-name severity_info -destinations syslog-ems event notification create -filter-name network_activity -destinations syslog-ems event notification create -filter-name url_target -destinations syslog-ems
通知を確認します。
event notification show
UDM マッピング テーブル
ログフィールド | UDM マッピング | 論理 |
---|---|---|
コード | マッピングされません | |
説明 | metadata.description | Grok パターンを使用してログ メッセージから抽出されます。説明が「Logging out」または「Logging in」の場合にのみ存在します。 |
intermediary_host | intermediary.hostname | Grok パターンを使用してログ メッセージから抽出されます。 |
nmsdk_language | security_result.detection_fields.value | Grok パターンを使用してログ メッセージから抽出されます。この値は、detection_fields オブジェクトに「value」として追加され、「key」は「nmsdk_language」になります。 |
nmsdk_platform | security_result.detection_fields.value | Grok パターンを使用してログ メッセージから抽出されます。この値は、detection_fields オブジェクトに「value」として追加され、「key」は「nmsdk_platform」になります。 |
nmsdk_version | security_result.detection_fields.value | Grok パターンを使用してログ メッセージから抽出されます。この値は、detection_fields オブジェクトに「value」として追加され、「key」は「nmsdk_version」になります。 |
netapp_version | security_result.detection_fields.value | Grok パターンを使用してログ メッセージから抽出されます。この値は、detection_fields オブジェクトに「value」として追加され、「key」は「netapp_version」になります。 |
product_event_type | metadata.product_event_type | Grok パターンを使用してログ メッセージから抽出されます。 |
security_result.summary | security_result.summary | Grok パターンを使用してログ メッセージから抽出されます。 |
重要度 | security_result.severity | 重大度が「info」の場合は「INFORMATIONAL」に設定します(大文字と小文字を区別しない)。 |
src_ip | principal.ip | Grok パターンを使用してログ メッセージから抽出されます。 |
src_port | principal.port | Grok パターンを使用してログ メッセージから抽出されます。 |
ステータス | security_result.summary | Grok パターンを使用してログ メッセージから抽出されます。 |
ts | metadata.event_timestamp.seconds | Grok パターンを使用してログ メッセージから抽出され、タイムスタンプに変換されます。 |
url | target.url | Grok パターンを使用してログ メッセージから抽出されます。 |
user | target.user.userid | Grok パターンを使用してログ メッセージから抽出されます。 |
extensions.auth.type | 説明が「Logging out」または「Logging in」の場合は、「AUTHTYPE_UNSPECIFIED」に設定します。 | |
metadata.event_type | 説明が「Logging in」の場合は「USER_LOGIN」に設定します。 | |
metadata.event_type | 説明が「Logging out」の場合は「USER_LOGOUT」に設定します。 | |
metadata.event_type | 説明が「Logging in」または「Logging out」でない場合は、「SCAN_UNCATEGORIZED」に設定します。 | |
metadata.log_type | 「NETAPP_ONTAP」に設定します。 | |
metadata.product_name | 「NETAPP_ONTAP」に設定します。 | |
metadata.vendor_name | 「NETAPP_ONTAP」に設定します。 | |
target.platform | nmsdk_platform に「windows」が含まれている場合は、「WINDOWS」に設定します(大文字と小文字を区別しない)。 |
変更
2023-04-03
- 新しく作成されたパーサー。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps の専門家から回答を得る。