LinuxでのMicrosoft Defender for Endpointの除外の構成と検証

除外設定を使って、Linux版のMicrosoft Defender for Endpointが信頼されたファイル、フォルダ、プロセス、ファイル拡張子をスキャンまたは監視するのを防ぎましょう。 除外項目は、組織固有のファイルやソフトウェアの誤検出を防ぐのに役立ちます。

Linux版Defender for Endpointは以下の除外範囲をサポートしています:

  • アンチウイルス (範囲 epp):オンデマンドスキャン、リアルタイム保護(RTP)、挙動監視(BM)には除外が適用されますが、エンドポイントの検出・応答(EDR)可視性は保持されます。

  • グローバル (範囲 global):除外はRTP、BM、EDRに適用され、関連するアンチウイルス検出、EDRアラート、除外品の可視性が停止されます。 グローバル除外はセンサーレベルで適用され、除外条件に合致するイベントは処理前にミュートされます。

    • Linuxバージョン101.24092.0001(2024年10月)以降のエンドポイントには、グローバル除外事項がDefenderで利用可能です。
    • グローバル除外はネットワーク保護には適用されません。 プロセス除外は、トラフィックの検査や除外されたプロセスのルールの強制を妨げ、ネットワーク保護に影響を与えることがあります。 詳細については、Microsoft Defender for Endpointの除外事項および指標の概要をご覧ください。
    • グローバル除外は、Linux上のDefender for Endpointによるパフォーマンス問題を軽減するのに役立ちます。

警告

除外を定義すると、Linuxで Defender for Endpoint によって提供される保護が低下します。 除外の実装に関連するリスクを常に評価し、悪意のないと確信しているファイルのみを除外する必要があります。

重要

複数のセキュリティ ソリューションを並行して実行する場合は、「 パフォーマンス、構成、およびサポートに関する考慮事項」を参照してください。

既に、Microsoft Defender for Endpointにオンボードされているデバイスの相互セキュリティ除外を構成している可能性があります。 競合を回避するために相互除外を設定する必要がある場合は、「既存のソリューションの除外リストにMicrosoft Defender for Endpointを追加する」を参照してください。

サポートされている除外の種類

Linux版Defender for Endpointは以下の除外タイプをサポートしています:

  • ファイル拡張子:デバイス上の任意の拡張子を持つすべてのファイル。

    • グローバル除外にはファイル拡張子の除外機能がありません。
    • 例: .test
  • ファイル:その完全なパスで識別される特定のファイル。

    • グローバル除外の場合は、除外を追加または削除する前にファイルパスが存在する必要があります。
    • 例:
      • /var/log/test.log
      • /var/log/*.log
      • /var/log/install.?.log
  • フォルダ:指定されたフォルダ内のすべてのファイルを再帰的に管理します。

    • 例:
      • /var/log/
      • /var/*/
  • プロセス:特定のプロセスで、その完全なパスまたはファイル名で識別され、プロセスによって開かれたすべてのファイルが識別されます。

    • ウイルス対策の除外については、パス全体かファイル名のいずれかを指定できます。 フル パスを使用することをお勧めします。
    • グローバル除外の場合は、システムの信頼性とセキュリティに必要なものだけを除外してください。 プロセスが既知かつ信頼されていることを確認し、その全パスを指定し、その信頼パスから一貫して始まっていることを確認します。
    • 例:
      • /bin/cat
      • cat
      • c?t

重要

排除パスはシンボリックリンクではなく、ハードリンクでなければなりません。 パスがシンボリックリンクかどうかを確認するには、 file <path-name>を実行します。

ファイル、フォルダー、プロセスの除外に関するサポートワイルドカード

アンチウイルスファイル、フォルダ、プロセスの除外を定義する際に、以下のワイルドカードパターンを使用できます。 ワイルドカードはグローバル除外には対応していません。

  • アスタリスク (*): 0文字を含む任意の数の文字に一致します。 このワイルドカードがパスの最後に使われなければ、1つのフォルダだけを置き換えます。

    • アンチウイルス除外については、パスの最後に * ワイルドカードがあると、そのワイルドカードの親ファイルやサブディレクトリと一致します。
    • 例:
      • /var/*/tmp:
        • 含まれるもの: /var/abc/tmp および /var/def/tmp のファイルおよびそのサブフォルダ。
        • 含まれないのは /var/abc/log や /var/def/log。
      • /var/*/:
        • 含まれるもの:以下のようなサブディレクトリ内のファイル /var/abc/
        • 含まれません: /var 直下のファイル。
  • クエスチョンマーク(?):任意の単一文字に一致します。

    • 例: file?.log
      • 含まれるもの: file1.log と file2.log。
      • 含まれない: file123.log。

除外を構成する

除外を設定するには、以下のいずれかの方法を用いてください。

