LinuxでMicrosoft Defender for Endpointのオフライン セキュリティ インテリジェンス更新プログラムを構成する

オフラインのセキュリティインテリジェンスアップデートにより、インターネット接続が制限されているか全くないLinuxデバイス上のMicrosoft Defender for Endpointは最新の状態に保たれます。 この記事では、ミラーサーバーを設定してMicrosoftからアップデートをダウンロードし、Linuxエンドポイントでアップデートを取り出すように設定し、デプロイメントを検証します。 始める前に、環境がその 前提条件を満たしているか確認してください。

オフライン セキュリティ インテリジェンス更新プログラムのしくみ

オフラインのセキュリティインテリジェンス更新は、ミラーサーバーと呼ばれるローカルホスティングサーバーを用いて、Microsoftからセキュリティインテリジェンスの更新をダウンロードします。 Linuxデバイスは設定された間隔でミラーサーバーから更新を取得します。

オフラインの更新プロセスは以下の通りです:

  • ローカルのウェブまたはネットワークファイルシステム(NFS)サーバーを構築し、Microsoftに接続してアップデートをダウンロードします。
  • クロンジョブやスケジュールタスクを使ってミラーサーバー上でダウンローダースクリプトを実行します。
  • Defender for Endpointを実行しているLinuxエンドポイントは、設定された間隔でミラーサーバーからダウンロードされたアップデートを取得します。
  • Defender for Endpointは、アンチウイルスエンジンに読み込む前にダウンロードしたアップデートを検証します。
  • Linuxエンドポイントのアップデートプロセスは、エンドポイントのセキュリティポリシーや管理されたJSONファイルを使って設定します。
  • 更新状況は mdatp コマンドラインツールで確認できます。

ミラーサーバーがオフラインのセキュリティインテリジェンスアップデートをダウンロード・ホストしている様子を示す図。

図 1. ミラーサーバーはオフラインのセキュリティインテリジェンスアップデートをダウンロードしホストします。

Linuxエンドポイントがミラーサーバーからオフラインのセキュリティインテリジェンスアップデートを取得する様子を示す図。

図 2. Linuxエンドポイントはミラーサーバーからオフラインのセキュリティインテリジェンス更新を取得します。

ミラー サーバーは、次のいずれかのオペレーティング システムを実行できます。

  • Linux
  • Windows
  • macOS

オフライン セキュリティ インテリジェンス更新プログラムを使用する利点

主な利点を以下に示します。

  • ミラーサーバーがどれくらいの頻度でアップデートをダウンロードし、エンドポイントがどれくらいの頻度でそれを取得するかを制御します。
  • テストデバイスでダウンロードしたアップデートをテストしてから、組織全体に配布してください。
  • Microsoftからアップデートをダウンロードするのはミラーサーバーだけなので、ネットワーク帯域幅を削減しましょう。
  • Windows、macOS、Linuxのミラーサーバーを使い、Defender for Endpointをインストールしずに使ってください。
  • 最新の対応アンチウイルスエンジンでセキュリティインテリジェンスのアップデートをダウンロードしてください。
  • 前回のアップデートはバックアップフォルダに保管してください。 最新のアップデートに問題があれば、前のバージョンを配布することもできます。
  • ミラーサーバーからのアップデートが失敗した場合、Microsoftからアップデートを取得するようにエンドポイントを設定しましょう。

