セキュリティチームの ぐっちー です。本日はmacOSにおけるMicrosoft DefenderのSignature VersionをJamf Proの拡張属性を利用して取得する方法をまとめたいと思います。
はじめに
Microsoft DefenderのSignature Versionについてですが、WindowsであればMicrosoft 365セキュリティセンターから比較的容易に確認することができます(本記事 下段の補足参照)。一方、macOSにおいては仕様上対応していないため、代替案をまとめたいと思います。
対応方針
macOSにおけるMicrosoft Defender ATP のSignature Versionは個別の端末にて、/usr/local/bin/mdatp health
のコマンドを叩くことで、取得することは可能です。
しかし、社内の全ての端末で個別にコマンドを実行するわけにもいかないので、今回はこれをJamf Proの拡張属性として収集する方針とします。
前提条件
本手順を実施するには、以下が必要となります。
- Jamf Proのライセンス
- Jamf Proの管理者権限
手順
1. 拡張属性を登録する
拡張属性とは、コマンドの結果をインベントリに登録することができる機能です。拡張属性に設定したコマンドはデフォルトでは1週間ごとに、更新(再実行)され、設定は最小で15分まで短縮することができます。
- [右上のネジのマーク] > [コンピュータ管理] > [拡張属性]を押下する。
- [新規]ボタンを押下し、新しい拡張属性を作成する。
- 表示名は任意に選択できるので、
MDfE - Signature Version
などわかりやすいものを設定しておく。 - データタイプは
String
を選択する。 - インベントリ表示は
Extension Attributes
を選択する。 - 入力タイプは
Script
を選択する。 - 言語は
Shell
を選択し、現在のSignature Versionを取得する場合は以下のスクリプトを記入する。(定義した変数にSignature Versionを入れて出力するものです。)
- 表示名は任意に選択できるので、
#!/bin/sh mDfESignatureVersion=$(/usr/local/bin/mdatp health | grep definitions_version | awk '{print $3}' | sed 's/"//g') echo "<result>$mDfESignatureVersion</result>"
- 上記スクリプトの
definitions_version
の部分を以下に差し替えることで、他の切り口で情報を取得することができます。definitions_updated
: 最終アップデートが実施された日時definitions_status
: アップデートが実際されているか、失敗しているか
※他の切り口で作成する際には、上記スクリプトの変数の部分 (mDfESignatureVersion
)も修正するようにしてください。
2. インベントリ表示を設定する
- [右上のネジのマーク] > [コンピュータ管理] > [インベント表示]を押下する。
- [Extension Attributes] のタブから、先ほど作成した拡張属性にチェックを入れる。
3. インベントリ表示を確認する
- Jamf Proの[コンピューター]タブのトップ画面[検索]を押下する。(検索窓には何も入力しない。)
- 「1. 拡張属性を登録する」で登録した拡張属性は、上記の[検索]を押下して遷移した画面で、現在のSignature Versionやアップデート状況を確認することができました。
※下記画像の一番上のデバイスの「MDFE – UPDATE VARSION」を確認すると他の端末と比べてバージョンが古いことがわかります。また、別途設定した「MDFE – UPDATE STATUS」を確認するとアップデート失敗していることがわかります。
補足
アップデート失敗している端末への対応
上記の画像のように、アップデートが失敗している端末に対しては、その端末のコマンドラインで mdatp definitions update
を実施することで、アップデートを再実行することができます。また、端末が手元にない場合にJamf Proで実行する際は、以下の手順で実施することができます。
- Jamf Proの管理画面から[コンピューター] > [ポリシー] > [新規] を選択する。
- [オプション]タブ> [General]欄を選択し、以下を設定します。
- 表示名は任意に選択できるので、
MDfE Update
などわかりやすいものを設定しておく。 - トリガーを任意のタイミングに設定します。
- 表示名は任意に選択できるので、
- [Scope]タブを選択し、アップデートを実施したい端末を選択します。
- [オプション]タブの[ファイルとプロセス] を選択し、[コマンドを実行] 欄に、
mdatp definitions update
を入力し、保存するとトリガーに設定したタイミングでコマンドを実行することができます。
Windows におけるSignature Versionの確認方法
Windows におけるSignature VersionはMicrosoft 365 セキュリティセンターで以下のように取得することができます。
- Microsoft 365 セキュリティセンターで [Advanced Hunting] を選択する。
- [Queries] > [Shared Queries] > [Community] > [Genaral Queries] > [MD AV Signature and Platform Version]の順に選択した後に表示されるクエリを実行する。
- 表示されている「AVSigVersion」が現在の、Microsoft Defender のSignature Versionとなります。
終わりに
macOSにおけるMicrosoft DefenderのSignature Versionの取得がMicrosoft 365 セキュリティセンターでできなかったため、代替案をまとめてみました。Microsoft 365 セキュリティセンターは日々進化しているので、アップデートがあった場合には、またブログに書きたいと思います。