次の方法で共有


Puppet を使用して Linux にMicrosoft Defender for Endpointをデプロイする

適用対象:

Defender for Endpoint を試す場合は、 無料試用版にサインアップしてください。

この記事では、Puppet を使用して Defender for Endpoint on Linux をデプロイする方法について説明します。 展開を成功させるには、次のすべてのタスクを完了する必要があります。

重要

この記事には、サード パーティ製ツールに関する情報が含まれています。 これは統合シナリオの完了に役立ちますが、Microsoft ではサード パーティ製ツールのトラブルシューティング サポートを提供していません。
サポートについては、サード パーティベンダーにお問い合わせください。

前提条件とシステム要件

前提条件とシステム要件の詳細については、「Linux でのMicrosoft Defender for Endpoint」を参照してください。

さらに、Puppet のデプロイでは、Puppet 管理タスクについて理解し、Puppet を構成し、パッケージをデプロイする方法を理解する必要があります。 Puppet には、同じタスクを完了するための多くの方法があります。 これらの手順では、パッケージのデプロイに役立つ apt など、サポートされている Puppet モジュールの可用性を前提としています。 organizationは別のワークフローを使用する場合があります。 詳細については、 Puppet のドキュメントを参照してください

オンボーディング パッケージをダウンロードする

Microsoft Defender ポータルからオンボード パッケージをダウンロードします。

警告

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

  1. Microsoft Defender ポータルで、[設定>Endpoints>Device management>Onboarding] に移動します

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

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

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

  4. アーカイブの内容を抽出します。

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

Puppet マニフェストを作成する

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

  1. Puppet インストールの場合 は、modules フォルダーの下に install_mdatp/files フォルダーを作成し、 install_mdatp/manifestsします。 modules フォルダーは通常、Puppet サーバーの/etc/puppetlabs/code/environments/production/modulesにあります。

  2. 先ほど作成した mdatp_onboard.json ファイルを install_mdatp/files フォルダーにコピーします。

  3. デプロイ手順を含む init.pp ファイルを作成します。

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

マニフェスト ファイルを作成する

マニフェスト ファイルを作成するには、次の 2 つの方法があります。

  • インストーラー スクリプトを使用します。又は
  • リポジトリを手動で構成します。

インストーラー スクリプトを使用して Defender for Endpoint を展開するマニフェストを作成する

  1. インストーラー bash スクリプトをダウンロードします。 Microsoft GitHub リポジトリから インストーラー bash スクリプト をプルするか、次のコマンドを使用してダウンロードします。
wget https://raw.githubusercontent.com/microsoft/mdatp-xplat/refs/heads/master/linux/installation/mde_installer.sh /etc/puppetlabs/code/environments/production/modules/install_mdatp/files/
  1. install_mdatp/manifests/init.pp ファイルに次の内容を追加します。 GitHub から直接ファイルをダウンロードすることもできます

# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.

class install_mdatp (
  $channel = 'prod',
) {
  # Ensure that the directory /tmp/mde_install exists
  file { '/tmp/mde_install':
    ensure => directory,
    mode   => '0755',
  }

  # Copy the installation script to the destination
  file { '/tmp/mde_install/mde_installer.sh':
    ensure => file,
    source => 'puppet:///modules/install_mdatp/mde_installer.sh',
    mode   => '0777',
  }

  # Copy the onboarding script to the destination
  file { '/tmp/mde_install/mdatp_onboard.json':
    ensure => file,
    source => 'puppet:///modules/install_mdatp/mdatp_onboard.json',
    mode   => '0777',
  }

  # Install MDE on the host using an external script
  exec { 'install_mde':
    command     => "/tmp/mde_install/mde_installer.sh --install --channel ${channel} --onboard /tmp/mde_install/mdatp_onboard.json",
    path        => '/bin:/usr/bin',
    user        => 'root',
    logoutput   => true,
    require     => File['/tmp/mde_install/mde_installer.sh', '/tmp/mde_install/mdatp_onboard.json'], # Ensure the script is copied before running the installer
  }

}

注:

インストーラー スクリプトでは、チャネル、リアルタイム保護、バージョンなどの他のパラメーターもサポートされています。使用可能なオプションの一覧から選択するには、ヘルプチェック。 ./mde_installer.sh --help

リポジトリを手動で構成して Defender for Endpoint をデプロイするマニフェストを作成する

install_mdatp/manifests/init.pp ファイルに次の内容を追加します。 GitHub からダウンロードすることもできます。

# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.

class install_mdatp::configure_debian_repo (
  String $channel,
  String $distro,
  String $version ) {
  # Configure the APT repository for Debian-based systems

  $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',
    },
  }
}

