この記事では、 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 XDR または E5 ライセンスを持たないお客様を含め、Microsoft Defender ポータルで一般提供されています。 詳細については、 Microsoft Defender ポータルの Microsoft Sentinel を参照してください。
前提条件
開始する前に、このセクションで説明するようにリソースを構成し、適切なアクセス許可を割り当てる必要があります。
Microsoft Sentinel の前提条件
お使いのアプリケーションに合った Microsoft Sentinel ソリューションをインストールし、この記事の手順を完了するためのアクセス許可があることを確認します。 これらのソリューションは Microsoft Sentinel の コンテンツ ハブ で見つけることができ、すべて AMA コネクタ経由のカスタム ログ が含まれています。
コンテンツ ハブにソリューションがあるアプリケーションの一覧については、 アプリケーションごとの具体的な手順を参照してください。 アプリケーションで使用できるソリューションがない場合は、 AMA ソリューションを使用してカスタム ログを インストールします。
詳細については、「Microsoft Sentinel のすぐに使えるコンテンツの検出と管理」を参照してください。
次の Azure ロールベースのアクセス制御 (Azure RBAC) の各ロールを持つ Azure アカウントが必要です。
組み込みのロール 範囲 理由 - 仮想マシン共同作成者
- Azure 接続済みマシン
リソース管理者- 仮想マシン (VM)
- 仮想マシン スケールセット
- Azure Arc 対応サーバー
エージェントをデプロイするため 次のアクションを含む任意のロール
Microsoft.Resources/deployments/*- サブスクリプション
- リソースグループ
- 既存のデータ収集ルール
Azure Resource Manager テンプレートをデプロイするには モニタリング協力者 - サブスクリプション
- リソースグループ
- 既存のデータ収集ルール
データ収集ルールを作成または編集するには
ログ フォワーダーの前提条件
特定のカスタム アプリケーションは、閉じたアプライアンスでホストされ、ログを外部ログ コレクター/フォワーダーに送信する必要があります。 このようなシナリオでは、ログ フォワーダーに次の前提条件が適用されます。
ログを収集するには、指定された 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 経由のカスタム ログ データ コネクタのセットアップ プロセスには、次の手順が含まれます。
Log Analytics で宛先テーブルを作成します (Defender ポータルの場合は Advanced Hunting)。
テーブルの名前は
_CL
で終わる必要があり、次の 2 つのフィールドのみで構成されている必要があります。- TimeGenerated ( DateTime 型): ログ メッセージの作成のタイムスタンプ。
-
RawData ( String 型): ログ メッセージ全体。
(アプリケーションをホストしているデバイスから直接ではなく、ログ フォワーダーからログを収集する場合は、RawData ではなく、このフィールド に Message という名前を 付けます)。
次のいずれかの方法で、Azure Monitor エージェントをインストールし、データ収集ルール (DCR) を作成します。
ログ フォワーダーを使用してログを収集する場合は、そのマシン上の syslog デーモンが他のソースからのメッセージをリッスンするように構成し、必要なローカル ポートを開きます。 詳細については、 ログを受け入れるようにログ フォワーダーを構成するを参照してください。
手順に適したタブを選択します。
データ収集ルール (DCR) を作成する
開始するには、Microsoft Sentinel で AMA データ コネクタ経由でカスタム ログ を開き、データ収集規則 (DCR) を作成します。
Azure portal の Microsoft Sentinel の場合、[構成] で [データ コネクタ] を選択します。
Defender ポータルの Microsoft Sentinel の場合は、Microsoft Sentinel>Configuration>Data コネクタを選択します。カスタムと検索ボックスに入力します。 結果から、 AMA コネクタを使用してカスタム ログを 選択します。
詳細ウィンドウで [ コネクタを開く] ページ を選択します。
[ 構成 ] 領域で、[ +データ収集ルールの作成] を選択します。
[ 基本 ] タブで、次の手順を実行します。
- DCR 名を入力します。
- サブスクリプションを選択します。
- DCR を置くリソース グループを選びます。
[次へ: リソース >] を選択します。
VM のリソースの定義
[ リソース ] タブで、ログを収集するマシンを選択します。 アプリケーションがインストールされているマシンか、ログ フォワーダー マシンのいずれかです。 目的のマシンが一覧に表示されない場合は、Azure Connected Machine エージェントがインストールされている Azure VM ではない可能性があります。
使用可能なフィルターまたは検索ボックスを使用して、目的のマシンを見つけます。 一覧でサブスクリプションを展開するとそのリソース グループを表示でき、リソース グループを展開するとその VM を表示できます。
ログを収集するマシンを選択します。 VM 名にマウス ポインターを合わせると、その横にチェック ボックスが表示されます。
選択したマシンに Azure Monitor エージェントがまだインストールされていない場合、DCR の作成およびデプロイ時にエージェントがインストールされます。
変更を確認し、[次へ: >の収集] を選択します。
アプリケーションに DCR を構成する
[ 収集 ] タブで、[ デバイスの種類の選択 (省略可能)] ドロップダウン ボックスからアプリケーションまたはデバイスの種類を選択するか、アプリケーションまたはデバイスが一覧にない場合はカスタム の新しいテーブル のままにします。
一覧表示されているアプリケーションまたはデバイスのいずれかを選択した場合は、[ テーブル名 ] フィールドに適切なテーブル名が自動的に入力されます。 [カスタムの新しいテーブル] を選択した場合は、[テーブル名] にテーブル名を入力します。 名前は
_CL
サフィックスで終わる必要があります。[ ファイル パターン ] フィールドに、収集するテキスト ログ ファイルのパスとファイル名を入力します。 各アプリケーションまたはデバイスの種類の既定のファイル名とパスについては、アプリケーションの 種類ごとの具体的な手順を参照してください。 既定のファイル名やパスを使用する必要はありません。ファイル名にはワイルドカードを使用できます。
[ 変換 ] フィールドで、手順 1 でカスタムの新しいテーブルを選択した場合は、任意の変換をデータに適用する Kusto クエリを入力します。
手順 1 の一覧にあるアプリケーションまたはデバイスのいずれかを選択した場合、このフィールドには適切な変換が自動的に設定されます。 その変換は編集しないようご注意ください。 選択した型に応じて、この値は次のいずれかになります。
-
source
(既定値-変換なし) -
source | project-rename Message=RawData
(フォワーダーにログを送信するデバイスの場合)
-
選択内容を確認し、[ 次へ: 確認と作成] を選択します。
ルールを確認して作成する
すべてのタブを完了したら、入力した内容を確認し、データ収集ルールを作成します。
[ 確認と作成 ] タブで、[ 作成] を選択します。
コネクタにより、DCR の作成時に選択したマシンに Azure Monitor エージェントがインストールされます。
Azure portal または Microsoft Defender ポータルで通知を確認し、DCR が作成されてエージェントがインストールされるタイミングを確認します。
コネクタ ページで [最新の情報に更新 ] を選択すると、DCR が一覧に表示されます。
ログ フォワーダーがログを受け入れるように構成する
ログ フォワーダーを使用してアプライアンスからログを収集する場合は、ログ フォワーダーに syslog デーモンを構成して他のマシンからのメッセージをリッスンし、必要なローカル ポートを開きます。
次のコマンド ラインをコピーします。
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
AMA をインストールしたばかりのログ フォワーダー マシンにサインインします。
最後の手順でコピーしたコマンドを貼り付けて、インストール スクリプトを起動します。
スクリプトは、必要なプロトコルを使用するようにrsyslog
またはsyslog-ng
デーモンを構成し、デーモンを再起動します。 このスクリプトは、UDP および TCP プロトコルの両方で受信メッセージをリッスンするために、ポート 514 を開きます。 この設定を変更するには、マシン上で実行されているデーモンの種類に応じて syslog デーモンの構成ファイルを参照してください。- Rsyslog:
/etc/rsyslog.conf
- Syslog-ng:
/etc/syslog-ng/syslog-ng.conf
Python 3 を使用していて、それがマシンで既定のコマンドとして設定されていない場合は、貼り付けたコマンドで
python3
をpython
に置き換えてください。 ログ フォワーダーの前提条件を参照してください。注
エージェントが機能できない 完全なディスクのシナリオ を回避するには、不要なログを格納しないように
syslog-ng
またはrsyslog
構成を設定することをお勧めします。 ディスクがいっぱいになるシナリオでは、インストールされている AMA の機能が中断されます。 詳細については、 RSyslog または Syslog-ng を参照してください。- Rsyslog:
セキュリティ デバイスまたはアプライアンスを構成する
セキュリティ アプリケーションまたはアプライアンスを構成する具体的な手順については、「AMA データ コネクタを使用したカスタム ログ - 特定のアプリケーションからの Microsoft Sentinel へのデータ インジェストの構成」を参照してください。
アプライアンスやデバイスに関する詳しい情報、または情報を入手できない場合については、ソリューション プロバイダーにお問い合わせください。