前提条件

  • LinuxエンドポイントにはEndpointバージョン101.24022.0001(2024年3月)以降のDefenderをインストールしてください。

  • Linuxエンドポイントがミラーサーバーに接続できるか確認してください。

  • 対応しているLinuxディストリビューションを使いましょう。

  • ミラーサーバーをHTTPまたはHTTPSサーバー、NFSサーバー、または他のネットワーク共有として設定します。

  • ミラーサーバーが以下のURLにアクセスできることを確認してください:

    • https://github.com/microsoft/mdatp-xplat.git
    • https://go.microsoft.com/fwlink/?linkid=2144709
    • https://definitionupdates.microsoft.com

    オフラインの更新ダウンロードダーは go.microsoft.com リンクを要求し、そのリダイレクトに従って definitionupdates.microsoft.com に誘導してマニフェストと更新パッケージを取得します。 ミラーサーバーのファイアウォールやプロキシを設定し、両方のエンドポイントへのアウトバウンドHTTPSアクセスを許可します。

  • ミラーサーバーにBashかPowerShellをインストールしてください。 Bashのダウンロードツールスクリプトも curl と jqが必要です。

  • ミラー サーバーには、次の最小システム仕様が必要です。

    CPU コア数 RAM 空きディスク スワップ
    2コア(4コア推奨) 最低1 GB(望ましい4 GB) 2 GB システム依存

    注:

    この構成は、提供される要求の数と、各サーバーが処理する必要がある負荷によって異なる場合があります。

ミラー サーバーを構成する

注:

  • あなたの組織は、ミラーサーバーをプライベート環境で管理・所有しています。
  • ミラーサーバーにDefender for Endpointをインストールする必要はありません。

オフライン セキュリティ インテリジェンス ダウンローダー スクリプトを取得する

Microsoftは、microsoft/mdatp-xplat GitHub リポジトリでオフライン セキュリティ インテリジェンス ダウンローダー スクリプトをホストします。

以下のいずれかのオプションを使ってダウンローダースクリプトを取得してください。

オプション1:リポジトリのクローン(推奨)

リポジトリをクローンするには、以下の手順に従ってください:

  1. ミラーサーバーにGitをインストールしてください。

  2. リポジトリを複製するディレクトリに移動します。

  3. リポジトリをクローンするには git clone https://github.com/microsoft/mdatp-xplat.gitを実行してください。

オプション 2: zip 形式のファイルをダウンロードする

リポジトリを複製する代わりに zip パッケージを使用するには、次の手順に従います。

  1. zip 形式のファイルをダウンロードします。

  2. ダウンロードしたファイルを、スクリプトを保持するフォルダーにコピーします。

  3. zip 形式のフォルダーを抽出します。

  4. スケジュールされたタスクや クローンジョブ を使って、定期的に最新バージョンをダウンロードして抽出してください。

リポジトリを複製した後、または zip ファイルをダウンロードした後のローカル ディレクトリ構造

次のディレクトリ 一覧の例を使用して、ローカル コピーに想定される linux/definition_downloader 構造とスクリプトが含まれていることを確認します。

user@vm:~/mdatp-xplat$ tree linux/definition_downloader/
linux/definition_downloader/
├── README.md
├── settings.json
├── settings.ps1
├── xplat_offline_updates_download.ps1
└── xplat_offline_updates_download.sh

0 directories, 5 files

注:

オフラインアップデートダウンローダースクリプトの使い方については、 README.md ファイルをよく確認してください。

settings.jsonでダウンローダースクリプトを制御するために以下のフィールドを設定してください:

フィールド名 値 説明
downloadFolder 文字列 スクリプトがファイルをダウンロードするフォルダを指定します。
downloadLinuxUpdates bool trueに設定すると、Linux の更新プログラムがdownloadFolderにダウンロードされます。
logFilePath 文字列 診断ログファイルを指定します。 スクリプトのトラブルシューティング時にこのファイルをMicrosoft サポートに共有できます。
downloadMacUpdates bool trueに設定すると、macOS のアップデートがdownloadFolderにダウンロードされます。
downloadPreviewUpdates bool trueに設定すると、選択したOSのプレビューアップデートをダウンロードします。
backupPreviousUpdates bool trueに設定すると、前のアップデートを_backフォルダにコピーしてから新しいアップデートをダウンロードします。

オフライン セキュリティ インテリジェンス ダウンローダー スクリプトを実行する

最新のアップデートを手動でダウンロードするには、 settings.jsonを設定し、ミラーサーバーのシェルコマンドを使います:

  • Bash: 構成済みのダウンロード フォルダーに最新のオフライン定義更新プログラムを取得するには、次のコマンドを実行します。

    ./xplat_offline_updates_download.sh
    
  • PowerShell:ミラーサーバー上でPowerShellのdownloaderスクリプトを実行してください:

    ./xplat_offline_updates_download.ps1
    

