Syslog を使用して Linux ベースのソースからデータを収集する

Note

Azure Sentinel は現在 Microsoft Sentinel と呼ばれており、今後数週間でこれらのページを更新する予定です。 最近の Microsoft のセキュリティ強化の詳細を確認してください。

Note

米国政府機関クラウドにおける機能使用可否の詳細については、「米国政府機関のお客様向けのクラウド機能の利用可能性」に記載されている Microsoft Sentinel テーブルを参照してください。

Syslog は、Linux に共通のイベント ログ プロトコルです。 Linux のデバイスやアプライアンスに組み込まれた Syslog デーモンを使用して、指定した種類のローカル イベントを収集し、それらのイベントを、Linux 用 Log Analytics エージェント (旧称 OMS エージェント) を使用して Microsoft Sentinel に送信することができます。

この記事では、Syslog を使用してデータ ソースを Microsoft Sentinel に接続する方法について説明します。 この方法でサポートされるデータ コネクタの詳細については、データ コネクタのリファレンスに関するページを参照してください。

Architecture

VM またはアプライアンスに Log Analytics エージェントがインストールされている場合は、インストール スクリプトによって、UDP ポート 25224 でエージェントにメッセージを転送するローカル Syslog デーモンが構成されます。 メッセージの受信後、メッセージはエージェントによって、HTTPS を介して Log Analytics ワークスペースに送信されます。そこで、メッセージは [Microsoft Sentinel] > [ログ] の Syslog テーブルに取り込まれます。

詳細については、「Azure Monitor の Syslog データ ソース」を参照してください。

This diagram shows the data flow from syslog sources to the Microsoft Sentinel workspace, where the Log Analytics agent is installed directly on the data source device.

Log Analytics エージェントのローカル インストールを許可しない一部の種類のデバイスについては、代わりに、Linux ベースの専用ログ フォワーダーにエージェントをインストールできます。 転送元のデバイスは、ローカル デーモンではなく、このフォワーダー上の Syslog デーモンに Syslog イベントを送信するように構成されている必要があります。 フォワーダー上の Syslog デーモンから、UDP を介して Log Analytics エージェントにイベントが送信されます。 この Linux フォワーダーで、大量の Syslog イベントを収集することが予期されている場合は、代わりに TCP を介して、Syslog デーモンからエージェントにイベントが送信されます。 いずれの場合も、エージェントは次にそこから、Microsoft Sentinel 内の Log Analytics ワークスペースにイベントを送信します。

This diagram shows the data flow from syslog sources to the Microsoft Sentinel workspace, where the Log Analytics agent is installed on a separate log-forwarding device.

注意

  • アプライアンスが Syslog を介して Common Event Format (CEF) をサポートしている場合は、より完全なデータセットが収集され、データは収集時に解析されます。 このオプションを選択し、「デバイスまたはアプライアンスの CEF 形式のログを Microsoft Sentinel に取得する」の手順に従う必要があります。

  • Log Analytics では、rsyslog または syslog-ng の各デーモンによって送信されたメッセージの収集がサポートされています。rsyslog は既定のデーモンです。 syslog イベントの収集に関して、バージョン 5 の Red Hat Enterprise Linux (RHEL)、CentOS、Oracle Linux 版の既定の syslog デーモン (sysklog) はサポートされません。 このバージョンの各種ディストリビューションから syslog データを収集するには、rsyslog デーモンをインストールし、sysklog を置き換えるように構成する必要があります。

Syslog コレクションを構成する際には以下の 3 つの手順があります。

  • Linux デバイスまたはアプライアンスを構成します。 これは、Log Analytics エージェントがインストールされるデバイスを指します。これは、イベントの発生元と同じデバイスであるか、イベントを転送するログ コレクターです。

  • エージェントにイベントを送信することになる Syslog デーモンの場所に対応するアプリケーションのログ設定を構成します。

  • Log Analytics エージェント自体を構成します。 これは Microsoft Sentinel 内から行われ、構成はインストール済みのすべてのエージェントに送信されます。

