Linux 上の Microsoft Defender for Endpoint の除外を構成して検証する

適用対象:

Defender for Endpoint を試す場合は、 無料試用版にサインアップしてください。

この記事では、Microsoft Defender for Endpoint のウイルス対策とグローバル除外を定義する方法について説明します。 ウイルス対策の除外は、オンデマンド スキャン、リアルタイム保護 (RTP)、動作監視 (BM) に適用されます。 グローバル除外は、リアルタイム保護 (RTP)、動作監視 (BM)、エンドポイント検出と応答 (EDR) に適用されるため、関連付けられているすべてのウイルス対策検出、EDR アラート、除外された項目の可視性を停止します。

重要

この記事で説明するウイルス対策の除外は、エンドポイントの検出と応答 (EDR) ではなく、ウイルス対策機能にのみ適用されます。 この記事で説明するウイルス対策の除外を使用して除外するファイルは、引き続き EDR アラートやその他の検出をトリガーできます。 一方、このセクションで説明するグローバル除外は、ウイルス対策だけでなく、エンドポイントの検出と応答機能にも適用されるため、関連付けられているすべての AV 保護、EDR アラート、検出を停止します。 グローバル除外は、Defender for Endpoint バージョン 101.23092.0012 以降から Insider Slow Ring まで利用できます。 EDR の除外については、 サポートにお問い合わせください

特定のファイル、フォルダー、プロセス、プロセスで開かれたファイルを、Linux 上の Defender for Endpoint から除外できます。

除外は、組織に固有またはカスタマイズされたファイルまたはソフトウェアで誤った検出を回避するのに役立ちます。 グローバル除外は、Defender for Endpoint on Linux によって発生するパフォーマンスの問題を軽減するために役立ちます。

警告

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

サポートされている除外スコープ

前のセクションで説明したように、ウイルス対策 (epp) とグローバル (global) の 2 つの除外スコープがサポートされています。

ウイルス対策の除外を使用すると、信頼されたファイルとプロセスをリアルタイム保護から除外しながら、EDR の可視性を確保できます。 グローバル除外はセンサー レベルで適用され、処理が完了する前にフローの非常に早い段階で除外条件に一致するイベントをミュートするため、すべての EDR アラートとウイルス対策検出が停止されます。

注:

グローバル (global) は、Microsoft によって既にサポートされているウイルス対策 (epp) 除外スコープに加えて、導入される新しい除外スコープです。

除外カテゴリ 除外スコープ 説明
ウイルス対策の除外 ウイルス対策エンジン
(スコープ: epp)
ウイルス対策 (AV) スキャンとオンデマンド スキャンからコンテンツを除外します。
グローバル除外 ウイルス対策とエンドポイントの検出と応答エンジン
(スコープ: グローバル)
リアルタイム保護と EDR 可視性からイベントを除外します。 既定では、オンデマンド スキャンには適用されません。

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

次の表は、Linux 上の Defender for Endpoint でサポートされる除外の種類を示しています。

除外 定義
ファイル拡張子 拡張機能を持つすべてのファイル、デバイス上の任意の場所 (グローバル除外では使用できません) .test
File 完全パスで識別される特定のファイル /var/log/test.log
/var/log/*.log
/var/log/install.?.log
フォルダー 指定したフォルダーの下にあるすべてのファイル (再帰的に) /var/log/
/var/*/
プロセス 特定のプロセス (完全なパスまたはファイル名で指定) と、そのプロセスによって開かれたすべてのファイル /bin/cat
cat
c?t

重要

正常に除外するには、シンボリック リンクではなくハード リンクを使用する必要があります。 パスがシンボリック リンクであるかどうかを確認するには、 file <path-name>を実行します。

ファイル、フォルダー、およびプロセスの除外では、次のワイルドカードがサポートされています。

注:

スコープをグローバルとして含むファイルの除外を追加または削除する前に、ファイル パスが存在する必要があります。 グローバル除外の構成中は、ワイルドカードはサポートされていません。

ワイルドカード 説明
* none を含む任意の数の文字と一致します
(このワイルドカードがパスの末尾で使用されていない場合は、1 つのフォルダーのみを置き換えます)
/var/*/tmp には、 /var/abc/tmp とそのサブディレクトリ内の任意のファイルと、 /var/def/tmp とそのサブディレクトリが含まれます。 /var/abc/log/var/def/log

/var/*/ サブディレクトリには /var/abc/などのファイルのみが含まれますが、 /var内のファイルは含まれません。

? 任意の 1 文字に一致します file?.log には file1.logfile2.logが含まれますが、含まれませんfile123.log

注:

ウイルス対策の除外の場合、パスの末尾で * ワイルドカードを使用する場合は、ワイルドカードの親の下にあるすべてのファイルとサブディレクトリと一致します。

除外の一覧を構成する方法

管理コンソールの使用

Puppet、Ansible、または別の管理コンソールからの除外を構成するには、次のサンプル 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"
   }
}

詳細については、「 Linux 上の Defender for Endpoint の基本設定を設定する」を参照してください。

コマンド ラインの使用

次のコマンドを実行して、除外を管理するための使用可能なスイッチを確認します。

注:

