ログ フォワーダーをデプロイして Syslog および CEF ログを Microsoft Sentinel に取り込む

注意

この記事では、間もなくサポート終了 (EOL) 状態になる Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。

Syslog と CEF ログを Microsoft Sentinel に取り込むには (特に Log Analytics エージェントを直接インストールできないデバイスとアプライアンスから)、デバイスからログを収集して Microsoft Sentinel ワークスペースに転送する Linux マシンを指定して構成する必要があります。 このマシンは、オンプレミス環境の物理マシンや仮想マシン、Azure VM のほか、別のクラウドの VM でもかまいません。

このマシンには、このプロセスの要素である 2 つのコンポーネントがあります。

  • syslog デーモン (rsyslog または syslog-ng)。ログを収集します。
  • Log Analytics エージェント (別名 OMS エージェント)。ログを Microsoft Sentinel に転送します。

以下に用意されているリンクを使用し、指定したマシンで、次のタスクを実行するスクリプトを実行します。

  • Linux 用 Log Analytics エージェント ("OMS エージェント" ともいいます) をインストールし、次の用途に構成します。

    • 組み込みの Linux Syslog デーモンからの CEF メッセージを TCP ポート 25226 でリッスンする
    • メッセージの解析とエンリッチが行われる Microsoft Sentinel ワークスペースに対し、TLS で安全にメッセージを送信する
  • 組み込みの Linux Syslog デーモン (rsyslog.d/syslog-ng) を次の用途に構成します。

    • セキュリティ ソリューションからの Syslog メッセージを TCP ポート 514 でリッスンする
    • CEF として識別したメッセージだけを localhost の Log Analytics エージェントに TCP ポート 25226 を使用して転送する

重要

Log Analytics エージェントは、2024 年 8 月 31 日に廃止される予定です。 Microsoft Sentinel のデプロイで Log Analytics エージェントを使用している場合は、AMA への移行の計画を開始することをお勧めします。 詳細については、「 Microsoft Sentinel の AMA 移行」を参照してください。

Azure Monitor エージェントを使用して Syslog または CEF ログをデプロイする方法については、「CEF および Syslog 形式のログを Microsoft Sentinel にストリーミングするためのオプション」を確認してください。

前提条件

各データ コネクタには、独自の前提条件のセットがあります。 前提条件には、Azure ワークスペース、サブスクリプション、またはポリシーに対する特定のアクセス許可が必要であることが含まれる場合があります。 または、接続先のパートナー データ ソースの他の要件を満たす必要があります。

各データ コネクタの前提条件は、Microsoft Sentinel の関連データ コネクタ ページに掲載されています。

Microsoft Sentinel の Content Hub から製品ソリューションをインストールします。 製品が一覧にない場合は、Common Event Format のソリューションをインストールします。 詳細については、「Microsoft Sentinel のそのまま使えるコンテンツを検出して管理する」を参照してください。

重要

オペレーティング システムのバージョンのサポート日とライフサイクルは異なる場合があります。 最も正確な最新のサポートと終了日については、各ディストリビューションの公式ドキュメントをチェックすることをお勧めします。

使用するマシンは次の要件を満たしている必要があります。

  • ハードウェア (物理/仮想)

    • Linux マシンには、少なくとも 4 つの CPU コアと 8 GB の RAM が必要です。

      注意

      • 上記のハードウェア構成を持ち rsyslog デーモンを使用している 1 つのログ フォワーダー マシンには、収集される最大 8500 EPS (1 秒あたりのイベント数) のサポートされる容量があります。
  • オペレーティング システム

    • CentOS 7 と 8 (6 は不可)、マイナー バージョンを含む (64 ビット/32 ビット)
    • Amazon Linux 2 (64 ビットのみ)
    • Oracle Linux 7、8 (64 ビット/32 ビット)
    • Red Hat Enterprise Linux (RHEL) Server 7 と 8 (6 は不可)、マイナー バージョンを含む (64 ビット/32 ビット)
    • Debian GNU と Linux 8 と 9 (64 ビット/32 ビット)
    • Ubuntu Linux 20.04 LTS (64 ビットのみ)
    • SUSE Linux Enterprise Server 12、15 (64 ビットのみ)
  • デーモンのバージョン

    • Rsyslog: v8
    • Syslog-ng:2.1 - 3.22.1
  • パッケージ

    • Linux マシンに Python 2.7 または 3 がインストールされている必要があります。
      python --version または python3 --version コマンドを使用して確認してください。
    • GNU Wget パッケージが必要です。
  • Syslog RFC サポート

    • Syslog RFC 3164
    • Syslog RFC 5424
  • 構成

    • 指定した Linux マシンに対する昇格されたアクセス許可 (sudo) が必要です。
    • Log Analytics エージェントをインストールする前に Linux マシンを Azure ワークスペースに接続することは避けてください。
  • データ

    • 場合によっては、プロセスの間に Microsoft Sentinel ワークスペースのワークスペース IDワークスペースの主キーが必要になります。 これらは、ワークスペース設定の [エージェント管理] で確認できます。

セキュリティに関する考慮事項

組織のセキュリティ ポリシーに従って、コンピューターのセキュリティを構成してください。 たとえば、企業のネットワーク セキュリティ ポリシーに合わせてネットワークを構成し、デーモンのポートとプロトコルを要件に合わせて変更することができます。 Azure で VM をセキュリティ保護する方法に関するページとネットワーク セキュリティのベスト プラクティスに関するページの手順を行うと、マシンのセキュリティ構成を改善できます。

