Microsoft Sentinel カスタム コネクタを作成するためのリソース
Microsoft Sentinel は、Azure サービスと外部ソリューションに対してすぐに使用できるさまざまなコネクタを提供し、一部のソースからの専用コネクタを使用しないデータの取り込みもサポートします。
利用可能な既存のソリューションを使用してデータ ソースを Microsoft Sentinel に接続できない場合は、独自のデータ ソース コネクタを作成することを検討してください。
サポートされているコネクタの完全な一覧については、「Microsoft Sentinel のデータ コネクタを見つける」を参照してください。
カスタム コネクタの方法を比較する
次の表は、この記事で説明されている各カスタム コネクタ作成方法に関する重要な詳細を比較したものです。 各方法の詳細については、表内のリンクを選択してください。
方法の説明 | 機能 | サーバーレス | 複雑さ |
---|---|---|---|
コードレス コネクタ プラットフォーム (CCP) 高度な開発を行うことなく、経験の少ない技術者が構成ファイルを使用して SaaS コネクタを作成する場合に最適です。 |
コードで使用できるすべての機能がサポートされます。 | はい | 低、シンプルでコード不要の開発 |
Azure Monitor エージェント オンプレミスと IaaS のソースからファイルを収集する場合に最適です |
ファイル収集、データ変換 | いいえ | 低 |
Logstash オンプレミスと IaaS のソース、プラグインを利用できるソース、および Logstash に既に慣れている組織に最適です |
Azure Monitor エージェントのすべての機能をサポートします | いいえ、実行するには VM または VM クラスターが必要です | 低、プラグインで多くのシナリオがサポートされます |
Logic Apps 高コストであり、大量のデータへの使用は避けます 少量のクラウド ソースに最適です |
コード不要のプログラミングのため柔軟性は制限され、アルゴリズムの実装はサポートされません。 要件が既にサポートされている使用可能なアクションがない場合、カスタム アクションを作成すると複雑になる可能性があります。 |
はい | 低、シンプルでコード不要の開発 |
PowerShell プロトタイプと定期的なファイル アップロードに最適です |
ファイル収集が直接サポートされます。 PowerShell を使用すると、より多くのソースを収集できますが、スクリプトをコーディングし、サービスとして構成する必要があります。 |
いいえ | 低 |
Log Analytics API 統合を実装する ISV、および固有の収集要件に最適です |
コードで使用できるすべての機能がサポートされます。 | 実装によって異なります | 高 |
Azure Functions 大量のクラウド ソースおよび固有の収集要件に最適です |
コードで使用できるすべての機能がサポートされます。 | はい | 高、プログラミングに関する知識が必要です |
ヒント
Logic Apps と Azure Functions を同じコネクタに使用する場合の比較については、次を参照してください。
- Fastly Web アプリケーション ファイアウォールのログを Microsoft Sentinel に取り込む
- Office 365 (Microsoft Sentinel GitHub コミュニティ): Logic App コネクタ | Azure 関数コネクタ
コードレス コネクタ プラットフォームを使用した接続
コードレス コネクタ プラットフォーム (CCP) では、顧客とパートナーの両方が使用できる構成ファイルを提供し、独自のワークスペースにデプロイするか、Microsoft Sentinel のソリューションのギャラリーにソリューションとしてデプロイします。
CCP を使用して作成されたコネクタは完全な SaaS であり、サービスのインストールに必要な要件がなく、Microsoft Sentinel による稼働状況の監視と完全なサポートも含まれています。
詳細については、「 Microsoft Sentinel 用のコードレス コネクタを作成する」を参照してください。
Azure Monitor エージェントを使用して接続する
データ ソースがテキスト ファイルでイベントを配信している場合は、Azure Monitor エージェントを使用してカスタム コネクタを作成することをお勧めします。
詳細については、「Azure Monitor エージェントを使用したテキスト ファイルからのログの収集」を参照してください。
この方法の例については、「Azure Monitor エージェントを使用した JSON ファイルからのログの収集」を参照してください。
Logstash を使用して接続する
Logstash を使い慣れている場合は、Logstash と Microsoft Sentinel 用 Logstash 出力プラグインを使用して、カスタム コネクタを作成できます。
Microsoft Sentinel の Logstash 出力プラグインを使用すると、Logstash の任意の入力およびフィルター プラグインを使用し、Logstash パイプラインの出力として Microsoft Sentinel を構成することができます。 Logstash に用意されているプラグインの大きなライブラリを使用すると、Event Hubs、Apache Kafka、ファイル、データベース、クラウド サービスなど、さまざまなソースから入力できます。 フィルター プラグインを使用すると、イベントの解析、不要なイベントの除外、値の難読化などを行うことができます。
Logstash をカスタム コネクタとして使用する例については、次を参照してください。
- Microsoft Sentinel を使用した AWS ログでの Capital One 侵害の TTP のハンティング (ブログ)
- Radware Microsoft Sentinel 実装ガイド
役に立つ Logstash プラグインの例については、次を参照してください。
ヒント
Logstash を使用すると、クラスターを使用するスケーリングされたデータ収集も有効になります。 詳細については、負荷分散された Logstash VM の大規模な使用に関するページを参照してください。
Logic Apps を使用して接続する
Microsoft Sentinel 用のサーバーレスのカスタム コネクタを作成するには、Azure Logic Apps を使用します。
注意
Logic Apps を使用してサーバーレス コネクタを作成すると便利な場合がありますが、コネクタに Logic Apps を使用すると、大量のデータではコストがかかる可能性があります。
この方法は、量の少ないデータ ソースの場合、またはデータのアップロードをエンリッチする場合にのみ使用することをお勧めします。
次のいずれかのトリガーを使用して、Logic Apps を開始します。
トリガー [説明] 定期的なタスク たとえば、特定のファイル、データベース、または外部 API から定期的にデータを取得するように、ロジック アプリをスケジュールします。
詳細については、Azure Logic Apps での定期的なタスクとワークフローの作成、スケジュール、実行に関するページを参照してください。オンデマンド トリガー 手動によるデータの収集とテストのために、ロジック アプリをオンデマンドで実行します。
詳細については、HTTPS エンドポイントを使用したロジック アプリの呼び出し、トリガー、入れ子化に関するページを参照してください。HTTP/S エンドポイント ストリーミングの場合、およびソース システムがデータ転送を開始できる場合に推奨されます。
詳細については、HTTP または HTTPS によるサービス エンドポイントの呼び出しに関するページを参照してください。情報を読み取るいずれかの Logic Apps コネクタを使用して、イベントを取得します。 次に例を示します。
ヒント
REST API、SQL Server、ファイル システムへのカスタム コネクタでは、オンプレミスのデータ ソースからのデータの取得もサポートされています。 詳細については、オンプレミス データ ゲートウェイのインストールに関するドキュメントを参照してください。
取得する情報を準備します。
たとえば、JSON 解析アクションを使用して JSON コンテンツのプロパティにアクセスすると、ロジック アプリの入力を指定するときに、動的コンテンツ リストからそれらのプロパティを選択できるようになります。
詳細については、「Azure Logic Apps でデータの操作を実行する」を参照してください。
Log Analytics にデータを書き込みます。
詳細については、Azure Log Analytics データ コレクターのドキュメントを参照してください。
Logic Apps を使用して Microsoft Sentinel 用のカスタム コネクタを作成する方法の例については、次を参照してください。
- データ コレクター API によるデータ パイプラインの作成
- Webhook を使用した Palo Alto Prisma ロジック アプリ コネクタ (Microsoft Sentinel GitHub コミュニティ)
- スケジュールされたアクティブ化を使用して Microsoft Teams の呼び出しをセキュリティで保護する (ブログ)
- Microsoft Sentinel への AlienVault OTX 脅威インジケーターの取り込み (ブログ)
PowerShell で接続する
Upload-AzMonitorLog PowerShell スクリプトを使用すると、コマンド ラインから PowerShell を使用してイベントまたはコンテキスト情報を Microsoft Sentinel にストリーミングできます。 このストリーミングにより、実質的に、データ ソースと Microsoft Sentinel の間のカスタム コネクタが作成されます。
たとえば、次のスクリプトを使用すると、CSV ファイルが Microsoft Sentinel にアップロードされます。
Import-Csv .\testcsv.csv
| .\Upload-AzMonitorLog.ps1
-WorkspaceId '69f7ec3e-cae3-458d-b4ea-6975385-6e426'
-WorkspaceKey $WSKey
-LogTypeName 'MyNewCSV'
-AddComputerName
-AdditionalDataTaggingName "MyAdditionalField"
-AdditionalDataTaggingValue "Foo"
Upload-AzMonitorLog PowerShell スクリプトで使用されるパラメーターは次のとおりです。
パラメーター | [説明] |
---|---|
WorkspaceId | データを格納する Microsoft Sentinel ワークスペースの ID。 ワークスペースの ID とキーを確認します。 |
WorkspaceKey | データを格納する Microsoft Sentinel ワークスペースのプライマリまたはセカンダリ キー。 ワークスペースの ID とキーを確認します。 |
LogTypeName | データを格納するカスタム ログ テーブルの名前。 サフィックス _CL が、テーブル名の末尾に自動的に追加されます。 |
AddComputerName | このパラメーターが存在する場合、スクリプトにより、すべてのログ レコードの Computer という名前のフィールドに、現在のコンピューター名が追加されます。 |
TaggedAzureResourceId | このパラメーターが存在する場合、スクリプトにより、アップロードされたすべてのログ レコードと指定した Azure リソースが関連付けられます。 この関連付けにより、アップロードされたログ レコードはリソース コンテキスト クエリに対して有効になり、リソース中心のロールベースのアクセス制御に準拠します。 |
AdditionalDataTaggingName | このパラメーターが存在する場合、スクリプトにより、構成されている名前および AdditionalDataTaggingValue パラメーターに構成されている値を使用して、すべてのログ レコードに別のフィールドが追加されます。 この場合、AdditionalDataTaggingValue を空にすることはできません。 |
AdditionalDataTaggingValue | このパラメーターが存在する場合、スクリプトにより、構成されている値および AdditionalDataTaggingName パラメーターに構成されている名前を使用して、すべてのログ レコードに別のフィールドが追加されます。 AdditionalDataTaggingName パラメーターが空であるのに、値が構成されている場合、既定のフィールド名は DataTagging になります。 |
ワークスペースの ID とキーを確認する
Microsoft Sentinel で WorkspaceID と WorkspaceKey パラメーターの詳細を確認します。
Microsoft Sentinel の左側で [設定] を選択し、 [ワークスペースの設定] タブを選択します。
[Log Analytics の使用を開始する]>[1 データ ソースへの接続] で、 [Windows and Linux agents management]\(Windows および Linux エージェントの管理\) を選択します。
[Windows サーバー] タブで、ワークスペース ID、プライマリ キー、セカンダリ キーを確認します。
Log Analytics API を使用して接続する
Log Analytics Data Collector API を使用して RESTful エンドポイントを直接呼び出すことにより、Microsoft Sentinel にイベントをストリーミングできます。
RESTful エンドポイントを直接呼び出すには、より多くのプログラミングが必要ですが、柔軟性も高くなります。
詳細については、Log Analytics Data Collector API に関するページの、特に次の例を参照してください。
Azure Functions を使用して接続する
Azure Functions と RESTful API および PowerShell などのさまざまなコーディング言語を使用して、サーバーレスのカスタム コネクタを作成します。
この方法の例については、以下を参照してください。
- Azure Function を使用して、VMware Carbon Black Cloud Endpoint Standard を Microsoft Sentinel に接続する
- Azure 関数を使用して Okta シングル サインオンを Microsoft Sentinel に接続する
- Azure Functions を使用して Proofpoint TAP を Microsoft Sentinel に接続する
- Azure Functions を使用して Qualys VM を Microsoft Sentinel に接続する
- XML や CSV など各種形式のデータを取り込む
- Microsoft Sentinel を使用した Zoom の監視 (ブログ)
- Office 365 Management API のデータを取得するための関数アプリを Microsoft Sentinel にデプロイする (Microsoft Sentinel GitHub コミュニティ)
カスタム コネクタのデータを解析する
カスタム コネクタで収集されたデータを利用するには、コネクタを使用する高度なセキュリティ情報モデル (ASIM) パーサーを開発します。 ASIM を使用すると、Microsoft Sentinel の組み込みコンテンツでカスタム データを使用し、アナリストがデータを照会しやすくなります。
コネクタ メソッドで許可されている場合、解析の一部をコネクタの一部として実装し、クエリ時間の解析パフォーマンスを向上させることができます。
- Logstash を使用した場合は、Grok フィルター プラグインを使用してデータを解析します。
- Azure 関数を使用した場合は、コードを使用してデータを解析します。
ASIM パーサーを実装する必要がありますが、解析の一部をコネクタで直接実装すると、解析が簡略化され、パフォーマンスが向上します。
次のステップ
Microsoft Sentinel に取り込まれたデータを使用して、次のいずれかのプロセスで環境をセキュリティ保護します。
また、ズームを監視するカスタム コネクタを作成する例についても説明します。Microsoft Sentinel を使用したズームの監視に関するページを参照してください。