管理されたJSONを使って除外を設定

企業環境では、PuppetやAnsibleなどの構成管理ツールを使って、 mdatp_managed.json to /etc/opt/microsoft/mdatp/managed/という名前の構成プロファイルを展開します。 詳細については、「Linuxでの Defender for Endpoint の基本設定の設定」を参照してください。

次の mdatp_managed.json 例は、ファイル、フォルダー、拡張機能、およびプロセスのウイルス対策とグローバル除外を構成する方法を示しています。

{
   "exclusionSettings":{
     "exclusions":[
        {
           "$type":"excludedPath",
           "isDirectory":true,
           "path":"/home/*/git<EXAMPLE DO NOT USE>",
           "scopes": [
              "epp"
           ]
        },
        {
           "$type":"excludedPath",
           "isDirectory":true,
           "path":"/run<EXAMPLE DO NOT USE>",
           "scopes": [
              "global"
           ]
        },
        {
           "$type":"excludedPath",
           "isDirectory":false,
           "path":"/var/log/system.log<EXAMPLE DO NOT USE><EXCLUDED IN ALL SCENARIOS>",
           "scopes": [
              "epp", "global"
           ]
        },
        {
           "$type":"excludedFileExtension",
           "extension":".pdf<EXAMPLE DO NOT USE>",
           "scopes": [
              "epp"
           ]
        },
        {
           "$type":"excludedFileName",
           "name":"/bin/cat<EXAMPLE DO NOT USE><NO SCOPE PROVIDED - GLOBAL CONSIDERED>"
        }
     ],
     "mergePolicy":"admin_only"
   }
}

エンドポイント セキュリティ設定管理にDefenderを使用して除外を構成する

注:

始める前に、Defender for Endpointのセキュリティ設定管理の前提条件を必ず確認してください。

Microsoft Intune管理センターやMicrosoft Defenderポータルを使って除外をエンドポイントのセキュリティポリシーとして管理し、Microsoft Entraグループにポリシーを割り当てることができます。 セキュリティ設定管理を初めて使う場合は、以下の手順を踏んでください:

ステップ1:Linuxのセキュリティ設定管理を有効にする

  1. Microsoft Defenderポータルのhttps://security.microsoft.com/securitysettings/endpoints/configuration_managementにあるエンドポイント>構成管理>強制スコープページにアクセスしてください。
  2. 執行範囲ページで、設定管理を有効にするセクションで以下の設定を確認してください:
    • Linuxデバイスを選択し、以下のいずれかの値を選択します。
      • 「 タグ付けされたデバイス」 を選択して、選択したデバイスでセキュリティ設定の管理をテストします。 各テストデバイスに MDE-Management タグを追加します。 手順やその他のタグ付け方法については、「 デバイスタグの作成および管理」を参照してください。
      • すべての デバイスを選択して、 対象となるすべてのLinuxデバイスを登録してください。

ほとんどのデバイスは数分以内に割り当てられたポリシーを登録・適用しますが、一部のデバイスは最大24時間かかることもあります。

ステップ2:Microsoft Entraデバイスグループを作成する

Linuxオペレーティングシステムタイプに基づく動的なMicrosoft Entraデバイスグループを作成します。 動的メンバーシップは自動的にマッチングデバイスを追加するため、グループメンバーシップを手動で管理する必要はありません。 セキュリティ設定管理については、「Microsoft Entraグループを作成する」をご覧ください。

ステップ3:Linux除外ポリシーを作成する

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

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

  • プラットフォームを選択してください: Linuxを選択します。
  • テンプレートを選択してください:
    • グローバルウイルス対策およびEDR除外については、Microsoft Defender Global Exclusions (AV+EDR)を選択してください。
    • ウイルス対策の除外設定については、Microsoft Defender Antivirus の除外を選択してください。

ポリシー作成ウィザードでは、以下の設定をご利用ください:

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

コマンド ラインを使用して除外を構成する

利用可能なサブコマンドや除外管理のオプションを見るには、 mdatp exclusion コマンドを実行します:

mdatp exclusion

コマンドの構文

以下の構文は、利用可能な除外サブコマンド、オプション、値をまとめています。

mdatp exclusion {extension {add|remove} --name <extension> | file {add|remove} --path <file-path> [--scope {epp|global}] | folder {add|remove} --path <folder-path> [--scope {epp|global}] | process {add|remove} {--path <process-path> [--scope {epp|global}] | --name <process-name> [--scope epp]} | list}

注:

除外を削除する際は、追加時に使ったのと同じ範囲を指定してください。

--scope オプションのデフォルト値は epp であるため、このオプションは global の除外に対してのみ指定してください。

--scopeオプションが導入される前は、すべてのコマンドライン除外はeppスコープを使用していました。 既存の除外は引き続き eppを使っています。