Linux マシンまたはアプライアンスを構成する

  1. Microsoft Sentinel のナビゲーション メニューから、 [データ コネクタ] を選択します。

  2. データ コネクタ ギャラリーから [Syslog] を選択してから、 [コネクタ ページを開く] を選択します。

    お使いのデバイスの種類が、Microsoft Sentinel のデータ コネクタ ギャラリーの一覧に表示される場合は、汎用 Syslog コネクタではなく、そのデバイスのコネクタを選択します。 お使いのデバイスの種類について、追加の手順や特別な手順がある場合は、ブックや分析ルール テンプレートのようなカスタム コンテンツと一緒にデバイスのコネクタ ページに表示されます。

  3. Linux エージェントをインストールします。 [Choose where to install the agent:](エージェントのインストール先を選択してください:) で、以下の操作を実行します。

    マシンの種類 Instructions
    Azure Linux VM の場合 1. [Azure Linux 仮想マシンにエージェントをインストールする] を展開します。

    2. [Azure Linux 仮想マシン用のエージェントをダウンロードしてインストールする >] リンクを選択します。

    3. [仮想マシン] ブレードで、エージェントのインストール先となる仮想マシンを選んでから、 [接続] を選択します。 接続する各 VM に対してこの手順を繰り返します。
    その他の Linux マシンの場合 1. [Azure 以外の Linux マシンにエージェントをインストールする] を展開します。

    2. [Azure 以外の Linux マシン用のエージェントをダウンロードしてインストールする >] リンクを選択します。

    3. [エージェント管理] ブレードで、 [Linux サーバー] タブを選択してから、Linux 用エージェントのダウンロードとオンボードのためのコマンドをコピーして、それを Linux マシンで実行します。

    Linux エージェントのインストール ファイルのローカル コピーを取っておく場合は、"エージェントのダウンロードとオンボード" コマンドの上にある [Linux エージェントのダウンロード] リンクを選択します。

    Note

    組織のセキュリティ ポリシーに従って、これらのデバイスのセキュリティ設定を構成してください。 たとえば、組織のネットワーク セキュリティ ポリシーに合わせてネットワーク設定を構成し、デーモンのポートとプロトコルをセキュリティ要件に合わせて変更できます。

同じマシンを使用してプレーンな Syslog CEF メッセージの両方を転送する

既存の CEF ログ フォワーダー マシンを使用して、プレーンな Syslog ソースからもログを収集して転送できます。 ただし、両方の形式のイベントを Microsoft Sentinel に送信すると、イベントが重複することになるため、これを避けるには次の手順を行う必要があります。

CEF ソースからのデータ収集を既に設定していて、Log Analytics エージェントを構成済みの場合:

  1. CEF 形式でログを送信する各マシンで Syslog 構成ファイルを編集して、CEF メッセージの送信に使用されているファシリティを削除する必要があります。 これで、CEF で送信されるファシリティは、Syslog で送信されません。 この方法の詳細については、「Linux エージェントでの Syslog の構成」を参照してください。

  2. これらのマシンで次のコマンドを実行して、エージェントと Microsoft Sentinel の Syslog 構成との同期を無効にする必要があります。 これで、前の手順で構成に加えた変更が上書きされなくなります。

    sudo -u omsagent python /opt/microsoft/omsconfig/Scripts/OMS_MetaConfigHelper.py --disable
    

デバイスのログ設定を構成する

多くのデバイスの種類には、データ コネクタ ギャラリーに表示される独自のデータ コネクタが用意されています。 これらのコネクタの中には、Microsoft Sentinel でログ収集を適切に設定するために、特別な追加の手順が必要なものがあります。 これらの手順に、Kusto 関数に基づくパーサーの実装が含まれる場合があります。

ギャラリーの一覧に示されるすべてのコネクタについて、ポータルのそれぞれのコネクタ ページや、Microsoft Sentinel データ コネクタのリファレンス ページのそれらのセクションに、具体的な手順が表示されます。

