Share via


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

適用於:

重要事項

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

開始之前:如果尚未安裝解壓縮,請安裝解壓縮。

Chef 元件已安裝且 Chef 存放庫存在, (chef 產生存放庫 <重新> 命名) 來儲存用來部署至 Chef 受控 Linux 伺服器上適用於端點的 Defender 的 Cookbook。

您可以從 Chef 存放庫中的 cookbooks 資料夾內執行下列命令,在現有的存放庫中建立新的 Cookbook:

chef generate cookbook mdatp

此命令會為名為 mdatp 的新活頁簿建立新的資料夾結構。 如果您已經有想要用來新增適用於端點的 Defender 部署的活頁簿,您也可以使用現有的活頁簿。 建立手冊之後,請在剛建立的cookbook資料夾內建立檔案資料夾:

mkdir mdatp/files

將可從 Microsoft Defender 入口網站下載的Linux伺服器上線 zip 檔案傳送到這個新的檔案資料夾。

警告

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

在 Chef 工作站上,流覽至 mdatp/recipes 資料夾。 此資料夾會在產生手冊時建立。 使用您慣用的文字編輯器 (如 vi 或 nano) ,將下列指示新增至 default.rb 檔案的結尾:

  • include_recipe '::onboard_mdatp'
  • include_recipe '::install_mdatp'

然後儲存並關閉 default.rb 檔案。

接下來,在 recipes 資料夾中建立名為 install_mdatp.rb 的新配方檔案,並將此文字新增至檔案:

#Add Microsoft Defender
Repo
case node['platform_family']
when 'debian'
 apt_repository 'MDAPRepo' do
   arch               'amd64'
   cache_rebuild      true
   cookbook           false
   deb_src            false
   key                'BC528686B50D79E339D3721CEB3E94ADBE1229CF'
   keyserver          "keyserver.ubuntu.com"
   distribution       'focal'
   repo_name          'microsoft-prod'
   components         ['main']
   trusted            true
   uri                "https://packages.microsoft.com/config/ubuntu/20.04/prod"
 end
 apt_package "mdatp"
when 'rhel'
 yum_repository 'microsoft-prod' do
   baseurl            "https://packages.microsoft.com/config/rhel/7/prod/"
   description        "Microsoft Defender for Endpoint"
   enabled            true
   gpgcheck           true
   gpgkey             "https://packages.microsoft.com/keys/microsoft.asc"
 end
 if node['platform_version'] <= 8 then
    yum_package "mdatp"
 else
    dnf_package "mdatp"
 end
end

您必須修改版本號碼、散發套件和存放庫名稱,以符合您要部署的版本和您想要部署的通道。 接下來,您應該在 mdatp/recipies 資料夾中建立 onboard_mdatp.rb 檔案。 將下列文字新增至該檔案:

#Create MDATP Directory
mdatp = "/etc/opt/microsoft/mdatp"
zip_path = "/path/to/chef-repo/cookbooks/mdatp/files/WindowsDefenderATPOnboardingPackage.zip"

directory "#{mdatp}" do
  owner 'root'
  group 'root'
  mode 0755
  recursive true
end

#Extract WindowsDefenderATPOnbaordingPackage.zip into /etc/opt/microsoft/mdatp

bash 'Extract Onboarding Json MDATP' do
  code <<-EOS
  unzip #{zip_path} -d #{mdatp}
  EOS
  not_if { ::File.exist?('/etc/opt/microsoft/mdatp/mdatp_onboard.json') }
end

請務必將路徑名稱更新為上線檔案的位置。 若要在 Chef 工作站上測試部署它,請執行 sudo chef-client -z -o mdatp。 部署之後,您應該考慮根據設定 Linux 上 適用於端點的 Microsoft Defender 的喜好設定,將組態檔建立及部署至伺服器。 建立和測試組態檔之後,您可以將它 cookbook/mdatp/files 放在您也放置上線套件的資料夾中。 然後您可以在 mdatp/recipies 資料夾中建立 settings_mdatp.rb 檔案,並新增下列文字:

#Copy the configuration file
cookbook_file '/etc/opt/microsoft/mdatp/managed/mdatp_managed.json' do
  source 'mdatp_managed.json'
  owner 'root'
  group 'root'
  mode '0755'
  action :create
end

若要將此步驟納入配方,只要將 新 include_recipe ':: settings_mdatp 增至 recipe 資料夾內的 default.rb 檔案即可。

您也可以使用 crontab 來排程自動更新 排程 適用於端點的 Microsoft Defender (Linux) 的更新

卸載 MDATP 手冊:

#Uninstall the Defender package
case node['platform_family']
when 'debian'
 apt_package "mdatp" do
   action :remove
 end
when 'rhel'
 if node['platform_version'] <= 8
then
    yum_package "mdatp" do
      action :remove
    end
 else
    dnf_package "mdatp" do
      action :remove
    end
 end
end

提示

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