Puppet을 사용하여 Linux에 엔드포인트용 Microsoft Defender 배포
적용 대상:
- 엔드포인트 서버용 Microsoft Defender
- 서버용 Microsoft Defender
엔드포인트용 Defender를 경험하고 싶으신가요? 무료 평가판을 신청하세요.
이 문서에서는 Puppet을 사용하여 Linux에서 엔드포인트용 Defender를 배포하는 방법을 설명합니다. 성공적으로 배포하려면 다음 작업을 모두 완료해야 합니다.
중요
이 문서에는 타사 도구에 대한 정보가 포함되어 있습니다. 통합 시나리오를 완료하는 데 도움이 되도록 제공되지만 Microsoft는 타사 도구에 대한 문제 해결 지원을 제공하지 않습니다.
지원을 받으려면 타사 공급업체에 문의하세요.
필수 구성 요소 및 시스템 요구 사항
필수 구성 요소 및 시스템 요구 사항에 대한 설명은 Linux의 엔드포인트용 Microsoft Defender 참조하세요.
또한 Puppet 배포의 경우 Puppet 관리 작업을 잘 알고, Puppet을 구성하고, 패키지를 배포하는 방법을 알고 있어야 합니다. Puppet에는 동일한 작업을 완료하는 여러 가지 방법이 있습니다. 이러한 지침에서는 패키지를 배포하는 데 도움이 되는 apt 와 같이 지원되는 Puppet 모듈의 가용성을 가정합니다. organization 다른 워크플로를 사용할 수 있습니다. 자세한 내용은 Puppet 설명서를 참조하세요.
온보딩 패키지 다운로드
Microsoft Defender 포털에서 온보딩 패키지를 다운로드합니다.
경고
엔드포인트용 Defender 설치 패키지를 다시 패키징하는 것은 지원되는 시나리오가 아닙니다. 이렇게 하면 제품의 무결성에 부정적인 영향을 미칠 수 있으며 변조 경고 및 업데이트가 적용되지 않는 것을 포함하지만 이에 국한되지 않는 부정적인 결과를 초래할 수 있습니다.
Microsoft Defender 포털에서 설정>엔드포인트>디바이스 관리>온보딩으로 이동합니다.
첫 번째 드롭다운 메뉴에서 Linux Server 를 운영 체제로 선택합니다. 두 번째 드롭다운 메뉴에서 기본 Linux 구성 관리 도구를 배포 방법으로 선택합니다.
온보딩 패키지 다운로드를 선택합니다. 파일을 로
WindowsDefenderATPOnboardingPackage.zip
저장합니다.보관 파일의 내용을 추출합니다.
unzip WindowsDefenderATPOnboardingPackage.zip
Archive: WindowsDefenderATPOnboardingPackage.zip inflating: mdatp_onboard.json
Puppet 매니페스트 만들기
Puppet 서버에서 관리하는 디바이스에 Linux의 엔드포인트용 Defender를 배포하기 위한 Puppet 매니페스트를 만들어야 합니다. 이 예제에서는 에서 사용할 수 있는 puppetlabs
및 yumrepo
모듈을 사용 apt
하며, 모듈이 Puppet 서버에 설치되어 있다고 가정합니다.
Puppet을 설치하는 경우 modules 폴더 아래에 및 폴더를 만듭니다
install_mdatp/files
install_mdatp/manifests
. modules 폴더는 일반적으로 Puppet 서버에 있습니다/etc/puppetlabs/code/environments/production/modules
.mdatp_onboard.json
이전에 만든 파일을 폴더에 복사합니다install_mdatp/files
.init.pp
배포 지침이 포함된 파일을 만듭니다.pwd
/etc/puppetlabs/code/environments/production/modules
tree install_mdatp
install_mdatp ├── files │ └── mdatp_onboard.json └── manifests └── init.pp
매니페스트 파일 만들기
매니페스트 파일을 만드는 방법에는 두 가지가 있습니다.
- 설치 관리자 스크립트 사용 또는
- 리포지토리를 수동으로 구성합니다.
설치 관리자 스크립트를 사용하여 엔드포인트용 Defender를 배포하는 매니페스트 만들기
- 설치 관리자 bash 스크립트를 다운로드합니다. Microsoft GitHub 리포지토리에서 설치 관리자 bash 스크립트 를 가져오거나 다음 명령을 사용하여 다운로드합니다.
wget https://raw.githubusercontent.com/microsoft/mdatp-xplat/refs/heads/master/linux/installation/mde_installer.sh /etc/puppetlabs/code/environments/production/modules/install_mdatp/files/
- 파일에 다음 콘텐츠를 추가합니다
install_mdatp/manifests/init.pp
. GitHub에서 직접 파일을 다운로드할 수도 있습니다.
# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.
class install_mdatp (
$channel = 'prod',
) {
# Ensure that the directory /tmp/mde_install exists
file { '/tmp/mde_install':
ensure => directory,
mode => '0755',
}
# Copy the installation script to the destination
file { '/tmp/mde_install/mde_installer.sh':
ensure => file,
source => 'puppet:///modules/install_mdatp/mde_installer.sh',
mode => '0777',
}
# Copy the onboarding script to the destination
file { '/tmp/mde_install/mdatp_onboard.json':
ensure => file,
source => 'puppet:///modules/install_mdatp/mdatp_onboard.json',
mode => '0777',
}
# Install MDE on the host using an external script
exec { 'install_mde':
command => "/tmp/mde_install/mde_installer.sh --install --channel ${channel} --onboard /tmp/mde_install/mdatp_onboard.json",
path => '/bin:/usr/bin',
user => 'root',
logoutput => true,
require => File['/tmp/mde_install/mde_installer.sh', '/tmp/mde_install/mdatp_onboard.json'], # Ensure the script is copied before running the installer
}
}
참고
설치 관리자 스크립트는 채널, 실시간 보호, 버전 등과 같은 다른 매개 변수도 지원합니다. 사용 가능한 옵션 목록에서 선택하려면 도움말을 검사.
./mde_installer.sh --help
리포지토리를 수동으로 구성하여 엔드포인트용 Defender를 배포하는 매니페스트 만들기
파일에 다음 콘텐츠를 추가합니다 install_mdatp/manifests/init.pp
.
GitHub에서 다운로드할 수도 있습니다.
# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.
class install_mdatp::configure_debian_repo (
String $channel,
String $distro,
String $version ) {
# Configure the APT repository for Debian-based systems
$release = $channel ? {
'prod' => $facts['os']['distro']['codename'],
default => $channel
}
apt::source { 'microsoftpackages':
location => "https://packages.microsoft.com/${distro}/${version}/prod",
release => $release,
repos => 'main',
key => {
'id' => 'BC528686B50D79E339D3721CEB3E94ADBE1229CF',
'server' => 'keyserver.ubuntu.com',
},
}
}
class install_mdatp::configure_redhat_repo (
String $channel,
String $distro,
String $version) {
# Configure the Yum repository for RedHat-based systems
yumrepo { 'microsoftpackages':
baseurl => "https://packages.microsoft.com/rhel/${version}/prod",
descr => 'packages-microsoft-com-prod',
enabled => 1,
gpgcheck => 1,
gpgkey => 'https://packages.microsoft.com/keys/microsoft.asc',
}
}
class install_mdatp::install {
# Common configurations for both Debian and RedHat
file { ['/etc/opt', '/etc/opt/microsoft', '/etc/opt/microsoft/mdatp']:
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
}
file { '/etc/opt/microsoft/mdatp/mdatp_onboard.json':
source => 'puppet:///modules/install_mdatp/mdatp_onboard.json',
owner => 'root',
group => 'root',
mode => '0600',
require => File['/etc/opt/microsoft/mdatp'],
}
# Install mdatp package
package { 'mdatp':
ensure => installed,
require => [
File['/etc/opt/microsoft/mdatp/mdatp_onboard.json'],
],
}
}
class install_mdatp (
$channel = 'prod'
) {
# Include the appropriate class based on the OS family
$distro = downcase($facts['os']['name'])
$version = $facts['os']['release']['major']
case $facts['os']['family'] {
'Debian': {
class { 'install_mdatp::configure_debian_repo':
channel => 'prod',
distro => $distro,
version => $version
} -> class { 'install_mdatp::install': }
}
'RedHat': {
class { 'install_mdatp::configure_redhat_repo':
channel => 'prod',
distro => $distro,
version => $version,
} -> class { 'install_mdatp::install': }
}
default: { fail("${facts['os']['family']} is currently not supported.")}
}
}
참고
Linux의 엔드포인트용 Defender는 참가자가 빠르고 내부자 속도가 느리고 prod 채널 중 하나에서 배포할 수 있습니다. 각 채널은 Linux 소프트웨어 리포지토리에 해당합니다. 채널 선택은 디바이스에 제공되는 업데이트의 유형과 빈도를 결정합니다. 의 insiders-fast
디바이스는 미리 보기에서 업데이트 및 새 기능을 받은 첫 번째 디바이스이며, 그 다음에 insiders-slow
는 , 그리고 마지막으로 입니다 prod
.
배포 및 버전을 확인하고 에서 https://packages.microsoft.com/config/[distro]/[version]
가장 가까운 항목을 식별합니다.
경고
초기 설치 후 채널을 전환하려면 제품을 다시 설치해야 합니다. 제품 채널을 전환하려면 기존 패키지를 제거하고 새 채널을 사용하도록 디바이스를 다시 구성하고 이 문서의 단계에 따라 새 위치에서 패키지를 설치합니다.
site.pp 파일 내에 매니페스트 포함
이 문서의 앞부분에서 설명한 매니페스트를 site.pp
파일에 포함합니다.
cat /etc/puppetlabs/code/environments/production/manifests/site.pp
node "default" {
include install_mdatp
}
등록된 에이전트 디바이스는 Puppet Server를 주기적으로 폴링하고 검색되는 즉시 새 구성 프로필 및 정책을 설치합니다.
Puppet 배포 모니터링
에이전트 디바이스에서 다음 명령을 실행하여 배포 상태 검사 수 있습니다.
mdatp health
...
healthy : true
health_issues : []
licensed : true
org_id : "[your organization identifier]"
...
-
healthy
: 엔드포인트용 Defender가 성공적으로 배포 및 작동되었는지 확인합니다. -
health_issues
: 정상 상태 발생한 문제를 표시합니다. -
licensed
: 디바이스가 organization 연결되어 있는지 확인합니다. -
orgId
: 엔드포인트용 Defender organization 식별자입니다.
설치 문제 해결
설치하는 동안 문제가 발생하는 경우 다음 자체 문제 해결 단계를 시도합니다.
오류가 발생할 때 설치 관리자가 만든 자동으로 생성된 로그를 찾는 방법에 대한 자세한 내용은 로그 설치 문제를 참조하세요.
일반적으로 발생하는 설치 문제에 대한 자세한 내용은 설치 문제를 참조하세요.
디바이스의 상태가 false이면 MDE 에이전트 상태 문제를 참조하세요.
제품 성능 문제는 성능 문제 해결, 성능 튜닝을 참조하세요.
프록시 및 연결 문제는 클라우드 연결 문제 해결을 참조하세요.
Microsoft에서 지원을 받으려면 클라이언트 분석기를 사용하여 지원 티켓을 작성하고 로그 파일을 제공합니다.
Linux에서 Microsoft Defender 대한 정책을 구성하는 방법
다음 방법을 사용하여 엔드포인트에서 바이러스 백신 및 EDR 설정을 구성할 수 있습니다.
- 사용 가능한 설정에 대한 자세한 내용은 Linux에서 엔드포인트용 Microsoft Defender 대한 기본 설정 설정을 참조하세요.
- Microsoft Defender 포털에서 설정을 구성하려면 보안 설정 관리를 참조하세요.
운영 체제 업그레이드
운영 체제를 새 주 버전으로 업그레이드할 때 먼저 Linux에서 엔드포인트용 Defender를 제거하고 업그레이드를 설치한 다음 디바이스의 Linux에서 엔드포인트용 Defender를 다시 구성해야 합니다.
제거
파일의 다음 내용과 유사한 install_mdatp
모듈 remove_mdatp
을 만듭니다.init.pp
class remove_mdatp {
package { 'mdatp':
ensure => 'purged',
}
}
팁
더 자세히 알아보고 싶으신가요? 기술 커뮤니티: 엔드포인트용 Microsoft Defender Tech Community의 Microsoft 보안 커뮤니티와 Engage.