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

적용 대상:

중요

이 문서에는 타사 도구에 대한 정보가 포함되어 있습니다. 통합 시나리오를 완료하는 데 도움이 되도록 제공되지만 Microsoft는 타사 도구에 대한 문제 해결 지원을 제공하지 않습니다.
지원을 받으려면 타사 공급업체에 문의하세요.

시작하기 전에: 아직 설치되지 않은 경우 압축 해제를 설치합니다.

Chef 구성 요소가 이미 설치되어 있으며 Chef 관리형 Linux 서버의 엔드포인트용 Defender에 배포하는 데 사용되는 쿡북을 저장하기 위해 Chef 리포지토리(chef generate repo <reponame>)가 있습니다.

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

chef generate cookbook mdatp

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

mkdir mdatp/files

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

경고

엔드포인트용 Defender 설치 패키지를 다시 패키징하는 것은 지원되는 시나리오가 아닙니다. 이렇게 하면 제품의 무결성에 부정적인 영향을 미칠 수 있으며 변조 경고 및 업데이트가 적용되지 않는 것을 포함하지만 이에 국한되지 않는 부정적인 결과를 초래할 수 있습니다.

Chef 워크스테이션에서 mdatp/recipes 폴더로 이동합니다. 이 폴더는 cookbook이 생성될 때 만들어집니다. 기본 설정 텍스트 편집기(예: 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 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

이 단계를 레시피의 일부로 포함하려면 recipe 폴더 내의 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

더 자세히 알아보고 싶으신가요? 기술 커뮤니티: 엔드포인트용 Microsoft Defender Tech Community의 Microsoft 보안 커뮤니티와 Engage.