Amazon Linux 2023 に Microsoft Defender for Endpoint を手動でインストールしてみる
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
AWS 上の EC2 インスタンスの Amazon Linux 2023 に、Microsoft Defender for Endpoint Servers を手動でインストールして、Microsoft Defender ポータルから確認できるようにしてみました。
Linux に手動で Microsoft Defender for Endpoint をデプロイする手順は次の Microsoft Learn ドキュメントで公開されています。今回はこのページの内容を参考に試してみました。
- Linux 用 Microsoft Defender for Endpoint を手動で展開する - Microsoft Defender for Endpoint | Microsoft Learn
上記の手順の流れとは少し異なりますが、次の流れで設定してみました。
- Microsoft Defender からオンボードパッケージを入手
- Amazon Linux 2023 にインストール
- Microsoft Defender ポータルから確認
1. Microsoft Defender ポータルからオンボードパッケージを入手
始めに、Microsoft Defender ポータルからオンボーディング用パッケージをダウンロードします。
該当する Microsoft Learn ドキュメントの記載場所は、冒頭で紹介したページにおける次の箇所です。
Microsoft Defender ポータルにおける「システム」の「設定」から「エンドポイント」を選択します。

「デバイス管理」内の「オンボーディング」を選択します。
オペレーションシステムは今回の対象である「Linux サーバー」を選択して、「オンボーディングのダウンロード」からパッケージをダウンロードします。Amazon Linux 2023 には Python 3 がインストールされているため、展開方法は「ローカル スクリプト (Python) 」を選択しています。

ダウンロードしたオンボードパッケージを Microsoft Defender for Endpoint をインストールするサーバにアップロードする必要があります。今回は、インストール対象となる EC2 インスタンス(Amazon Linux 2023)が存在する AWS アカウント内の S3 バケットにアップロードして、EC2 インスタンスでは S3 からダウンロードする方法で進めてみたいと思います。なお、単純に SCP で転送するなどの方法でも問題ないはずです。
S3 に Microsoft Defender ポータルからダウンロードしたオンボードパッケージ GatewayWindowsDefenderATPOnboardingPackage.zip をアップロードしておきます。S3 バケットは今回の検証のために用意したバケットです。