除外値にワイルドカードが含まれている場合は、その値を二重引用符で囲みます。 この構文により、 mdatp 処理前にシェルがワイルドカードを展開するのを防ぎます。

ファイル拡張子の除外情報の追加または削除

ファイル拡張子の除外はアンチウイルス(epp)の範囲のみをサポートします。 以下のコマンドは .txt 拡張除外を追加および削除します:

mdatp exclusion extension add --name .txt

mdatp exclusion extension remove --name .txt

ファイルの除外追加または削除

globalスコープで除外を追加または削除する前に、そのファイルが存在する必要があります。

以下のコマンドは、ウイルス対策(epp)ファイルの除外を追加または削除します。

mdatp exclusion file add --path /var/log/dummy.log

mdatp exclusion file remove --path /var/log/dummy.log

以下のコマンドは、グローバルファイルの除外を追加または削除します:

mdatp exclusion file add --path /var/log/dummy.log --scope global

mdatp exclusion file remove --path /var/log/dummy.log --scope global

フォルダ除外の追加または削除

以下のコマンドで、ウイルス対策(epp)フォルダの除外を追加・削除します。

mdatp exclusion folder add --path /var/log/

mdatp exclusion folder remove --path /var/log/

以下のコマンドは、グローバルフォルダの除外を追加または削除します:

mdatp exclusion folder add --path /var/log/ --scope global

mdatp exclusion folder remove --path /var/log/ --scope global

除外したいフォルダごとにコマンドを一度ずつ実行してください。 異なるフォルダに異なるスコープを割り当てることができます。

アンチウイルスフォルダの除外機能はワイルドカードをサポートしています。 以下のコマンドは */var/*/tmp/*のパスを除外しますが、 */var/this-subfolder/log*のような兄弟フォルダは除外しません。

mdatp exclusion folder add --path "/var/*/tmp"

/var/の下のすべてのパスを除外するには、以下のいずれかのコマンドを使用します。

mdatp exclusion folder add --path "/var/"

mdatp exclusion folder add --path "/var/*/"

プロセス除外の追加または削除

グローバルプロセス除外については、 --pathを使ってプロセスパス全体を指定します。 以下のコマンドは、グローバルプロセスの除外を追加または削除します:

mdatp exclusion process add --path /usr/bin/cat --scope global

mdatp exclusion process remove --path /usr/bin/cat  --scope global

アンチウイルス(epp)プロセスの除外については、プロセス名やフルパスを指定することができます。 以下のコマンドは、名前でアンチウイルスプロセスの除外を追加・削除します。

mdatp exclusion process add --name cat

mdatp exclusion process remove --name cat

除外したい各プロセスごとにコマンドを1回ずつ実行します。 異なるプロセスに異なるスコープを割り当てることができます。

除外事項をEICARテストファイルで検証してください

EICARテストファイルは、アンチウイルス製品によってマルウェアとして認識される標準的な文字列を含む小さく無害なテキストファイルです。 本物のマルウェアを使わずに除外が機能するかどうか安全に確認できます。 Linux版のDefender for Endpointはファイル名ではなく、その内容でファイルを検出します。

除外をテストする前に、リアルタイム保護が有効になっているかを確認してください。 以下のコマンドを実行し、true が返されることを確認します:

mdatp health --field real_time_protection_enabled

EICARテストファイルは、検証したい除外事項とファイル名、拡張子、場所が一致するように作成してください:

  • 特定のファイル名を使うか、特定のフォルダにファイルを作成してファイルやフォルダの除外を検証してください。
  • 除外された拡張子のファイル名を使って、その除外を検証してください。

もしDefender for Endpointがファイルを検出した場合、除外は機能しません。 ファイルが存在し、Defender for Endpointが検出しなければ除外は機能します。

これらのステップは、ファイル、フォルダ、ファイル拡張子の除外を検証するために設計されています。 ファイルの作成や開くプロセスによって異なるプロセス除外の一般的なテストは提供されていません。

除外事項に合致するEICARテストファイルを作成するには、以下のいずれかの方法を用いてください。

  • インターネット接続時:テストファイルをダウンロードするには以下の curl 構文を使ってください。

    curl -o <file-name-or-path> https://secure.eicar.org/eicar.com.txt
    

    例えば、 .testing 拡張子を除外した場合、その拡張子でテストファイルをダウンロードしてください:

    curl -o test.testing https://secure.eicar.org/eicar.com.txt
    

    フォルダ除外をテストするには、そのフォルダ内のコマンドを実行してください。

  • インターネット接続がない場合:EICARテストファイルをローカルで作成してください。 例えば、除外事項に合致するファイル名やパスに test.txt を変更するといった例です:

    echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > test.txt
    

次の記事では、Endpoint on Linux のDefenderの構成と管理について詳しく説明します。