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 インストール パッケージの再パッケージ化は、サポートされているシナリオではありません。 これにより、製品の整合性に悪影響を及ぼし、改ざんアラートや更新プログラムの適用に失敗したトリガーなど、悪影響を及ぼす可能性があります。

  1. Microsoft Defender ポータルで、[設定] [エンドポイント>] [デバイス管理>] [オンボード] >の順に移動します。

  2. 最初のドロップダウン メニューで、オペレーティング システムとして [Linux サーバー] を選択します。 2 番目のドロップダウン メニューで、デプロイ方法として [お好みの Linux 構成管理ツール ] を選択します。

  3. [オンボーディング パッケージをダウンロードする] を選択します。 ファイルを WindowsDefenderATPOnboardingPackage.zip として保存します。

    オンボード パッケージをダウンロードするオプション

  4. コマンド プロンプトから、ファイルがあることを確認します。

    ls -l
    
    total 8
    -rw-r--r-- 1 test  staff  4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip
    
  5. アーカイブの内容を抽出します。

    unzip WindowsDefenderATPOnboardingPackage.zip
    
    Archive:  WindowsDefenderATPOnboardingPackage.zip
    inflating: mdatp_onboard.json
    

Puppet マニフェストをCreateする

Puppet サーバーによって管理されているデバイスに Defender for Endpoint on Linux をデプロイするための Puppet マニフェストを作成する必要があります。 この例では、puppetlabs から入手できる apt モジュールと yumrepo モジュールを使用し、モジュールが Puppet サーバーにインストールされていることを前提としています。

Puppet インストールの modules フォルダーの下にあるフォルダー install_mdatp/ファイルinstall_mdatp/マニフェストをCreateします。 このフォルダーは通常、Puppet サーバーの /etc/puppetlabs/code/environments/production/modules にあります。 上記で作成したmdatp_onboard.json ファイルを install_mdatp/files フォルダーにコピーします。 デプロイ手順を含む init.pp ファイルをCreateします。

pwd
/etc/puppetlabs/code/environments/production/modules
tree install_mdatp
install_mdatp
├── files
│   └── mdatp_onboard.json
└── manifests
    └── init.pp

install_mdatp/manifests/init.pp のコンテンツ

Linux 用 Defender for Endpoint は、次のチャネル (以下、[チャネル] と表記) のいずれかから展開できます: insiders-fastinsiders-slow、または prod。これらの各チャネルは、Linux ソフトウェア リポジトリに対応しています。

チャネルの選択により、デバイスに提供される更新プログラムの種類と頻度が決まります。 insiders-fast のデバイスが最初に更新プログラムと新機能を受け取り、その後に insiders-slow、最後に prod が続きます。

新機能をプレビューし、早期のフィードバックを提供するために、企業内の一部のデバイスを insiders-fast または insiders-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 を再構成する必要があります。

アンインストール

モジュールをCreate remove_mdatpinit.pp ファイルに次の内容を含むinstall_mdatpに似ています。

class remove_mdatp {
    package { 'mdatp':
        ensure => 'purged',
    }
}

ヒント

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