次の方法で共有


Azure Monitor エージェントを使用してテキスト ファイルからログを収集し、Microsoft Sentinel に取り込む

この記事では、AMA 経由のカスタム ログ コネクタを使用して、Windows または Linux マシンにインストールされているネットワーク アプリケーションやセキュリティ アプリケーションからテキスト ファイル形式でログをすばやくフィルター処理して取り込む方法について説明します。

多くのアプリケーションでは、Windows イベント ログや Syslog などの標準のログ記録サービスを使わずに、テキスト ファイルにデータが記録されています。 Azure Monitor エージェント (AMA) を使用すれば、Windows および Linux コンピューターから、非標準形式のテキスト ファイル内のデータを収集できます。 AMA は、収集時にデータに変換を適用して、別のフィールドに対して解析することもできます。

Microsoft Sentinel でログ収集をサポートするソリューションが利用できるアプリケーションの詳細については、「AMA 経由のカスタム ログ データ コネクタ - 特定のアプリケーションから Microsoft Sentinel へのデータ インジェストの構成」をご覧ください。

テキスト ファイルからカスタム ログを取り込む方法の詳細については、「Azure Monitor エージェントを使用してテキスト ファイルからログを収集する」をご覧ください。

重要

  • AMA 経由のカスタム ログ データ コネクタは現在、プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

  • Microsoft Sentinel は Microsoft Defender ポータルの Microsoft 統合セキュリティ オペレーション プラットフォーム内での一般提供を開始しました。 詳しくは、「Microsoft Defender ポータルの Microsoft Sentinel」を参照してください。

前提条件

開始する前に、このセクションで説明するようにリソースを構成し、適切なアクセス許可を割り当てる必要があります。

