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