NetScaler コンソールを Microsoft Sentinel と統合して、次の分析を NetScaler コンソールから Microsoft Sentinel にエクスポートできます。
Microsoft Sentinel は、アプリケーション、サーバーなどのさまざまなソースからデータを収集する集中型のデータ収集を提供します。 管理者は、Microsoft Sentinel で分析情報や違反が報告された後にデータを表示し、決定を下すことができます。
統合を成功させるには、アクティブな Azure サブスクリプションがあることを確認し、各セクションの手順に従ってください。
収集されたデータを保存および分析するには、Log Analytics ワークスペースが必要です。
Azure にログインします。
リソースの作成をクリックします。
検索バーに「log analytics workspace」と入力し、「 Log Analytics Workspace」の下の「 Create 」をクリックします。
Log Analytics ワークスペース メイン ページで、 作成をクリックします。
Log Analytics ワークスペースの作成で次の操作を行います。
アクティブなサブスクリプションとリソース グループを選択します。
注記:
権限がある場合は、[ 新規作成 ] をクリックしてリソース グループを追加することもできます。
任意の名前を指定します。
リストから地域を選択してください。
レビュー + 作成をクリックします。
検証に成功したメッセージが表示されます。 ワークスペースをデプロイするには、[ 作成 ] をクリックします。
デプロイメントが進行中であることを示すメッセージが表示されます。 デプロイ完了メッセージが表示されたら、[ リソースに移動] をクリックします。
ワークスペースが正常に作成されました。
Log Analytics ワークスペースに代わって通信するには、Azure サブスクリプションに関連付けられた Entra アプリケーションを作成する必要があります。 アプリケーションを作成した後、 Microsoft Sentinel Contributor ロールでアクセス許可も付与する必要があります。 アプリケーションは、 クライアント ID、 テナント ID、 クライアント シークレットなどの詳細も提供します。 これらの詳細をメモしておくことをお勧めします。 これらの詳細は、NetScaler コンソールでサブスクリプションを作成して統合プロセスを完了するときに必要になります。
Azure ポータルで、検索バーにキーワードを入力します。
Microsoft Entra IDをクリックします。
追加 をクリックし、 アプリ登録を選択します。
アプリの名前を指定し、[ サポートされているアカウントの種類] の下の既定のオプションを選択して、[ 登録] をクリックします。
アプリケーションを登録した後:
クライアント ID と テナント IDをメモします。
アプリケーションのシークレット ID を作成します。 証明書 & シークレット をクリックし、 クライアント シークレットの下で、 新しいクライアント シークレットをクリックします。 説明と有効性を入力し、[ 追加 ] をクリックして、アプリケーションのシークレット ID を作成します。
アプリケーションの詳細が表示されます。 シークレットが作成された直後に、 値 の下に表示される ID を必ずメモしてください。 他の GUI オプションに移動すると、この値は非表示になります。
Microsoft Entra ID ログは、Entra テナントにアクセスするユーザー、アプリケーション、ネットワークに関する包括的な情報を提供します。 詳細については、「 Microsoft Entra ID データ コネクタを使用して Microsoft Sentinel にデータを送信する」を参照してください。
エンドポイント URL を取得するには、データ収集エンドポイントを作成する必要があります。 これは、NetScaler コンソールでサブスクリプションを作成するときに必要です。
Azure ポータルの Azure サービスで、 データ収集エンドポイント を選択するか、検索バーにキーワードを入力します。
データ収集エンドポイント ページで、 作成 をクリックします。
でデータ収集エンドポイントを作成します。
任意のエンドポイント名を指定します
サブスクリプション、リソース グループ、および リージョンを選択します。
レビュー + 作成をクリックします。
検証に成功したというメッセージが表示されたら、[ 作成] をクリックします。
エンドポイント URL をメモする必要があります。 データ収集エンドポイント メイン ページで、作成したエンドポイントを選択し、 JSON ビューをクリックして、エンドポイント ID をメモします。
NetScaler コンソールから Microsoft Sentinel にエクスポートするインサイトごとにテーブルを作成し、JSON 情報を提供する必要があります。 各インサイトのテーブル要件については、次の詳細を参照できます。
洞察 | 必要なテーブルの合計数 |
---|---|
SSLインサイト | 3 |
ワフ | 1 |
ボット | 1 |
ゲートウェイの洞察 | 5 |
イベント | 1 |
メトリクス | 1 |
監査ログ | 1 |
データ収集ルール (DCR) ごとに最大 10 個のテーブルを作成できます。 テーブルが 10 個を超える場合は、別の DCR を作成する必要があります。
Azure Portal でワークスペースに移動し、[ 設定] の下の [ テーブル ] をクリックします。
作成 をクリックし、 新しいカスタム ログ (DCR ベース)を選択します。
でカスタム ログを作成します:
テーブル名を指定します。 テーブル名は、 console_insightnameの形式にする必要があります。 たとえば、 console_ns_sslvserver、 console_ns_ssl_certkeyなどです。 各インサイトに適用可能なテーブル名を取得するには、手順 4 を参照してください。
テーブル名に関する詳細情報を追加するには、説明を入力します。 これはオプションです。
新しいデータ収集ルールを作成して追加します。
リストからデータ収集エンドポイントを選択します。
次へをクリックします。
スキーマと変換 タブで、エクスポートする分析情報の JSON サンプル ログをアップロードする必要があります。 各インサイトに対して次のサンプル JSON を使用して、アップロードする JSON ファイルを作成できます。
洞察 | JSON | 使用するテーブル名 |
---|---|---|
SSL (1) | {"id": "3eb05733-c326-493c-9aa0-f7db3a6b4277", "ns_ip_address": "10.106.186.141", "name": "zeta_192_168_110_250", "vsvr_ip_address": "", "vsvr_port": -1, "vsvr_type": "", "state": "", "partition_name": "", "display_name": "10.106.186.141", "poll_time": 1716539986, "managed": "f", "ssl2": "f", "ssl3": "t", "tls10": "t", "tls11": "t", "tls12": "t", "dh": "f", "ersa": "t", "sslprofile": "", "tls13": "f", "dhkeyexpsizelimit": "無効", "pushenctriggertimeout": 1, "sessionticket": "", "includesubdomains": "f", "sessionticketkeyrefresh": "", "ssllogprofile": "", "serverauth": "", "ssltriggertimeout": 100, "ersacount": 0, "strictcachecks": "いいえ", "dhfile": "", "sessreuse": "有効", "redirectportrewrite": "無効", "skipclientcertpolicycheck": "", "tls13sessionticketsperauthcontext": 1, "cipherredirect": "無効", "dropreqwithnohostheader": "いいえ", "sessionticketlifetime": -1, "maxage": 0, "pushenctrigger": "常に", "strictsigdigestcheck": "f", "sslredirect": "無効", "sessionkeylifetime": -1, "alpnprotocol": "", "clientauthuseboundcachain": "", "sesstimeout": 120, "clientcert": "", "snihttphostmatch": "CERT", "preload": "NO", "prevsessionkeylifetime": -1, "sessionticketkeydata": "", "encrypttriggerpktcount": 45, "cleartextport": "", "ssliocspcheck": "", "hsts": "f", "sslinterception": "", "commonname": "", "sslireneg": "", "ocspstapling": "無効", "quantumsize": 8192, "insertionencoding": "Unicode", "sslimaxsessperserver": -1, "cipherurl": "", "pushflag": 0, "zerorttearlydata": "無効", "allowextendedmastersecret": "", "dhekeyexchangewithpsk": "いいえ", "clientauth": "無効", "denysslreneg": "安全ではありません", "sendclosenotify": "はい", "dhcount": 0, "snienable": "無効", "table_name": "ns_sslvserver"} |
コンソール_ns_sslvserver |
SSL (2) | {"id": "a6673ab2-0b59-47b9-b530-bc30fb2b937c", "ssl_certificate": "/nsconfig/ssl/ca-cert.pem", "ssl_key": "/nsconfig/ssl/ca-key.pem", "certkeypair_name": "athul-ca", "cert_format": "PEM", "days_to_expiry": 281, "ns_ip_address": "10.106.186.141", "status": "Valid", "device_name": "10.106.186.141", "file_location_path": "", "certificate_data": "", "key_data": "", "poll_time": 1717434335, "no_domain_check": "f", "version": 3, "serial_number": "7B34B6A6A1A79E0FF168242D7BCFF78F04C9EE66", "署名アルゴリズム": "sha256WithRSAEncryption", "発行者": "C=IN,ST=KA,L=BAN,O=CIT,OU=ADM,CN=A", "有効開始時刻": "2024年3月12日 8時51分11秒 GMT", "有効終了時刻": "2025年3月12日 8時51分11秒 GMT", "件名": "C=IN,ST=KA,L=BAN,O=CIT,OU=ADM,CN=A", "公開鍵アルゴリズム": "rsaEncryption", "公開鍵サイズ": 4096, "バインドされたエンティティ数": 0, "パーティション名": "", "表示名": "10.106.186.141", "ホスト名": "athulsadc", "キー名": "", "サブディレクトリ名": "", "管理者": "", "証明書DN": "", "linkcertkeyname": "", "テーブル名": "ns_ssl_certkey"} |
コンソール_ns_ssl_certkey |
ワフ | [{"ip_address": "10.106.185.156", "ctnsappname": "vserver_1", "severity": 2, "violation_type": 19, "violation_type_desc": "開始URL", "block_flags": 1, "transformed_flags": 0, "not_blocked_flags": 0, "country_code": "-NA-", "region_code": "-NA-", "city": "-NA-", "latitude": 200.0, "longitude": 200.0, "signature_category": "", "attack_category": 2, "attack_category_desc": "認証とセッション管理の不備", "total_attacks": 1, "rpt_sample_time": 1704783773, "source_ip_address": 174766492, "attack_time": 1704783538、"profile_name": "appfw_cs_lb_prof"、"session_id": ""、"http_req_url": "https://10.106.192.54/csrf_ffc/ffc.html?field10=asfasd"、"violation_name": "-NA-"、"violation_value": "-NA-"、"violation_location": 4、"violation_threat_index": 5、"app_threat_index": 5、"http_method": 0、"violation_action": 3、"violation_action_desc": "ブロック"、"severity_type": 2、"severity_type_desc": "中"、"iprep_score": 0、"iprep_category": 0、"counter_value": 0、"appname": "vserver_1_10.106.185.156_lb", "violation_category": 12, "violation_category_desc": "開始URL", "source_ipv6_address": "", "true_client_ip": "\\N", "backend_vserver": "", "backend_appname": "", "transactionId": "0", "table_name": "af_threat_exporter_data_l2"}] |
コンソール_af_脅威_エクスポーター_データ_l2 |
ボット | {"ip_address": "10.106.186.122", "ctnsappname": "secure_gateway", "bot_type": "2", "bot_type_desc": "Bad", "action_type": "6", "action_type_desc": "Log", "country_code": "0.0", "region_code": "0.0", "city": "0.0", "bot_severity": "0", "bot_severity_desc": "Critical", "latitude": "0", "longitude": "0", "bot_detection_mechanism": "6", "bot_detection_mechanism_desc": "BlackList", "bot_category": "0", "bot_category_desc": "Uncategorized", "source_ip_address": "174758625", "bot_signature_category": "Custom Policy Expression", "appname": "secure_gateway_10.106.186.122_lb", "backend_vserver": "", "backend_appname": "", "total_attacks": "2", "rpt_sample_time": "1718783216", "table_name": "af_bot_attack_details_l2"} |
コンソール_af_bot_攻撃_詳細_l2 |
ゲートウェイインサイト (1) | {"adc_ip_address": "10.106.186.141", "auth_server": "", "client_ip": 174766732, "epa_method_type": 0, "error_count": 14, "error_details": "無効な認証情報が渡されました", "error_type": 1, "gateway_name": "vpn_vserver_142_6", "req_url": "", "resource": "", "rpt_sample_time": 1713505215, "sso_method_type": 0, "sta_ip": "", "table_name": "af_vpn_error_details", "username": "John"} |
コンソール_af_vpn_エラーの詳細 |
ゲートウェイインサイト (2) | {"adc_ip_address": "10.102.71.166", "display_name": "10.102.71.166", "gateway_name": "firsthop", "ip_address": "10.102.71.168", "rpt_sample_time": "1718812158", "state": "Up", "table_name": "ns_vpnvserver"} |
コンソール_ns_vpnvサーバー |
ゲートウェイインサイト (3) | {"adc_ip_address": "10.106.186.141", "gateway_name": "vpn_vserver_141_7", "rpt_sample_time": 1702011308, "sessions": 1, "table_name": "af_vpn_session_details", "users": 1} |
コンソール_af_vpn_セッションの詳細 |
ゲートウェイインサイト (4) | {"active_sessions": 59、"active_users": 1、"adc_ip_address": "10.106.186.136、"gateway_name": "vpnathul2、"rpt_sample_time": 1698919848、"table_name": "af_vpn_active_session_1"} |
コンソール_af_vpn_アクティブ_セッション_1 |
ゲートウェイインサイト (5) | {"adc_ip_address": "10.106.186.136", "entity_type": 3, "gateway_name": "vpnathul2", "hits": 3, "rpt_sample_time": 1698052438, "table_name": "af_vpn_error_reports"} |
コンソール_af_vpn_エラー_レポート |
イベント | {"rpt_sample_time": -1, "category": "HealthMonitoring", "entity": "10.106.186.148:HealthMonitoring:システムディスク使用量", "counter_threshold_value": "", "id": "0f2607cf-f97d-4f71-9162-11e580262e93", "timestamp": 1712927472, "message": "ディスク使用量高: 63.24%", "severity": "Critical", "user_name": "", "device_entity_type": "", "device_type": "", "counter_actual_value": "", "cmd_auth_status": "", "source": "10.106.186.148", "history": "更新時刻= 2024年4月12日(金) 06:32:49 UTC、以前の重大度=重大、新しい重大度=重大、ソース= 10.106.186.148\n更新時刻= 金曜日、2024年4月12日 06:27:46 UTC、以前の重大度=重大、新しい重大度=重大、ソース= 10.106.186.148\n更新時刻= 金曜日、2024年4月12日 06:22:44 UTC、以前の重大度=重大、新しい重大度=重大、ソース= 10.106.186.148\n更新時刻= 金曜日、2024年4月12日 06:17:41 UTC、以前の重大度=重大、新しい重大度=重大、ソース=10.106.186.148\n更新日時=2024年4月12日(金) 06:12:38 UTC、以前の重大度=重大、新しい重大度=重大、ソース=10.106.186.148\n更新日時=2024年4月12日(金) 06:07:36 U", "config_cmd": "", "failureobj": "システムディスク使用量", "operation_type": "undefined", "device_entity_name": "", "cmd_exec_status": "", "device_family": "", "source_event_id": -1, "source_system_ip": "10.106.186.148", "trap_id": 35, "table_name": "event"} |
コンソールイベント |
メトリクス | {"memory_free": 28830060544.0, "disk_used": 81248694272.0, "disk_free": 29632114688.0, "node_type": "", "memory_total": 34355544064.0, "cpu_usage": 0.49, "disk_total": 120522616832.0, "disk_usage": 73.28, "node_id": "", "id": "1be15a09-d078-469c-868a-bfbfcffe5ef1", "disk_total_capacity": 0.0, "page_size": 4096.0, "memory_usage": 16.08, "table_name": 「mps_health」} |
コンソール_mps_health |
監査ログ | {"system_gmt_time":1721868291, "source":"XXXX", "severity":"INFO", "module":"DEVICECONFIG", "event_type":"CMD_EXECUTED", "message":"サンプルメッセージ", "instance_ip":"XXXX", "app_name":""} |
コンソール_syslog_メッセージ |
JSON をアップロードすると、次の詳細を表示できます。
変換エディターをクリックし、適切なインサイトに適用可能な次のクエリを入力して、 実行 をクリックし、NetScaler コンソールのポーリング時間からのデータを受け入れます。
SSL - ソース | 拡張 TimeGenerated = todatetime(poll_time) | プロジェクト名変更 sslvserver_id = id
WAF および ボット - ソース | 拡張 TimeGenerated = todatetime(rpt_sample_time)
ゲートウェイインサイト - ソース | 拡張 TimeGenerated = todatetime(rpt_sample_time)
次へ をクリックし、 作成 をクリックして完了します。
データ収集ルールに移動し、作成した DCR をクリックします。
構成の下で、 データ ソース をクリックして、作成されたテーブルを表示します。
DCR (データ収集ルール) には、 監視メトリック発行者 ロールへのアクセスが必要です。
Azure ポータルの Recentsからアクセスできる DCR に移動します。
DCR ページから [ アクセス制御 (IAM) ] をクリックし、[ ロールの割り当ての追加] をクリックします。
検索バーにキーワード「monitor」と入力して、「 Monitoring Metrics Publisher 」を選択し、「 Next」をクリックします。
メンバー タブで、 メンバーの選択 をクリックし、作成した Entra アプリを選択します。
レビュー + 割り当てをクリックします。
データ収集ルール ID をメモする必要があります。 「データ収集ルール」ページに移動し、DCR を選択して、JSON ビューをクリックし、ID をメモします。
これですべての準備が整いました。 最後の手順は、サブスクリプションを作成し、必要な詳細を追加して NetScaler コンソールを構成することです。 NetScaler コンソールでサブスクリプションを作成するには、メモした次の詳細情報が必要です。
NetScaler コンソールにログインします。
設定 > 観測性統合に移動します。
統合 ページで、 追加をクリックします。
サブスクリプションの作成 ページで、次の詳細を指定します。
「サブスクリプション名」フィールドに任意の名前を指定します。
NetScaler コンソール を ソース として選択し、 次へをクリックします。
Microsoft Sentinel を選択し、 構成をクリックします。 エンドポイントの構成 ページですべての詳細を入力し、 送信をクリックします。
次へをクリックします。
[インサイトの追加] をクリックし、[機能の選択 ] タブで、Microsoft Azure に追加したテーブルに応じて、エクスポートする機能を選択し、[選択した項目を追加] をクリックして、[次へ] をクリックします。
インスタンスの選択 タブで、 すべてのインスタンスを選択 または カスタム選択のいずれかを選択し、 次へをクリックできます。
すべてのインスタンスを選択 - すべての NetScaler インスタンスから Microsoft Sentinel にデータをエクスポートします。
カスタム選択 - リストから NetScaler インスタンスを選択できます。 リストから特定のインスタンスを選択すると、選択した NetScaler インスタンスからのみデータが Microsoft Sentinel にエクスポートされます。
[送信] をクリックします。
すべてを構成した後、Microsoft Azure で詳細を表示するには 30 分待つことをお勧めします。
Azure ポータルで、 Log Analytics ワークスペースに移動します。
ログをクリックし、テーブル名を指定して、 実行 をクリックして結果を表示します。
トラブルシューティングを行い、ログを使用して構成を確認することもできます。 たとえば、構成されたインサイトに対して NetScaler コンソール GUI の [今すぐポーリング] オプションを使用し、次の操作を実行します。
ログを表示するには、次のコマンドを使用します。
テール -f /var/mps/log/nbs/nbs_api.log
次の例は、トラブルシューティングのために考えられるエラーを分析するのに役立ちます。
このログは、NetScaler コンソール (設定 > 観測性統合) で Microsoft Sentinel サブスクリプションに無効なクライアント ID を指定したことを示します。
回避策: 正しいクライアント ID をコピーしたことを確認し、正しいクライアント ID を指定してサブスクリプションを編集します。 詳細については、「 Microsoft Entra アプリケーションを作成する」を参照してください。
このログは、Microsoft Azure で必要な ssl_certkey テーブルが構成されていないことを示しています。
回避策: Microsoft Azure で ssl_certkey のテーブルを構成します。 詳細については、「 データをエクスポートするためのテーブルを作成する」を参照してください。