デバイスが TLS 経由で Syslog および CEF ログを送信している場合 (ログ フォワーダーがクラウド内にある場合など) は、TLS で通信するように Syslog デーモン (rsyslog または syslog-ng) を構成する必要があります。 詳しくは、次のドキュメントをご覧ください。

展開スクリプトを実行する

  1. Microsoft Sentinel で、[データ コネクタ] を選択します。

  2. コネクタ ギャラリーからご使用の製品のコネクタを選択します。 製品が一覧にない場合は、[Common Event Format (CEF)] を選択します。

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

  4. コネクタ ページの、 [1.2 Linux マシンへの CEF コレクターのインストール] の手順の中で、 [Run the following script to install and apply the CEF collector](CEF コレクターをインストールして適用するには、次のスクリプトを実行します) の下にあるリンクをコピーします。
    そのページにアクセスできない場合は、次のテキストからリンクをコピーします (プレースホルダーを置き換えるように、上記からワークスペース ID主キーをコピーして貼り付けます)。

    sudo wget -O cef_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/CEF/cef_installer.py&&sudo python cef_installer.py [WorkspaceID] [Workspace Primary Key]
    
  5. ログ フォワーダーのコマンド ラインにリンクまたはテキストを貼り付け、実行します。

  6. スクリプトの実行中に、エラーまたは警告メッセージが表示されないことを確認してください。

    • [コンピューター] フィールドのマッピングに関する問題を修正するためのコマンドを実行するよう指示するメッセージが表示される場合があります。 詳細については、デプロイ スクリプトの説明を参照してください。
  7. CEF メッセージを送信するようにデバイスを構成します

    注意

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

    このログ フォワーダー マシンを使用して Syslog メッセージと CEF を転送する予定であれば、Syslog および CommonSecurityLog テーブルへのイベントの重複を回避するために、以下を実行します。

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

    2. これらのマシンで次のコマンドを実行して、エージェントと Microsoft Sentinel の Syslog 構成との同期を無効にする必要があります。 これで、前の手順で構成に加えた変更が上書きされなくなります。
      sudo su omsagent -c 'python /opt/microsoft/omsconfig/Scripts/OMS_MetaConfigHelper.py --disable'

デプロイ スクリプトの説明

次に、デプロイ スクリプトによって実行されるアクションをコマンドごとに説明します。

syslog デーモンを選択して、適切な説明を表示してください。

  1. Log Analytics エージェントをダウンロードしてインストールする

    • Log Analytics (OMS) Linux エージェントのインストール スクリプトをダウンロードします。

      wget -O onboard_agent.sh https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/
          master/installer/scripts/onboard_agent.sh
      
    • Log Analytics エージェントをインストールします。

      sh onboard_agent.sh -w [workspaceID] -s [Primary Key] -d opinsights.azure.com
      
  2. ポート 25226 でリッスンして、CEF メッセージを Microsoft Sentinel に転送するよう、Log Analytics エージェントの構成を設定する

    • Log Analytics エージェントの GitHub リポジトリから構成をダウンロードします。

      wget -O /etc/opt/microsoft/omsagent/[workspaceID]/conf/omsagent.d/security_events.conf
          https://raw.githubusercontent.com/microsoft/OMS-Agent-for-Linux/master/installer/conf/
          omsagent.d/security_events.conf
      
  3. Syslog デーモンを構成する

    • syslog 構成ファイル /etc/rsyslog.conf を使用して TCP 通信用のポート 514 を開きます。

    • 特殊な構成ファイル security-config-omsagent.conf を syslog デーモン ディレクトリ /etc/rsyslog.d/ に挿入して、CEF メッセージを TCP ポート 25226 で Log Analytics エージェントに転送するようにデーモンを構成します。

      security-config-omsagent.conf ファイルの内容は次のとおりです。

      if $rawmsg contains "CEF:" or $rawmsg contains "ASA-" then @@127.0.0.1:25226 
      
  4. Syslog デーモンと Log Analytics エージェントを再起動する

    • rsyslog デーモンを再起動します。

      service rsyslog restart
      
    • Log Analytics エージェントを再起動します。

      /opt/microsoft/omsagent/bin/service_control restart [workspaceID]
      
  5. Computer フィールドのマッピングが想定どおりになっていることを確認する

    • 次のコマンドを使用して、Syslog ソースの [コンピューター] フィールドが、Log Analytics エージェントで正しくマップされていることを確認します。

      grep -i "'Host' => record\['host'\]"  /opt/microsoft/omsagent/plugin/filter_syslog_security.rb
      
    • マッピングに問題がある場合は、次のコマンドを手動で実行するよう指示するエラー メッセージが表示されます (プレースホルダーをワークスペース ID に置き換えます)。 このコマンドによって、正しいマッピングが確認され、エージェントが再起動されます。

      sudo sed -i -e "/'Severity' => tags\[tags.size - 1\]/ a \ \t 'Host' => record['host']" -e "s/'Severity' => tags\[tags.size - 1\]/&,/" /opt/microsoft/omsagent/plugin/filter_syslog_security.rb && sudo /opt/microsoft/omsagent/bin/service_control restart [workspaceID]
      

次のステップ

このドキュメントでは、Log Analytics エージェントをデプロイして、CEF アプライアンスを Microsoft Sentinel に接続する方法について説明しました。 Microsoft Sentinel の詳細については、次の記事を参照してください。