Поделиться через


Развертывание Microsoft Defender для конечной точки в Linux с помощью Puppet

Применимо к:

Хотите попробовать Defender для конечной точки? Зарегистрироваться для бесплатной пробной версии.

В этой статье описывается развертывание Defender для конечной точки в Linux с помощью Puppet. Для успешного развертывания требуется выполнить все следующие задачи:

Важно!

Эта статья содержит сведения о сторонних средствах. Это предоставляется для выполнения сценариев интеграции, однако корпорация Майкрософт не предоставляет поддержку по устранению неполадок для сторонних средств.
Обратитесь за поддержкой к стороннему поставщику.

Предварительные требования и требования к системе

Описание предварительных требований и требований к системе см. в разделе Microsoft Defender для конечной точки в Linux.

Кроме того, для развертывания Puppet необходимо быть знакомым с задачами администрирования Puppet, настроить Puppet и уметь развертывать пакеты. У Puppet есть множество способов выполнения одной и той же задачи. В этих инструкциях предполагается наличие поддерживаемых модулей Puppet, таких как apt для развертывания пакета. Ваша организация может использовать другой рабочий процесс. Дополнительные сведения см. в документации по Puppet.

Скачивание пакета подключения

Скачайте пакет подключения с Microsoft Defender портала.

Предупреждение

Переупаковка пакета установки Defender для конечной точки не поддерживается. Это может негативно повлиять на целостность продукта и привести к неблагоприятным результатам, включая, помимо прочего, активацию оповещений и обновлений о незаконном изменении.

  1. На портале Microsoft Defender перейдите в раздел Параметры Конечные>>точкиПодключениеуправления устройствами>.

  2. В первом раскрывающемся меню выберите Сервер Linux в качестве операционной системы. Во втором раскрывающемся меню выберите предпочитаемое средство управления конфигурацией Linux в качестве метода развертывания.

  3. Выберите Скачать пакет подключения. Сохраните файл как WindowsDefenderATPOnboardingPackage.zip.

    Параметр для скачивания подключенного пакета.

  4. Извлеките содержимое архива.

    unzip WindowsDefenderATPOnboardingPackage.zip
    
    Archive:  WindowsDefenderATPOnboardingPackage.zip
    inflating: mdatp_onboard.json
    

Создание манифеста Puppet

Необходимо создать манифест Puppet для развертывания Defender для конечной точки в Linux на устройствах, управляемых сервером Puppet. В этом примере используются apt модули и yumrepo , доступные из puppetlabs, и предполагается, что модули установлены на сервере Puppet.

  1. В папке modules , если установка Puppet, создайте папки install_mdatp/files и install_mdatp/manifests. Папка modules обычно находится на /etc/puppetlabs/code/environments/production/modules сервере Puppet.

  2. mdatp_onboard.json Скопируйте созданный ранее файл в папкуinstall_mdatp/files.

  3. Создайте init.pp файл, содержащий инструкции по развертыванию:

    pwd
    
    /etc/puppetlabs/code/environments/production/modules
    
    tree install_mdatp
    
    install_mdatp
    ├── files
    │   └── mdatp_onboard.json
    └── manifests
        └── init.pp
    

Создание файла манифеста

Создать файл манифеста можно двумя способами:

  • Использование скрипта установщика; или
  • Настройте репозитории вручную.

Создание манифеста для развертывания Defender для конечной точки с помощью сценария установщика

  1. Скачайте скрипт bash установщика. Извлеките скрипт bash установщика из репозитория Microsoft GitHub или скачайте его с помощью следующей команды.
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/
  1. Добавьте в файл следующее содержимое 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.")}
  }
}

Примечание.

Defender для конечной точки в Linux можно развернуть из одного из следующих каналов: insiders-fast, insiders-slow, 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: подтверждает, что устройство привязано к вашей организации.
  • orgId: идентификатор организации Defender для конечной точки.

Устранение неполадок при установке

Если во время установки возникают проблемы, попробуйте выполнить следующие действия по самостоятельному устранению неполадок:

  1. Дополнительные сведения о том, как найти автоматически создаваемый журнал, который создается установщиком при возникновении ошибки, см. в статье Проблемы с установкой журнала .

  2. Дополнительные сведения о распространенных проблемах с установкой см. в статье Проблемы с установкой .

  3. Если работоспособность устройства имеет значение false, см. сведения о проблемах работоспособности MDE агента.

  4. Сведения о проблемах с производительностью продукта см. в статье Устранение проблем с производительностью, настройка производительности.

  5. Сведения о проблемах с прокси-сервером и подключением см. в статье Устранение неполадок с подключением к облаку.

Чтобы получить поддержку от Корпорации Майкрософт, создайте запрос в службу поддержки и предоставьте файлы журналов с помощью клиентского анализатора.

Настройка политик для Microsoft Defender в Linux

Вы можете настроить параметры антивирусной программы и EDR в конечных точках с помощью следующих методов:

Обновления операционной системы

При обновлении операционной системы до новой основной версии необходимо сначала удалить Defender для конечной точки в Linux, установить обновление, а затем перенастроить Defender для конечной точки на linux на устройстве.

Удаление

Создайте модуль remove_mdatp , похожий на install_mdatp файл со следующим содержимым init.pp :

class remove_mdatp {
    package { 'mdatp':
        ensure => 'purged',
    }
}

Совет

Хотите узнать больше? Engage с сообществом Microsoft Security в нашем техническом сообществе: Microsoft Defender для конечной точки Техническое сообщество.