Microsoft Sentinel のデータ コネクタのページにある手順で、Kusto の機能が高度なセキュリティ情報モデル (ASIM) パーサーとしてデプロイされる旨が示されている場合は、ASIM パーサーがワークスペースにデプロイされていることを確認してください。

データ コネクタ ページのリンクを使用してパーサーをデプロイするか、または Microsoft Sentinel GitHub リポジトリに関するページの手順に従ってください。

詳細については、高度なセキュリティ情報モデル (ASIM) のパーサーに関するページを参照してください。

Log Analytics エージェントの構成

  1. [Syslog コネクタ] ブレードの下部で、[ワークスペースのエージェント構成を開く >] リンクを選択します。

  2. [エージェント構成] ブレードで、 [Syslog] タブを選択します。次に、収集するコネクタのファシリティを追加します。 [Add facility](ファシリティの追加) を選択し、ファシリティのドロップダウン リストから選択します。

    • Syslog アプライアンスがそのログ ヘッダーに含めるファシリティを追加します。

    • 収集するデータで異常な SSH ログイン検出を使用する場合は、 [auth][authpriv] を追加します。 追加情報については、次のセクションを参照してください。

  3. 監視しようとしているすべてのファシリティを追加したら、収集しない重大度のチェック ボックスをオフにします。 既定では、これらのすべてにチェックマークが付いています。

  4. [適用] を選択します。

  5. 仮想マシンまたはアプライアンスで、指定したファシリティが送信されていることを確認します。

データの検索

  1. [ログ] で syslog ログ データを照会するには、クエリ ウィンドウで「Syslog」と入力します。

    (Syslog のメカニズムを使用する一部のコネクタで、Syslog 以外のテーブルにデータが格納される場合があります。Microsoft Sentinel データ コネクタのリファレンス ページのコネクタに関するセクションを参照 してください。)

  2. Azure Monitor ログ クエリでの関数の使用」で説明されているクエリ パラメーターを使用して、Syslog メッセージを解析できます。 その後、新しい Log Analytics 関数としてクエリを保存し、新しいデータ型として使用できます。

異常な SSH ログイン検出用に Syslog コネクタを構成する

重要

異常な SSH ログイン検出は、現在、プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

Microsoft Sentinel は Syslog データに機械学習 (ML) を適用して、異常な Secure Shell (SSH) ログイン アクティビティを識別できます。 シナリオには以下が含まれます。

  • あり得ない移動 - 2 つの成功したログイン イベントが、この 2 つのログイン イベントの期間内に到達できない 2 つの場所で発生した場合。

  • 予期しない場所 - 成功したログイン イベントの発生した場所が疑わしい場合。 たとえば、最近検出されることのなかった場所などです。

この検出には、Syslog データ コネクタの特定の構成が必要です。

  1. 上の手順 2 の [Log Analytics エージェントの構成] で、authauthpriv の両方が監視対象のファシリティとして選択されていること、すべての重大度が選択されていることを確認します。

  2. Syslog 情報が収集されるまで、十分な時間をかけます。 その後、 [Microsoft Sentinel] - [ログ] に移動して、次のクエリをコピーして貼り付けます。

    Syslog
    | where Facility in ("authpriv","auth")
    | extend c = extract( "Accepted\\s(publickey|password|keyboard-interactive/pam)\\sfor ([^\\s]+)",1,SyslogMessage)
    | where isnotempty(c)
    | count 
    

    必要に応じて [Time range](時間の範囲) を変更し、 [実行] を選択します。

    結果の数が 0 の場合は、コネクタの構成を確認し、クエリに指定した期間内に監視対象のコンピュータで成功したログイン アクティビティがあったことを確認します。

    結果の数が 0 より大きい場合、Syslog データは、異常な SSH ログインの検出用に適しています。 この検出は、 [分析]>[Rule templates](ルール テンプレート)>[(Preview) Anomalous SSH Login Detection]((プレビュー) 異常な SSH ログインの検出) で有効にします。

次のステップ

このドキュメントでは、Syslog オンプレミス アプライアンスを Microsoft Sentinel に接続する方法について説明しました。 Microsoft Sentinel の詳細については、次の記事を参照してください。