注:

スクリプトを定期的に実行させる cronジョブ やスケジュールタスクを設定し、ミラーサーバーに最新のセキュリティインテリジェンスアップデートを届けましょう。

ミラー サーバーでオフライン セキュリティ インテリジェンス更新プログラムをホストする

スクリプトが実行されると、 updates.zip や manifest.json がオペレーティングシステム、リリースリング、アーキテクチャごとに整理されたフォルダにダウンロードされます。 例えば、x86_64デバイスのLinux本格アップデートは、設定されたダウンロードフォルダの linux/production/arch_x86_64 の下に保存されています。

設定済みのダウンロードフォルダをHTTPまたはHTTPSサーバー、ネットワーク共有、またはLinuxエンドポイントがアクセスできるローカルまたはリモートマウントポイントにホストします。

URLまたは絶対ディレクトリパスはリリースリングフォルダにコピーしますが、 arch_* ディレクトリは含めないでください。

注:

例えば、ダウンロードツールが downloadFolder=/tmp/wdav-update を使い、 updates.contoso.com:8000 ホストのHTTPサーバーが /tmp/wdav-updateした場合、 http://updates.contoso.com:8000/linux/production/を使います。 この場所に arch_* ディレクトリが含まれているか確認してください。

ローカルやリモートのマウントポイントの絶対パスを使うこともできます。 例えば、スクリプトがファイルを /tmp/wdav-updateにダウンロードする場合は /tmp/wdav-update/linux/productionを使いましょう。

ミラーサーバーの設定後、そのURLやLinuxエンドポイントへのパスを offlineDefinitionUpdateUrl 値として展開してください。 「エンドポイントの構成」から方法のいずれかを選択します。

Microsoft Intuneでエンドポイントを構成

Microsoft Intuneは、エンドポイント機能のDefenderを構成してデバイスに配布するための推奨ツールです。 ただし、Intune はエンドポイントのDefenderの一部ではない別個の製品であり、すべてのサブスクリプションに含まれているわけではありません。 Intune を使用するには、Intune を含むサブスクリプションが必要です。または、スタンドアロン サブスクリプションまたはアドオンとして個別に購入することもできます。 Intune をお持ちでない場合は、この記事の他の方法のいずれかを使用できます。 詳細については、「Microsoft Intune のライセンス」を参照してください。

Intuneでオフラインのセキュリティインテリジェンスアップデートを設定するには、エンドポイントセキュリティの アンチウイルス ポリシーを使用します。 詳細な手順については、「 エンドポイントセキュリティポリシーの作成 」または「 既存ポリシーの変更 」(リンクはIntuneドキュメント内の新しいタブを開くリンク)をご覧ください。

ポリシーを作成する際は、以下の具体的な設定をご利用ください:

ポリシーを作成または修正する際は、 設定 タブで以下の設定を設定してください:

  • クラウド提供の保護設定 セクション:

    • 自動セキュリティインテリジェンスの更新:この設定が 有効に設定されていることを確認してください。
    • セキュリティインテリジェンスの更新時間間隔:デフォルトでLinuxエンドポイントはミラーサーバーから8時間(28800 秒)ごとにセキュリティインテリジェンスの更新を取り込みます。 別の間隔を使うには、トグルを「設定済み」にスライドさせ、秒単位でその間隔を入力してください。
  • アンチウイルスエンジン のセクション:

    • オフラインセキュリティインテリジェンスアップデートを有効にする:他のオフラインアップデート設定を利用可能にするには 「有効化 」を選択してください:
      • オフラインのセキュリティインテリジェンスアップデートをクラウドにフォールバック:この値をTrueに設定すると、ミラーサーバーから得られない場合、エンドポイントがMicrosoftクラウドからセキュリティインテリジェンスアップデートを受け取ろうと試みます。
      • オフラインセキュリティインテリジェンスの更新URLまたはディレクトリ:トグルをConfiguredにスライドさせ、ミラーサーバーのURLまたはディレクトリパスを入力します。 HTTPまたはHTTPSサーバーの場合は、フォーマット http://<mirror_server_address>/linux/production/を使用します。 ネットワーク共有やローカル・リモートマウントポイントを指定することもできます。 詳細については、「 ミラーサーバー上でオフラインのセキュリティインテリジェンスアップデートをホストする」をご覧ください。

