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

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

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

Важно!

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

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

Описание предварительных требований и требований к системе для текущей версии программного обеспечения см. на странице main Defender для конечной точки в Linux.

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

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

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

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

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

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

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

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

    Возможность скачивания подключенного пакета

  4. В командной строке убедитесь, что у вас есть файл.

    ls -l
    
    total 8
    -rw-r--r-- 1 test  staff  4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip
    
  5. Извлеките содержимое архива.

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

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

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

  1. Создайте папки install_mdatp/files и install_mdatp/manifests в папке modules установки Puppet. Эта папка обычно находится на сервере /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
    

Содержимое файла install_mdatp/manifests/init.pp

Defender для конечной точки в Linux можно развернуть из одного из следующих каналов:

Каждый канал соответствует репозиторию программного обеспечения Linux.

Выбор канала определяет тип и частоту обновлений, предлагаемых вашему устройству. Устройства в программе предварительной оценки являются первыми, кто получает обновления и новые функции, за которыми следуют инсайдеры медленно, и, наконец, prod.

Для предварительного просмотра новых функций и предоставления ранних отзывов рекомендуется настроить некоторые устройства в организации для использования программы предварительной оценки быстрой или медленной для участников программы предварительной оценки.

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

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

Запишите дистрибутив и версию и определите ближайшие для него записи в разделе https://packages.microsoft.com/config/[distro]/.

В приведенных ниже командах замените [дистрибутив] и [версию] сведениями, которые вы определили:

Примечание.

В случае с RedHat, Oracle Linux, Amazon Linux 2 и CentOS 8 замените [дистрибутив] на rhel.

# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.
# @param distro The Linux distribution in lowercase. In case of RedHat, Oracle Linux, Amazon Linux 2, and CentOS 8, the distro variable should be 'rhel'.
# @param version The Linux distribution release number, e.g. 7.4.

class install_mdatp (
  $channel = 'insiders-fast',
  $distro = undef,
  $version = undef
) {
  case $facts['os']['family'] {
    'Debian' : {
      $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',
        },
      }
    }
    'RedHat' : {
      yumrepo { 'microsoftpackages' :
        baseurl  => "https://packages.microsoft.com/${distro}/${version}/${channel}",
        descr    => "packages-microsoft-com-prod-${channel}",
        enabled  => 1,
        gpgcheck => 1,
        gpgkey   => 'https://packages.microsoft.com/keys/microsoft.asc',
      }
    }
    default : { fail("${facts['os']['family']} is currently not supported.") }
  }

  case $facts['os']['family'] {
    /(Debian|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'],
      }

      package { 'mdatp':
        ensure  => 'installed',
        require => File['/etc/opt/microsoft/mdatp/mdatp_onboard.json'],
      }
    }
    default : { fail("${facts['os']['family']} is currently not supported.") }
  }
}

Развертывание

Добавьте приведенный выше манифест в site.pp файл:

cat /etc/puppetlabs/code/environments/production/manifests/site.pp
node "default" {
    include install_mdatp
}

Зарегистрированные устройства агента периодически опрашивают Puppet Server и устанавливают новые профили конфигурации и политики сразу после их обнаружения.

Мониторинг развертывания Puppet

На устройстве агента можно также проверка состояние подключения, выполнив следующую команду:

mdatp health
...
licensed                                : true
org_id                                  : "[your organization identifier]"
...
  • лицензированная. Это подтверждает, что устройство привязано к вашей организации.

  • orgId: это идентификатор организации Defender для конечной точки.

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

Вы можете проверка, что устройства были правильно подключены, создав скрипт. Например, следующий скрипт проверяет состояние подключения зарегистрированных устройств:

mdatp health --field healthy

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

Важно!

Когда продукт запускается в первый раз, он загружает последние определения антивредоносных программ. В зависимости от подключения к Интернету это может занять до нескольких минут. В течение этого времени приведенная выше команда возвращает значение 0.

Если продукт не работоспособен, код выхода (который можно проверить с помощью echo $?) указывает на проблему:

  • 1 Значение , если устройство еще не подключено.
  • 3 Значение , если не удается установить подключение к управляющей программе.

Журнал проблем с установкой

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

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

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

Удаление

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

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

Совет

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