Chef를 통해 Microsoft Defender for Endpoint(Linux용) 배포

적용 대상:

시작하기 전에: 아직 설치되지 않은 경우 압축을 풀고 설치합니다.

Chef 구성 요소가 이미 설치되어 있고 Chef 리포지토리(Chef 생성 리포지토리 <reponame>)가 있어 Chef 관리형 Linux 서버에서 엔드포인트용 Defender에 배포하는 데 사용할 쿡북을 저장합니다.

Chef 리포지토리에 있는 cookbooks 폴더 내에서 다음 명령을 실행하여 기존 리포지토리에 새 cookbook을 만들 수 있습니다.

chef generate cookbook mdatp

이 명령은 mdatp라는 새 쿡북에 대한 새 폴더 구조를 만듭니다. MDE 배포를 추가하는 데 사용하려는 쿡북이 이미 있는 경우 기존 쿡북을 사용할 수도 있습니다. cookbook을 만든 후 방금 만든 cookbook 폴더 내에 파일 폴더를 만듭니다.

mkdir mdatp/files

Microsoft 365 Defender 포털에서 다운로드할 수 있는 Linux Server 온보딩 zip 파일을 이 새 파일 폴더로 전송합니다.

Chef 워크스테이션에서 mdatp/recipes 폴더로 이동합니다. 이 폴더는 쿡북이 생성될 때 만들어집니다. 기본 설정 텍스트 편집기(예: vi 또는 nano)를 사용하여 default.rb 파일의 끝에 다음 지침을 추가합니다.

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

그런 다음 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 Onbaording 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

이 단계를 레시피의 일부로 포함하려면 레시피 폴더 내의 default.rb 파일에 include_recipe ':: settings_mdatp'를 추가하면 됩니다. 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