Microsoft Sentinel の前提条件

  • お使いのアプリケーションに合った Microsoft Sentinel ソリューションをインストールし、この記事の手順を完了するためのアクセス許可があることを確認します。 これらのソリューションは、Microsoft Sentinel のコンテンツ ハブで確認できます。すべてのソリューションに、AMA 経由のカスタム ログ コネクタが含まれています。

    コンテンツ ハブにソリューションが用意されているアプリケーションの一覧については、「アプリケーションごとの特定の手順」を参照してください。 お使いのアプリケーションで使用できるソリューションがない場合は、AMA 経由のカスタム ログ ソリューションをインストールします。

    詳細については、「Microsoft Sentinel のそのまま使えるコンテンツを検出して管理する」を参照してください。

  • 次の Azure ロールベースのアクセス制御 (Azure RBAC) の各ロールを持つ Azure アカウントが必要です。

    組み込みのロール Scope 理由
    - Virtual Machine Contributor
    - Azure Connected Machine
       リソース管理者
  • 仮想マシン (VM)
  • Virtual Machine Scale Sets
  • Azure Arc 対応サーバー
  • エージェントをデプロイするため
    次のアクションを含む任意のロール
    Microsoft.Resources/deployments/*
  • サブスクリプション
  • Resource group
  • 既存のデータ収集ルール
  • Azure Resource Manager テンプレートをデプロイするには
    Monitoring Contributor
  • サブスクリプション
  • Resource group
  • 既存のデータ収集ルール
  • データ収集ルールを作成または編集するには

ログ フォワーダーの前提条件

特定のカスタム アプリケーションは、閉じたアプライアンスでホストされ、ログを外部ログ コレクター/フォワーダーに送信する必要があります。 このようなシナリオでは、ログ フォワーダーに次の前提条件が適用されます。

  • ログを収集するには、指定された Linux VM (ログ フォワーダー) が必要です。

  • ログ フォワーダーが Azure 仮想マシン "でない" 場合、Azure Arc Connected Machine エージェントがインストールされている必要があります。

  • Linux ログ フォワーダー VM に Python 2.7 または 3 がインストールされている必要があります。 python --version または python3 --version コマンドを使用して確認してください。 Python 3 を使用している場合は、マシンで既定のコマンドとして設定されていることを確認するか、'python' ではなく 'python3' コマンドを使用してスクリプトを実行します。

  • ログ フォワーダーでは、syslog-ng または rsyslog デーモンのいずれかが有効になっている必要があります。

  • ログ フォワーダーの領域要件については、「Azure Monitor エージェントのパフォーマンス ベンチマーク」を参照してください。 また、スケーラブルなインジェストの設計に関する記載を含むこのブログ投稿も確認することをお勧めします。

  • ログ ソース、セキュリティ デバイス、アプライアンスは、ローカルの syslog デーモンではなく、ログ フォワーダーの syslog デーモンにログ メッセージを送信するように構成する必要があります。

マシンのセキュリティの前提条件

組織のセキュリティ ポリシーに従って、ログ フォワーダー マシンのセキュリティを構成してください。 たとえば、企業のネットワーク セキュリティ ポリシーに合わせてネットワークを構成し、デーモンのポートとプロトコルを要件に合わせて変更することができます。 マシンのセキュリティ構成を向上させるには、Azure で VM をセキュリティで保護するか、ネットワーク セキュリティに関するこれらのベスト プラクティスを確認してください。

ログ フォワーダーがクラウドにあるなどの理由で、デバイスが TLS 経由でログを送信する場合は、syslog デーモン (rsyslog または syslog-ng) がTLS で通信するように構成する必要があります。 詳細については、以下を参照してください:

データコネクターを構成する

AMA 経由のカスタム ログ データ コネクタのセットアップ プロセスには、次の手順が含まれます。

  1. Log Analytics で宛先テーブルを作成します (Defender ポータルの場合は Advanced Hunting)。

    テーブルの名前は _CL で終わる必要があり、次の 2 つのフィールドのみで構成されている必要があります。

    • TimeGenerated (DateTime型): ログ メッセージ作成時のタイムスタンプ。
    • RawData (String型): ログ メッセージ全体。
      (アプリケーションをホストしているデバイスから直接ではなく、ログ フォワーダーからログを収集する場合は、このフィールド名を RawData ではなく Message に設定します。)
  2. 次のいずれかの方法で、Azure Monitor エージェントをインストールし、データ収集ルール (DCR) を作成します。

  3. ログ フォワーダーを使用してログを収集する場合は、そのマシン上の syslog デーモンが他のソースからのメッセージをリッスンするように構成し、必要なローカル ポートを開きます。 詳細については、「ログを受け入れるようにログ フォワーダーを構成する」を参照してください。

手順に適したタブを選択します。

データ収集ルール (DCR) を作成する

まず、どちらかのAMA 経由のカスタム ログ データ コネクタを Microsoft Sentinel で開き、データ収集ルール (DCR) を作成します。

  1. Azure portal の Microsoft Sentinel の場合、[構成] の下にある [データ コネクタ] を選びます。
    Defender ポータルの Microsoft Sentinel の場合は、[Microsoft Sentinel]>[構成]>[データ コネクタ] を選びます。

  2. [検索] ボックスに custom と入力します。 結果から、AMA 経由のカスタム ログ コネクタを選択します。

  3. 詳細ウィンドウで [コネクタ ページを開く] を選択します。

    ギャラリー内のカスタム ログ AMA コネクタのスクリーンショット。

  4. [構成] 領域で、[+データ収集ルールの作成] を選びます。

    [AMA 経由のカスタム ログ] ページのスクリーンショット。

  5. [基本] タブで次の操作を行います。

    • DCR 名を入力します。
    • サブスクリプションを選択します。
    • DCR を置くリソース グループを選びます。

    [基本情報] タブの DCR の詳細を示すスクリーンショット。

  6. [次へ: リソース]> を選択します。

VM のリソースの定義

[リソース] タブで、ログを収集するマシンを選択します。 アプリケーションがインストールされているマシンか、ログ フォワーダー マシンのいずれかです。 目的のマシンが一覧に表示されない場合は、Azure Connected Machine エージェントがインストールされている Azure VM ではない可能性があります。

  1. 使用可能なフィルターまたは検索ボックスを使用して、目的のマシンを見つけます。 一覧でサブスクリプションを展開するとそのリソース グループを表示でき、リソース グループを展開するとその VM を表示できます。

  2. ログを収集するマシンを選択します。 VM 名にマウス ポインターを合わせると、その横にチェック ボックスが表示されます。

    DCR を設定するときにリソースを選択する方法を示すスクリーンショット。

    選択したマシンに Azure Monitor エージェントがまだインストールされていない場合、DCR の作成およびデプロイ時にエージェントがインストールされます。

  3. 変更内容を確認し、[Next: Collect > (次へ: 収集 >) を選択します。

アプリケーションに DCR を構成する

  1. [収集] タブで、[デバイスの種類の選択 (省略可能)] ドロップダウン ボックスからアプリケーションまたはデバイスの種類を選択します。または、アプリケーションまたはデバイスが一覧にない場合は、[新規テーブルのカスタム] のままにします。

  2. 一覧からアプリケーションまたはデバイスのいずれかを選択した場合は、[テーブル名] フィールドに適切なテーブル名が自動的に入力されます。 [新しいテーブル] を選択した場合は、[テーブル名] にテーブル名を入力します。 名前は _CL サフィックスで終わる必要があります。

  3. [ファイル パターン] フィールドに、収集するテキスト ログ ファイルのパスとファイル名を入力します。 各アプリケーションまたはデバイスの種類の既定のファイル名とパスについては、「アプリケーションの種類ごとの具体的な手順」を参照してください。 既定のファイル名やパスを使用する必要はありません。ファイル名にはワイルドカードを使用できます。

  4. 手順 1 でカスタムの新しいテーブルを選択した場合は、[変換] フィールドには、選択した変換をデータに適用する Kusto クエリを入力します。

    手順 1 の一覧にあるアプリケーションまたはデバイスのいずれかを選択した場合、このフィールドには適切な変換が自動的に設定されます。 その変換は編集しないようご注意ください。 選択した型に応じて、この値は次のいずれかになります。

    • source (既定値-変換なし)
    • source | project-rename Message=RawData (フォワーダーにログを送信するデバイスの場合)
  5. 選択内容を確認し、[次へ: 確認と作成] を選択します。

ルールを確認して作成する

すべてのタブを完了したら、入力した内容を確認し、データ収集ルールを作成します。

  1. [レビューと作成] タブで、 [作成] を選択します。

    DCR の構成をレビューして作成する方法を示すスクリーンショット。

    コネクタにより、DCR の作成時に選択したマシンに Azure Monitor エージェントがインストールされます。

  2. Azure portal または Microsoft Defender ポータルで通知を確認し、DCR が作成されてエージェントがインストールされるタイミングを確認します。

  3. コネクタ ページで [最新の情報に更新] を選択して、DCR が一覧に表示されていることを確認します。

ログ フォワーダーがログを受け入れるように構成する

ログ フォワーダーを使用してアプライアンスからログを収集する場合は、ログ フォワーダーに syslog デーモンを構成して他のマシンからのメッセージをリッスンし、必要なローカル ポートを開きます。

  1. 次のコマンド ラインをコピーします。

    sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python Forwarder_AMA_installer.py
    
  2. AMA をインストールしたばかりのログ フォワーダー マシンにサインインします。

  3. 最後の手順でコピーしたコマンドを貼り付けて、インストール スクリプトを起動します。
    スクリプトは、必要なプロトコルを使用するように rsyslog または syslog-ng デーモンを構成し、デーモンを再起動します。 このスクリプトは、UDP および TCP プロトコルの両方で受信メッセージをリッスンするために、ポート 514 を開きます。 この設定を変更するには、マシン上で実行されているデーモンの種類に応じて syslog デーモンの構成ファイルを参照してください。

    • Rsyslog: /etc/rsyslog.conf
    • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

    Python 3 を使用していて、それがマシンで既定のコマンドとして設定されていない場合は、貼り付けたコマンドで pythonpython3 に置き換えてください。 「ログ フォワーダーの前提条件」を参照してください。

    Note

    エージェントが機能できないディスクがいっぱいになるシナリオを回避するため、不要なログを格納しないように syslog-ng または rsyslog の構成を設定することをお勧めします。 ディスクがいっぱいになるシナリオでは、インストールされている AMA の機能が中断されます。 詳細については、「RSyslog」または「Syslog-ng」を参照してください。

セキュリティ デバイスまたはアプライアンスを構成する

セキュリティ アプリケーションやアプライアンス具体的な構成手順については、「AMA 経由のカスタム ログ データ コネクタ - 特定のアプリケーションから Microsoft Sentinel へのデータ インジェストを構成する」を参照してください。

アプライアンスやデバイスに関する詳しい情報、または情報を入手できない場合については、ソリューション プロバイダーにお問い合わせください。