Microsoft Defenderポータルでエンドポイントを設定する

もし組織がMicrosoft Defenderポータルでエンドポイントセキュリティポリシーを管理しているなら、オフラインのセキュリティインテリジェンスアップデートをIntuneと同じエンドポイントセキュリティポリシーで設定できます。

詳細な手順については、「 エンドポイントセキュリティポリシーを作成 」または 「エンドポイントセキュリティポリシーを編集 (リンクで新しいタブを開く)」をご覧ください。

DefenderポータルのエンドポイントセキュリティポリシーページのLinuxポリシータブでポリシーを作成する際、以下の特定の設定をhttps://security.microsoft.com/policy-inventory?osPlatform=Linuxしてください:

  • プラットフォームを選択してください: Linuxを選択します。
  • [テンプレートの選択]: [Microsoft Defenderウイルス対策] を選択します。

ポリシーを作成または修正する際は、設定ページの「Microsoft Intuneでエンドポイントを構成」に記載された設定をご利用ください。

ポリシーを割り当てると、Defender for Endpointのセキュリティ設定管理で管理されるデバイスには割り当てグループの制限が適用されます。 詳細については、「 割り当て」の手順を参照してください。

管理されたJSONを使ってエンドポイントを設定する

mdatp_managed.json ファイルは、Linux 上の Defender for Endpoint が起動時に読み取ってポリシー設定を適用するための管理構成ファイルです。 この方法で設定は手動またはChefやAnsibleなどのサードパーティの管理ツールで設定できます。 以下のサンプルを環境に合わせて更新し、 /etc/opt/microsoft/mdatp/managed/mdatp_managed.jsonにデプロイしてください。

{
  "cloudService": {
    "automaticDefinitionUpdateEnabled": true,
    "definitionUpdatesInterval": 1202
  },
  "antivirusEngine": {
    "offlineDefinitionUpdateUrl": "http://172.22.199.67:8000/linux/production/",
    "offlineDefinitionUpdateFallbackToCloud":false,
    "offlineDefinitionUpdate": "enabled"
  }
}
フィールド名 値 説明
automaticDefinitionUpdateEnabled true または false Defender for Endpointがセキュリティインテリジェンスの更新を自動的にインストールしようとするかを制御します。
definitionUpdatesInterval 数値 自動セキュリティインテリジェンス更新の間隔を秒単位で指定します。
offlineDefinitionUpdateUrl 文字列 ミラーサーバーのURLやローカルまたはリモートのマウントポイントへのパスを指定します。 パス要件については、「 ミラーサーバー上でオフラインのセキュリティインテリジェンス更新をホストする」を参照してください。
offlineDefinitionUpdate enabled または disabled オフラインのセキュリティインテリジェンス更新を有効または無効にします。
offlineDefinitionUpdateFallbackToCloud true または false ミラーサーバーからの更新が失敗した場合、Defender for EndpointがMicrosoftからの更新を試みるかどうかを制御します。

エンジン署名の検証

リリース101.26062.0005(2026年8月)から、Linux版のEndpoint Defenderはアンチウイルスエンジンのデジタル署名を読み込む前に検証します。 このデフォルト動作は、改ざんや署名されていないエンジンファイルからデバイスを保護するのに役立ちます。

知っておく必要があること

  • 新規インストールやアップグレードでは自動的に署名検証が有効になります。 別途行動は必要ありません。
  • エンジンファイルが署名検証に失敗すると、Defender for Endpointはそれを読み込みません。
  • offlineDefinitionUpdateVerifySig設定は廃止され、効果もありません。 管理された構成がこの設定を使用している場合、エンジン署名検証がデフォルトで有効になっているため、交換作業は不要です。

