NetApp ONTAP ログを収集する
このドキュメントでは、Syslog を介して NetApp ONTAP ログを収集する方法について説明します。パーサーは、正規表現を使用して syslog メッセージからフィールドを抽出します。次に、抽出されたフィールドを対応する UDM(統合データモデル)フィールドにマッピングし、セキュリティ分析用に未加工のログデータを構造化された形式に効果的に変換します。
始める前に
- Google Security Operations インスタンスがあることを確認します。
- Windows 2016 以降、または systemdを使用する Linux ホストを使用していることを確認します。
- プロキシの背後で実行している場合は、ファイアウォール ポートが開いていることを確認します。
- NetApp ONTAP クラスタに対する管理者権限があることを確認します。
- ONTAP が Syslog サーバー(Bindplane)と通信できることを確認します。
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: 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 に置き換えます。
- /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
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 オブジェクトに「key」=「nmsdk_language」として「value」として追加されます。 | 
| nmsdk_platform | security_result.detection_fields.value | Grok パターンを使用してログ メッセージから抽出されます。この値は、「key」=「nmsdk_platform」の detection_fields オブジェクトの「value」として追加されます。 | 
| nmsdk_version | security_result.detection_fields.value | Grok パターンを使用してログ メッセージから抽出されます。この値は、「key」=「nmsdk_version」の detection_fields オブジェクトの「value」として追加されます。 | 
| netapp_version | security_result.detection_fields.value | Grok パターンを使用してログ メッセージから抽出されます。この値は、「key」=「netapp_version」の detection_fields オブジェクトの「value」として追加されます。 | 
| 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」に設定します(大文字と小文字を区別しない)。 | 
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。