class install_mdatp::configure_redhat_repo (
  String $channel,
  String $distro,
  String $version) {
  # Configure the Yum repository for RedHat-based systems
  
  yumrepo { 'microsoftpackages':
    baseurl  => "https://packages.microsoft.com/rhel/${version}/prod",
    descr    => 'packages-microsoft-com-prod',
    enabled  => 1,
    gpgcheck => 1,
    gpgkey   => 'https://packages.microsoft.com/keys/microsoft.asc',
  }
}

class install_mdatp::install {
  # Common configurations for both Debian and 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'],
  }

  # Install mdatp package
  package { 'mdatp':
    ensure  => installed,
    require => [
      File['/etc/opt/microsoft/mdatp/mdatp_onboard.json'],
    ],
  }
}


class install_mdatp (
  $channel = 'prod'
) {
  # Include the appropriate class based on the OS family
  
  $distro = downcase($facts['os']['name'])
  $version = $facts['os']['release']['major']
  
  case $facts['os']['family'] {
    'Debian': {
      class { 'install_mdatp::configure_debian_repo':
        channel => 'prod',
        distro => $distro,
        version => $version
        } -> class { 'install_mdatp::install': }
    }
    'RedHat': {
      class { 'install_mdatp::configure_redhat_repo':
        channel => 'prod',
        distro => $distro,
        version => $version,
        } -> class { 'install_mdatp::install': }
    }
    default: { fail("${facts['os']['family']} is currently not supported.")}
  }
}

注:

Defender for Endpoint on Linux は、 insiders-fast、insiders-slow、prod のいずれかのチャネルからデプロイできます。各チャネルは、Linux ソフトウェア リポジトリに対応します。 チャネルの選択によって、デバイスに提供される更新プログラムの種類と頻度が決まります。 insiders-fastのデバイスは、プレビューで更新プログラムと新機能を受け取る最初のデバイスで、次にinsiders-slow、最後に prod

ディストリビューションとバージョンをメモし、 https://packages.microsoft.com/config/[distro]/[version]で最も近いエントリを特定します。

警告

初期インストール後にチャネルを切り替えるには、製品を再インストールする必要があります。 製品チャネルを切り替えるには: 既存のパッケージをアンインストールし、新しいチャネルを使用するようにデバイスを再構成し、このドキュメントの手順に従って新しい場所からパッケージをインストールします。

site.pp ファイル内にマニフェストを含める

この記事で前述したマニフェストを site.pp ファイルに含めます。

cat /etc/puppetlabs/code/environments/production/manifests/site.pp
node "default" {
    include install_mdatp
}

登録済みのエージェント デバイスは、Puppet Server を定期的にポーリングし、検出されるとすぐに新しい構成プロファイルとポリシーをインストールします。

Puppet のデプロイを監視する

エージェント デバイスでは、次のコマンドを実行してデプロイ状態をチェックすることもできます。

mdatp health
...
healthy                                 : true
health_issues                           : []
licensed                                : true
org_id                                  : "[your organization identifier]"
...
  • healthy: Defender for Endpoint が正常にデプロイされ、動作していることを確認します。
  • health_issues: 正常な状態が false になる原因となった問題を示します。
  • licensed: デバイスがorganizationに関連付けられていることを確認します。
  • orgId: Defender for Endpoint organization識別子。

インストールに関する問題のトラブルシューティング

インストール中に問題が発生した場合は、次の自己トラブルシューティング手順を試してください。

  1. エラーが発生したときにインストーラーによって作成される自動的に生成されたログを検索する方法の詳細については、「 ログのインストールの問題 」を参照してください。

  2. 一般的に発生する インストールの問題 の詳細については、「インストールの問題」を参照してください。

  3. デバイスの正常性が false の場合は、エージェントの正常性に関する問題MDE参照してください

  4. 製品のパフォーマンスの問題については、「パフォーマンスの問題のトラブルシューティングパフォーマンスチューニング」を参照してください。

  5. プロキシと接続の問題については、「クラウド接続の問題のトラブルシューティング」を参照してください。

Microsoft からサポートを受けるためには、サポート チケットを発行し、クライアント アナライザーを使用してログ ファイルを提供します

Linux 上のMicrosoft Defenderのポリシーを構成する方法

エンドポイントでウイルス対策と EDR の設定を構成するには、次の方法を使用します。

オペレーティング システムのアップグレード

オペレーティング システムを新しいメジャー バージョンにアップグレードするときは、まず Defender for Endpoint on Linux をアンインストールし、アップグレードをインストールしてから、デバイスで Defender for Endpoint on Linux を再構成する必要があります。

アンインストール

init.pp ファイルに次の内容を含む、install_mdatpに似たremove_mdatpモジュールを作成します。

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

ヒント

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