署名検証の状態を見るには以下のコマンドを実行してください:

mdatp health --details definitions
mdatp health --details features

関連するフィールドは両方のコマンド出力に現れます:

offline_definition_update_verify_sig : "DEPRECATED"
engine_signature_verification        : "enabled"

定義のバージョン、タイムスタンプ、更新元のURIなどの値はデバイスによって異なります。

オフラインのセキュリティインテリジェンス更新を確認する

Linuxエンドポイントでの設定を確認するには、セキュリティインテリジェンスの更新設定とステータスを確認してください:

mdatp health --details definitions

次の出力例は、オフラインのセキュリティ インテリジェンス更新が構成された最新の状態のデバイスを示しています。

user@vm:~$ mdatp health --details definitions
automatic_definition_update_enabled         : true [managed]
definitions_updated                         : Mar 14, 2024 at 12:13:17 PM
definitions_updated_minutes_ago             : 2
definitions_version                         : "1.407.417.0"
definitions_status                          : "up_to_date"
definitions_update_source_uri               : "https://go.microsoft.com/fwlink/?linkid=2144709"
definitions_update_fail_reason              : ""
offline_definition_url_configured           : "http://172.XX.XXX.XX:8000/linux/production/" [managed]
offline_definition_update                   : "enabled" [managed]
offline_definition_update_verify_sig        : "DEPRECATED"
engine_signature_verification               : "enabled"
offline_definition_update_fallback_to_cloud : false[managed]

オフラインのセキュリティ インテリジェンスの更新を開始する

オフライン セキュリティ インテリジェンスの更新は、自動的または手動でトリガーできます。

自動更新を構成する

Defender for Endpointは、以下の設定が設定された際に、設定された間隔でオフラインのセキュリティインテリジェンス更新を自動的に取得します。

  • アン チウイルスエンジンの強制レベル は real_timeに設定されています。
  • automaticDefinitionUpdateEnabled は true に設定されます。
  • offlineDefinitionUpdate は enabled に設定されます。

デフォルトの更新間隔は8時間です。 definitionUpdatesIntervalを使って秒単位で異なる間隔を指定します。

手動アップデートを起動する

Linuxエンドポイントが設定済みソースから即時にセキュリティインテリジェンスアップデートを取得するには、以下のコマンドを実行します。

mdatp definitions update

更新の状態を確認する

更新をトリガーした後、次のチェックを使用して成功を確認します。

  1. mdatp health --details definitionsを実行して更新状況を確認できます。

  2. definitions_statusがup_to_dateでdefinitions_update_fail_reasonが空であることを確認しましょう。 以下の例はこれらのフィールドを示しています。

user@vm:~$ mdatp health --details definitions
...
definitions_status                          : "up_to_date"
...
definitions_update_fail_reason              : ""
...

トラブルシューティングと診断

更新が失敗した場合、スタックしている場合、または開始しない場合は、次の手順に従ってトラブルシューティングを行います。

  1. オフライン セキュリティ インテリジェンス更新プログラムの状態を確認します。 次のコマンドを使用して、現在の定義の状態と更新元を確認します。

    mdatp health --details definitions
    

    [ definitions_update_fail_reason ] セクションで情報を探します。

  2. offline_definition_updateとengine_signature_verificationが有効になっていることを確認します。

  3. definitions_update_source_uriを確認して、デバイスがアップデートを取得した場所を特定してください:

    • デバイスがミラーサーバーから更新を取得した場合、definitions_update_source_urioffline_definition_url_configured一致するはずです。
    • Microsoft クラウドへのフォールバックが有効で、ミラー サーバーの更新に失敗した場合、definitions_update_source_uri は代わりに Microsoft ソースを表示できます。
  4. 接続テストを実行して、エンドポイントがミラー サーバーと必要なDefender サービスに到達できることを確認します。

    mdatp connectivity test
    
  5. 接続が成功した場合は、次のコマンドを使用して定義の更新を手動で再試行します。

    mdatp definitions update