Puppet を使用して Linux にMicrosoft Defender for Endpointをデプロイする
Defender for Endpoint を試す場合は、 無料試用版にサインアップしてください。
この記事では、Puppet を使用して Defender for Endpoint on Linux をデプロイする方法について説明します。 展開を成功させるには、次のすべてのタスクを完了する必要があります。
重要
この記事には、サード パーティ製ツールに関する情報が含まれています。 これは統合シナリオの完了に役立ちますが、Microsoft ではサード パーティ製ツールのトラブルシューティング サポートを提供していません。
サポートについては、サード パーティベンダーにお問い合わせください。
前提条件とシステム要件
現在のソフトウェア バージョンの前提条件とシステム要件の説明については、「Linux 上の defender for Endpoint メイン」ページを参照してください。
さらに、Puppet のデプロイでは、Puppet 管理タスクについて理解し、Puppet を構成し、パッケージをデプロイする方法を理解する必要があります。 Puppet には、同じタスクを完了するための多くの方法があります。 これらの手順では、パッケージのデプロイに役立つ apt など、サポートされている Puppet モジュールの可用性を前提としています。 organizationは別のワークフローを使用する場合があります。 詳細については、 Puppet のドキュメントを参照 してください。
オンボーディング パッケージをダウンロードする
Microsoft Defender ポータルからオンボード パッケージをダウンロードします。
警告
Defender for Endpoint インストール パッケージの再パッケージ化は、サポートされているシナリオではありません。 これにより、製品の整合性に悪影響を及ぼし、改ざんアラートや更新プログラムの適用に失敗したトリガーなど、悪影響を及ぼす可能性があります。
Microsoft Defender ポータルで、[設定>Endpoints>Device Management>Onboarding に移動します。
最初のドロップダウン メニューで、オペレーティング システムとして [Linux サーバー] を選択します。 2 番目のドロップダウン メニューで、デプロイ方法として [お好みの Linux 構成管理ツール ] を選択します。
[オンボーディング パッケージをダウンロードする] を選択します。 ファイルを
WindowsDefenderATPOnboardingPackage.zip
として保存します。コマンド プロンプトから、ファイルがあることを確認します。
ls -l
total 8 -rw-r--r-- 1 test staff 4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip
アーカイブの内容を抽出します。
unzip WindowsDefenderATPOnboardingPackage.zip
Archive: WindowsDefenderATPOnboardingPackage.zip inflating: mdatp_onboard.json
Puppet マニフェストを作成する
Puppet サーバーによって管理されているデバイスに Defender for Endpoint on Linux をデプロイするための Puppet マニフェストを作成する必要があります。 この例では、puppetlabs から使用できる apt
モジュールと yumrepo
モジュールを使用し、モジュールが Puppet サーバーにインストールされていることを前提としています。
Puppet インストールの modules フォルダーの下に、
install_mdatp/files
フォルダーとinstall_mdatp/manifests
を作成します。 このフォルダーは通常、Puppet サーバー上の/etc/puppetlabs/code/environments/production/modules
にあります。先ほど作成した
mdatp_onboard.json
ファイルをinstall_mdatp/files
フォルダーにコピーします。デプロイ手順を含む
init.pp
ファイルを作成します。pwd
/etc/puppetlabs/code/environments/production/modules
tree install_mdatp
install_mdatp ├── files │ └── mdatp_onboard.json └── manifests └── init.pp
install_mdatp/manifests/init.pp
のコンテンツ
Defender for Endpoint on Linux は、次のいずれかのチャネルからデプロイできます。
-
insiders-fast
[channel]
-
insiders-slow
[channel]
-
prod、バージョン名を使用して
[channel]
として示されます ( 「Microsoft 製品の Linux ソフトウェア リポジトリ」を参照してください)
各チャネルは、Linux ソフトウェア リポジトリに対応します。
チャネルの選択により、デバイスに提供される更新プログラムの種類と頻度が決まります。 insiders-fast のデバイスは、更新プログラムと新機能を受け取る最初のデバイスであり、その後、インサイダーが遅く、最後に prod が続きます。
新機能をプレビューし、早期フィードバックを提供するには、社内の一部のデバイスを 、Insider-fast または insider-slow を使用するように構成することをお勧めします。
警告
初期インストール後にチャネルを切り替えるには、製品を再インストールする必要があります。 製品チャネルを切り替えるには: 既存のパッケージをアンインストールし、新しいチャネルを使用するようにデバイスを再構成し、このドキュメントの手順に従って新しい場所からパッケージをインストールします。
ディストリビューションとバージョンをメモし、 https://packages.microsoft.com/config/[distro]/
で最も近いエントリを特定します。
次のコマンドで、[ distro] と [version] を 特定した情報に置き換えます。
注:
RedHat、Oracle Linux、Amazon Linux 2、CentOS 8 の場合は、[ distro] を 'rhel' に置き換えます。
# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.
# @param distro The Linux distribution in lowercase. In case of RedHat, Oracle Linux, Amazon Linux 2, and CentOS 8, the distro variable should be 'rhel'.
# @param version The Linux distribution release number, e.g. 7.4.
class install_mdatp (
$channel = 'insiders-fast',
$distro = undef,
$version = undef
) {
case $facts['os']['family'] {
'Debian' : {
$release = $channel ? {
'prod' => $facts['os']['distro']['codename'],
default => $channel
}
apt::source { 'microsoftpackages' :
location => "https://packages.microsoft.com/${distro}/${version}/prod",
release => $release,
repos => 'main',
key => {
'id' => 'BC528686B50D79E339D3721CEB3E94ADBE1229CF',
'server' => 'keyserver.ubuntu.com',
},
}
}
'RedHat' : {
yumrepo { 'microsoftpackages' :
baseurl => "https://packages.microsoft.com/${distro}/${version}/${channel}",
descr => "packages-microsoft-com-prod-${channel}",
enabled => 1,
gpgcheck => 1,
gpgkey => 'https://packages.microsoft.com/keys/microsoft.asc',
}
}
default : { fail("${facts['os']['family']} is currently not supported.") }
}
case $facts['os']['family'] {
/(Debian|RedHat)/: {
file { ['/etc/opt', '/etc/opt/microsoft', '/etc/opt/microsoft/mdatp']:
ensure => directory,
owner => root,
group => root,
mode => '0755',
}
file { '/etc/opt/microsoft/mdatp/mdatp_onboard.json':
source => 'puppet:///modules/install_mdatp/mdatp_onboard.json',
owner => root,
group => root,
mode => '0600',
require => File['/etc/opt/microsoft/mdatp'],
}
package { 'mdatp':
ensure => 'installed',
require => File['/etc/opt/microsoft/mdatp/mdatp_onboard.json'],
}
}
default : { fail("${facts['os']['family']} is currently not supported.") }
}
}
展開
site.pp
ファイルに上記のマニフェストを含めます。
cat /etc/puppetlabs/code/environments/production/manifests/site.pp
node "default" {
include install_mdatp
}
登録済みのエージェント デバイスは、Puppet Server を定期的にポーリングし、検出されるとすぐに新しい構成プロファイルとポリシーをインストールします。
Puppet のデプロイを監視する
エージェント デバイスでは、次を実行してオンボード状態をチェックすることもできます。
mdatp health
...
licensed : true
org_id : "[your organization identifier]"
...
licensed: これにより、デバイスがorganizationに関連付けられていることが確認されます。
orgId: これは Defender for Endpoint organization識別子です。
オンボードの状態を確認する
スクリプトを作成することで、デバイスが正しくオンボードされたことをチェックできます。 たとえば、次のスクリプトでは、登録されているデバイスのオンボード状態がチェックされます。
mdatp health --field healthy
上記のコマンドは、製品がオンボードされ、期待どおりに機能している場合に 1
を出力します。
重要
製品が初めて起動すると、最新のウイルス対策定義がダウンロードされます。 インターネット接続によっては、これには数分かかる場合があります。 この間、上記のコマンドは 0
の値を返します。
製品が正常でない場合は、終了コード ( echo $?
で確認できます) は問題を示します。
-
1
デバイスがまだオンボードされていない場合は。 -
3
デーモンへの接続を確立できない場合。
インストールの問題をログする
エラーが発生したときにインストーラーによって作成される自動的に生成されたログを検索する方法の詳細については、「ログのインストールの 問題」を参照してください。
オペレーティング システムのアップグレード
オペレーティング システムを新しいメジャー バージョンにアップグレードするときは、最初に Linux 用 Defender for Endpoint をアンインストールし、アップグレードをインストールしてから、最後にデバイスの Linux 用 Defender for Endpoint を再構成する必要があります。
アンインストール
init.pp
ファイルに次の内容を含む、install_mdatp
に似たremove_mdatp
モジュールを作成します。
class remove_mdatp {
package { 'mdatp':
ensure => 'purged',
}
}
ヒント
さらに多くの情報を得るには、 Tech Community 内の Microsoft Security コミュニティ (Microsoft Defender for Endpoint Tech Community) にご参加ください。