--scope は、 epp または globalとして受け入れられた値を持つ省略可能なフラグです。 これは、同じ除外を削除するために除外を追加するときに使用されるのと同じスコープを提供します。 コマンド ラインアプローチでは、スコープが言及されていない場合、スコープ値は eppとして設定されます。 --scope フラグの導入前に CLI によって追加された除外は影響を受けず、そのスコープはeppと見なされます。

mdatp exclusion

ヒント

ワイルドカードを使用して除外を構成する場合は、パラメーターを二重引用符で囲み、グロビングを防ぎます。

例:

  • ファイル拡張子の除外を追加します (拡張機能の除外はグローバル除外スコープではサポートされていません)。

    mdatp exclusion extension add --name .txt
    
    Extension exclusion configured successfully
    
    mdatp exclusion extension remove --name .txt
    
    Extension exclusion removed successfully
    
  • ファイルの除外を追加/削除します (グローバル スコープで除外を追加または削除する場合は、ファイル パスが既に存在する必要があります)。

    mdatp exclusion file add --path /var/log/dummy.log --scope epp
    
    File exclusion configured successfully
    
    mdatp exclusion file remove --path /var/log/dummy.log --scope epp
    
    File exclusion removed successfully"
    
    mdatp exclusion file add --path /var/log/dummy.log --scope global
    
    File exclusion configured successfully
    
    mdatp exclusion file remove --path /var/log/dummy.log --scope global
    
    File exclusion removed successfully"
    
  • フォルダーの除外を追加/削除します。

    mdatp exclusion folder add --path /var/log/ --scope epp
    
    Folder exclusion configured successfully
    
    mdatp exclusion folder remove --path /var/log/ --scope epp
    
    Folder exclusion removed successfully
    
      mdatp exclusion folder add --path /var/log/ --scope global
    
    Folder exclusion configured successfully
    
    mdatp exclusion folder remove --path /var/log/ --scope global
    
    Folder exclusion removed successfully
    
  • 2 つ目のフォルダーの除外を追加します。

    mdatp exclusion folder add --path /var/log/ --scope epp
    mdatp exclusion folder add --path /other/folder  --scope global
    
    Folder exclusion configured successfully
    
  • ワイルドカードが含まれるフォルダーの除外を追加します。

    注:

    グローバル除外の構成中は、ワイルドカードはサポートされていません。

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

    注:

    これにより、 /var/*/tmp/の下のパスのみが除外されますが、 tmp の兄弟であるフォルダーは除外されません。たとえば、 /var/this-subfolder/tmp ですが、 /var/this-subfolder/log ではありません。

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

    または

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

    注:

    これにより、親が /var/であるすべてのパスが除外されます。たとえば、 /var/this-subfolder/and-this-subfolder-as-well です。

    Folder exclusion configured successfully
    
  • プロセスの除外を追加します。

    mdatp exclusion process add --name /usr/bin/cat --scope global 
    
    Process exclusion configured successfully
    
    mdatp exclusion process remove --name /usr/bin/cat  --scope global
    
    Process exclusion removed successfully
    
      mdatp exclusion process add --name /usr/bin/cat --scope epp 
    
    Process exclusion configured successfully
    
    mdatp exclusion process remove --name /usr/bin/cat  --scope epp
    
    Process exclusion removed successfully
    
  • 2 番目のプロセスの除外を追加します。

    mdatp exclusion process add --name cat --scope epp
    mdatp exclusion process add --name dog --scope global
    
    Process exclusion configured successfully
    

EICAR テスト ファイルを使用して除外リストを検証する

除外リストが機能していることを検証するには、 curl を使用してテスト ファイルをダウンロードします。

次の Bash スニペットで、 test.txt を除外規則に準拠するファイルに置き換えます。 たとえば、 .testing 拡張機能を除外した場合は、 test.txttest.testing に置き換えます。 パスをテストする場合は、そのパス内でコマンドを実行してください。

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

Defender for Endpoint on Linux でマルウェアが報告された場合、ルールは機能しません。 マルウェアの報告がなく、ダウンロードしたファイルが存在する場合は、除外が機能しています。 ファイルを開いて、 内容が EICAR テスト ファイル Web サイトで説明されているものと同じであることを確認できます。

インターネットにアクセスできない場合は、独自の EICAR テスト ファイルを作成できます。 次の Bash コマンドを使用して、EICAR 文字列を新しいテキスト ファイルに書き込みます。

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

また、空のテキスト ファイルに文字列をコピーし、ファイル名または除外しようとしているフォルダーに保存することもできます。

脅威を許可する

特定のコンテンツをスキャン対象から除外するだけでなく、一部の脅威クラス (脅威名で識別) を検出しないように製品を構成することもできます。 この機能を使用する場合は、デバイスの保護が解除される可能性があるため、注意が必要です。

許可されたリストに脅威名を追加するには、次のコマンドを実行します。

mdatp threat allowed add --name [threat-name]

デバイス上の検出に関連付けられている脅威名は、次のコマンドを使用して取得できます。

mdatp threat list

たとえば、許可される一覧に EICAR-Test-File (not a virus) (EICAR 検出に関連付けられている脅威名) を追加するには、次のコマンドを実行します。

mdatp threat allowed add --name "EICAR-Test-File (not a virus)"

ヒント

さらに多くの情報を得るには、 Tech Community 内の Microsoft Security コミュニティ (Microsoft Defender for Endpoint Tech Community) にご参加ください。