使用 Puppet 在 Linux 上部署 適用於端點的 Microsoft Defender

適用於:

想要體驗適用於端點的 Microsoft Defender 嗎? 注册免費試用版。

本文說明如何使用 Puppet 在 Linux 上部署適用於端點的 Defender。 成功部署需要完成下列所有工作:

重要事項

本文包含第三方工具的相關信息。 這是為了協助完成整合案例而提供,不過,Microsoft 不會提供第三方工具的疑難解答支援。
請連絡第三方廠商以取得支援。

必要條件和系統需求

如需目前軟體版本的必要條件和系統需求說明,請參閱 Linux 上主要適用於端點的 Defender 頁面

此外,針對 Puppet 部署,您必須熟悉 Puppet 系統管理工作、已設定 Puppet,以及知道如何部署套件。 Puppet 有許多方法可以完成相同的工作。 這些指示假設支援的 Puppet 模組可供使用,例如協助部署套件的 apt 。 您的組織可能會使用不同的工作流程。 如需詳細資訊,請參閱 Puppet 檔

下載上線套件

從入口網站下載上線套件 Microsoft Defender。

警告

不支援重新封裝適用於端點的Defender安裝套件。 這樣做可能會對產品的完整性造成負面影響,並導致不良結果,包括但不限於觸發竄改警示和無法套用更新。

  1. 在 Microsoft Defender 入口網站中,移至 [設定>端點>裝置管理>上線]

  2. 在第一個下拉功能表中,選取 [Linux Server ] 作為操作系統。 在第二個下拉功能表中,選 取 [您慣用的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
    

Create Puppet 指令清單

您必須建立 Puppet 指令清單,以將適用於 Linux 端點的 Defender 部署到 Puppet 伺服器所管理的裝置。 此範例會使用 puppetlabs 提供的 aptyumrepo 模組,並假設模組已安裝在 Puppet 伺服器上。

Create Puppet 安裝的 modules 資料夾底下的資料夾install_mdatp/檔案install_mdatp/指令清單。 此資料夾通常位於 Puppet 伺服器上的 /etc/puppetlabs/code/environments/production/modules 。 將上面建立的mdatp_onboard.json檔案複製到 [install_mdatp/檔案] 檔案 夾。 Create 包含部署指示的 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

Linux 上適用於端點的 Defender 可以從下列其中一個通道部署, (如下所示為 [channel]) : 測試人員快速測試人員速度緩慢生產。每個通道都會對應至 Linux 軟體存放庫。

通道的選擇會決定提供給您裝置的更新類型和頻率。 快速測試人員中的裝置是第一個接收更新和新功能的裝置,後面接著測試人員速度緩慢,最後是 prod

為了預覽新功能並提供早期的意見反應,建議您將企業中的某些裝置設定為使用 測試人員快速測試人員速度緩慢

警告

在初始安裝之後切換通道需要重新安裝產品。 若要切換產品通道:卸載現有的套件,請將裝置重新設定為使用新通道,並遵循本檔中的步驟,從新位置安裝套件。

請記下您的散發套件和版本,並識別下最接近的專案 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]"
...
  • 授權:這會確認裝置已系結至您的組織。

  • orgId:這是適用於端點的Defender組織標識碼。

檢查上線狀態

您可以藉由建立腳本,檢查裝置是否已正確上線。 例如,下列腳本會檢查已註冊的裝置上線狀態:

mdatp health --field healthy

上述命令會 1 列印產品是否已上線並如預期般運作。

重要事項

當產品第一次啟動時,它會下載最新的反惡意代碼定義。 視您的因特網連線而定,這可能需要幾分鐘的時間。 在這段期間,上述命令會傳回的 0值。

如果產品狀況不良,可透過檢查的結束代碼 (echo $?) 表示問題:

  • 如果裝置尚未上線,則為 1。
  • 如果無法建立與精靈的連接,則為 3。

記錄安裝問題

如需有關如何尋找安裝程式在發生錯誤時所建立之自動產生的記錄檔的詳細資訊,請參閱 記錄安裝問題

操作系統升級

將操作系統升級至新的主要版本時,您必須先在 Linux 上卸載適用於端點的 Defender、安裝升級,最後在您的裝置上重新設定適用於端點的 Defender。

卸載

Create 與 init.pp 檔案中具有下列內容的install_mdatp類似的模組remove_mdatp:

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

提示

想要深入了解? Engage 技術社群中的 Microsoft 安全性社群:適用於端點的 Microsoft Defender 技術社群。