2024年1月に MDE セキュリティ構成管理について追記しました。
本記事について
Microsoft Defender for Servers (P1/P2) には Microsoft Defender for Endpoint (以下 MDE) というアンチウイルス・EDR の機能の利用権が付与されています。
ただ、Defender for Servers から MDE をオンボーディングすると、既定ではアンチウイルスが無効化されています。これは、既存でアンチウイルスが入っているときに競合を防ぐためですが、他のアンチウイルスが使われていない場合は MDE の強力なアンチウイルスを使わない手はありません。
本記事ではその有効化について見ていきます。
下記の設定が Defender for Servers から MDE を Linux マシンにオンボードした時のデフォルトの設定です。real_time_protection_enabled
という項目が false
になっていることが分かります。
mdatp health
3つの手法 (2024年1月に③を追記)
MDE のアンチウイルスの有効化には、① MDE の Linux コマンドを使う、② MDE の構成プロファイルで設定する、③ MDE セキュリティ構成の管理でポリシーを割り当てる、の3つの方式があります。この記事ではそれぞれの方式について見ていきます。
方法1: MDE の Linux コマンドでの有効化
Linux コマンドは、
mdatp config real-time-protection --value enabled
になります。
実行後に mdatp health
コマンドを叩くと、下記のように real_time_protection_enabled
が true
になっています。
また、このコマンドを含め、mdatp コマンドのリファレンスも出ています。
有効化後、ためしに EICAR のファイルをダウンロードしてみます。
wget https://www.eicar.org/download/eicar.com.txt
下記コマンドでファイルの有無と脅威のリストを検索すると、ファイルは無く、ちゃんと検疫されていることが分かります。
ls
mdatp threat list
(補足) Azure のサービスから有効化を実行するには?
上記では Linux に SSH で入ってコマンドを実行していましたが、まとめて作業したい場合は Azure の機能上手くを使いたい際もあるかと思います。その際は、仮想マシンの拡張機能を利用できます。
下記のようなファイルを用意し、Blob Storage などにアップロードします。
そして、Azure CLI で下記コマンドを実行することで Azure の仮想マシンにインストールされているエージェントからスクリプトを実行させられます。
az vm extension set \
--resource-group "<リソースグループ名>" \
--vm-name "<仮想マシン名>" \
--name customScript \
--publisher Microsoft.Azure.Extensions \
--settings '{"fileUris": ["<ファイルのURL>"],"commandToExecute": "./<スクリプト名>"}'
一度 real_time_protection_enabled
を false
にし、Azure の Cloud Shell から実行してみた結果が下記になります。
同じく、real_time_protection_enabled
が true
になっています。
拡張機能にも customScript が追加されていたり、Activity Log から拡張機能の実行履歴が見れたりもします。
方法2: 構成プロファイルでの有効化
構成プロファイルを使ってアンチウイルスを有効化することもできます。こちらはそれ以外の設定も一括して行えるのも魅力です。
使い方はシンプルで、/etc/opt/microsoft/mdatp/managed/
というディレクトリに mdatp_managed.json
という名前のファイルを置くだけです。サンプルやフルプロファイルは公式ドキュメントに載っています。
{
"antivirusEngine":{
"enforcementLevel":"real_time",
"threatTypeSettings":[
{
"key":"potentially_unwanted_application",
"value":"block"
},
{
"key":"archive_bomb",
"value":"audit"
}
]
},
"cloudService":{
"automaticDefinitionUpdateEnabled":true,
"automaticSampleSubmissionConsent":"safe",
"enabled":true
}
}
試しに上記の設定で設置してみます。すると real_time_protection_enabled
やほかの設定項目がファイルの指示に従った設定となり、かつ [managed]
というタグが付いています。これは構成プロファイルから設定されたことを意味します。
(補足) Azure のサービスから有効化を実行するには?
ファイルのプッシュは、Linux を管理できる様々な構成管理ツールから容易に行えるかと思います。また、mdatp コマンドで見てきた Azure の拡張機能も同じく利用できます。構成プロファイルを用意し Blob ストレージなどにアップロードすれば、あとは mdatp コマンドの時と同じ要領で行えます。
#!/bin/bash
curl -o /etc/opt/microsoft/mdatp/managed/mdatp_managed.json <ファイルのURL>
方法3: MDE セキュリティ構成管理でポリシーを割り当てる
新たに、2023年11月に GA (一般提供開始) となった、MDE セキュリティ構成管理機能を使うことができるようになりました。
この方法の構成の詳細については公式ドキュメントの他、下記の Zenn 上の記事にて詳細にまとめられていました。
Intune との連携を有効化したのち、Microsoft Defender Portal にて Linux マシン向けのウイルス対策のポリシーを追加することで、各マシンのアンチマルウェアを有効化することができます。
まとめ
本記事では、Defender for Endpoint の Linux 版でアンチウイルスを有効化する方法を見てきました。Defender for Servers から MDE を利用するときにアンチウイルスを使いたい時は必須のアクションになってきます。本記事がその手順を理解する一助となれば幸いです。
*本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。