以降は、Amazon Linux 2023 上での作業です。
2. Amazon Linux 2023 にインストール
Amazon Linux 2023 の EC2 インスタンスに対して Microsoft Defender for Endpoint をデプロイします。
今回利用した Amazon Linux 2023 の AMI ID と AMI 名は次の値です。
ami-095af7cb7ddb447ef
al2023-ami-2023.8.20250721.2-kernel-6.1-x86_64
Linux サーバで実行するリポジトリの構成とインストールに関する Microsoft Learn の記載は次の箇所です。複数のディストリビューションの説明があるのですが、Amazon Linux 2023 で参考になったのは「RHEL とバリアント (CentOS、Fedora、Oracle Linux、Amazon Linux 2、ロッキー、アルマ)」の箇所でした。
今回は、EC2 インスタンスにセッションマネージャーで接続して作業します。
リポジトリの構成
まずはリポジトリの構成です。
yum-utils が必要となりますが、Amazon Linux 2023 ではインストール済みです。
$ sudo yum install yum-utils
Last metadata expiration check: 0:05:53 ago on Sun Aug 3 14:27:52 2025.
Package dnf-utils-4.3.0-13.amzn2023.0.5.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!
上述した Microsoft Learn ドキュメントに Linux の各ディストリビューションに対応するパッケージの URL の記載があります。Amazon Linux 2023 の prod は次の URL です。バージョンには prod の他に新機能のプレビュー機能が使える insider-fast や insider-slow がありますが、最後に新機能が実装される prod を今回は利用しています。
https://packages.microsoft.com/config/amazonlinux/2023/prod.repo
下記コマンドでリポジトリを構成します。
sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/amazonlinux/2023/prod.repo
実行結果例です。
$ sudo yum-config-manager --add-repo=https://packages.microsoft.com/config/amazonlinux/2023/prod.repo
Adding repo from: https://packages.microsoft.com/config/amazonlinux/2023/prod.repo
リポジトリに追加されていることを確認できます。
$ yum repolist
repo id repo name
amazonlinux Amazon Linux 2023 repository
kernel-livepatch Amazon Linux 2023 Kernel Livepatch repository
packages-microsoft-com-prod Microsoft Production
Microsoft の GPG 公開鍵のインポート
次に、下記コマンドで Microsoft の GPG 公開鍵をインポートします。
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
実行結果例です。
$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$
アプリケーションのインストール
続いて、Microsoft Learn ドキュメントにおける「アプリケーションのインストール」を実施します。リポジトリの構成同様に「RHEL とバリアント (CentOS、Fedora、Oracle Linux、Amazon Linux 2、ロッキー、アルマ)」の箇所を参考に設定してみます。
下記コマンドで Microsoft Defender for Endpoint をインストールします。
sudo yum --enablerepo=packages-microsoft-com-prod install mdatp
実行結果例です。
$ sudo yum --enablerepo=packages-microsoft-com-prod install mdatp
Microsoft Production 1.0 kB/s | 481 B 00:00
Microsoft Production 23 kB/s | 975 B 00:00
Importing GPG key 0xBE1229CF:
Userid : "Microsoft (Release signing) <gpgsecurity@microsoft.com>"
Fingerprint: BC52 8686 B50D 79E3 39D3 721C EB3E 94AD BE12 29CF
From : https://packages.microsoft.com/keys/microsoft.asc
Is this ok [y/N]: y
Microsoft Production 1.3 MB/s | 163 kB 00:00
Dependencies resolved.
============================================================================================================================================
Package Architecture Version Repository Size
============================================================================================================================================
Installing:
mdatp x86_64 101.25052.0007-1 packages-microsoft-com-prod 149 M
Transaction Summary
============================================================================================================================================
Install 1 Package
Total download size: 149 M
Installed size: 507 M
Is this ok [y/N]: y
Downloading Packages:
mdatp-101.25052.0007-1.x86_64.rpm 65 MB/s | 149 MB 00:02
--------------------------------------------------------------------------------------------------------------------------------------------
Total 65 MB/s | 149 MB 00:02
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: mdatp-101.25052.0007-1.x86_64 1/1
Installing : mdatp-101.25052.0007-1.x86_64 1/1
Running scriptlet: mdatp-101.25052.0007-1.x86_64 1/1
Verifying : mdatp-101.25052.0007-1.x86_64 1/1
Installed:
mdatp-101.25052.0007-1.x86_64
Complete!
mdatp がインストールされていることが確認できます。MDATP (Microsoft Defender Advanced Thread Protection) は、Microsoft Defender for Endpoint の旧称と思われます。
$ sudo yum list | grep mdatp
mdatp.x86_64 101.25052.0007-1 @packages-microsoft-com-prod
mdatp.aarch64 101.25052.0007-1 packages-microsoft-com-prod
インストールされたバージョンを確認してみます。なお、この時点ではライセンスが登録されていないことから ATTENTION が表示されます。
$ mdatp version
ATTENTION: No license found. Contact your administrator for help.
Product version: 101.25052.0007
オンボーディング
オンボーディングすることで Microsoft Defender ポータルから確認できるようになります。
事前に S3 にアップロードしておいたオンボードパッケージをダウンロードします。<S3_BUCKET_NAME> には S3 バケット名を指定します。
aws s3api get-object --bucket <S3_BUCKET_NAME> --key GatewayWindowsDefenderATPOnboardingPackage.zip GatewayWindowsDefenderATPOnboardingPackage.zip
実行結果例です。S3 バケット名はマスキングしています。
$ aws s3api get-object --bucket <S3_BUCKET_NAME> --key GatewayWindowsDefenderATPOnboardingPackage.zip Gatew
ayWindowsDefenderATPOnboardingPackage.zip
{
"AcceptRanges": "bytes",
"LastModified": "2025-08-03T06:27:28+00:00",
"ContentLength": 5593,
"ETag": "\"dc477db61a42792373bbc0a5df6e8aac\"",
"ChecksumCRC64NVME": "MN1aNMGQazs=",
"ChecksumType": "FULL_OBJECT",
"ContentType": "application/zip",
"ServerSideEncryption": "AES256",
"Metadata": {}
}
オンボードパッケージをダウンロードできていることが確認できます。
$ ls -l
total 8
-rw-rw-r--. 1 ssm-user ssm-user 5593 Aug 3 14:56 GatewayWindowsDefenderATPOnboardingPackage.zip
下記コマンドで zip を解凍します。
unzip GatewayWindowsDefenderATPOnboardingPackage.zip
実行結果例です。
$ unzip GatewayWindowsDefenderATPOnboardingPackage.zip
Archive: GatewayWindowsDefenderATPOnboardingPackage.zip
inflating: MicrosoftDefenderATPOnboardingLinuxServer.py
オンボーディング前は、org_id は空の状態であり、ATTENTION も表示されます。
mdatp health --field org_id
ATTENTION: No license found. Contact your administrator for help.
""
下記コマンドでオンボードパッケージを実行してオンボーディングします。
sudo python3 MicrosoftDefenderATPOnboardingLinuxServer.py
実行結果例です。
$ sudo python3 MicrosoftDefenderATPOnboardingLinuxServer.py
Generating /etc/opt/microsoft/mdatp/mdatp_onboard.json ...
オンボーディング後は、org_id が格納され、ATTENTION も表示されないようになりました。
$ mdatp health --field org_id
"0a04cde7-58ed-4181-959exampleexample"
少しそれますが、mdatp の正常性を確認する場合は下記コマンドです。
mdatp health --field healthy
実行結果例です。true は製品が正常であることを示します。
$ mdatp health --field healthy
true
リアルタイム保護の有効化
インストール直後では、リアルタイム保護が有効になっていませんでした。
$ mdatp health --field real_time_protection_enabled
false
そのため、下記コマンドでリアルタイム保護を有効化します。
sudo mdatp config real-time-protection --value enabled
実行結果例です。
$ sudo mdatp config real-time-protection --value enabled
Configuration property updated.
状態を再度確認したところ true = 有効化状態となっていました。
$ mdatp health --field real_time_protection_enabled
true
リアルタイム保護の検出テスト
EICAR ストファイルを用いて検出をテストしてみます。
テスト実施前の状態では、脅威はない状態です。
$ mdatp threat list
No threats.
下記コマンドで EICAR ストファイルを作成して検出をテストします。
curl -o /tmp/eicar.com.txt https://secure.eicar.org/eicar.com.txt
実行結果例です。
$ curl -o /tmp/eicar.com.txt https://secure.eicar.org/eicar.com.txt
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 68 100 68 0 0 93 0 --:--:-- --:--:-- --:--:-- 93
再度、脅威があったか確認してみたところ、意図どおり検出されていました。
$ mdatp threat list
Id: "1914fc95-8b71-4d49-9274-065b9ead8f6f"
Name: Virus:DOS/EICAR_Test_File
Type: "virus"
Detection time: Sun Aug 3 15:08:26 2025
Status: "quarantined"
なお、起動した際にマルウェア対策定義ファイルがダウンロードされるようなのですが、その完了状況は次のコマンドで確認できます。
mdatp health --field definitions_status
実行結果例です。up_to_date であればダウンロード済みです。ネットワークの状況によっては数分かかる場合があるようです。
$ mdatp health --field definitions_status
"up_to_date"
PUA 保護をブロックモードに変更
続いて、Protect against potentially unwanted applications (PUA) をブロックモードに変更してみます。PUA 保護は、望ましくない可能性のあるアプリケーションから保護する機能です。
次の Microsoft Learn ドキュメントで動作モードを変更する方法が紹介されています。
上記の Microsoft Learn ドキュメントによると、既定では PUA 保護は監査モードで構成されているため、下記コマンドでブロックモードに変更します。
sudo mdatp threat policy set --type potentially_unwanted_application --action block
実行結果例です。
$ sudo mdatp threat policy set --type potentially_unwanted_application --action block
Threat policy modified successfully
設定が反映されているか確認してみます。potentially_unwanted_application の Action が block になっていることを確認できました。
$ mdatp threat policy list --type potentially_unwanted_application
=====================================
Threat type: potentially_unwanted_application
Action: block
=====================================
以降では、Microsoft Defender ポータル側でもオンボードしたサーバが登録されているか確認してみます。
3. Microsoft Defender ポータルから確認
Microsoft Defender ポータルでオンボードした EC2 インスタンス(Amazon Linux 2023)が追加されているか確認してみます。「アセット」の「デバイス」メニューを確認したところ、今回作業した EC2 インスタンスが追加されていました。

先ほど検出テストした内容も「情報」レベルのアラートとして確認できました。プロセスツリーが見れるのがよいです。

Microsoft Defender ポータルからオンボーディングした仮想マシンを確認できました。
さいごに
Amazon Linux 2023 に Microsoft Defender for Endpoint Servers を手動でインストールして、Microsoft Defender ポータルから確認してみました。複数のクラウドの仮想マシンを一元管理できるのは便利と思いました。
以上、このブログがどなたかのご参考になれば幸いです。







