通过 Chef 在 Linux 上部署 Defender for Endpoint

适用于:

重要

本文包含有关第三方工具的信息。 这是为了帮助完成集成方案而提供的,但是,Microsoft 不提供对第三方工具的故障排除支持。
请联系第三方供应商获取支持。

开始之前:如果尚未安装,请安装 unzip。

Chef 组件已安装,并且存在 Chef 存储库 (chef 生成存储库 <) > 存储用于部署到 Chef 托管 Linux 服务器上的 Defender for Endpoint 的指南。

可以通过从 chef 存储库中的“食谱”文件夹内运行以下命令,在现有存储库中创建新的食谱:

chef generate cookbook mdatp

此命令为名为 mdatp 的新指南创建新的文件夹结构。 如果已有一本要用于添加 Defender for Endpoint 部署的指南,也可以使用现有指南。 创建食谱后,在刚刚创建的食谱文件夹中创建一个文件文件夹:

mkdir mdatp/files

将可从 Microsoft Defender 门户下载的 Linux Server 加入 zip 文件传输到此新文件文件夹。

警告

不支持重新打包 Defender for Endpoint 安装包。 这样做可能会对产品的完整性产生负面影响,并导致不良结果,包括但不限于触发篡改警报和无法应用的更新。

在 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 for Endpoint首选项创建配置文件并将其部署到服务器。 创建并测试配置文件后,可以将其放入 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 for Endpoint (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 for Endpoint技术社区