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

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

Средство развертывания Defender поддерживает как ручное, так и массовое подключение с помощью сторонних инструментов, таких как Chef, Ansible, Puppet и SaltStack. Средство поддерживает несколько параметров, которые можно использовать для настройки крупномасштабных развертываний, что позволяет использовать специализированные установки в различных средах.

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

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

  • Разрешить подключение к URL-адресу: msdefender.download.prss.microsoft.com. Перед развертыванием обязательно выполните тест подключения, который проверяет, доступны ли URL-адреса, которые использует Defender для конечной точки.
  • На конечной точке должен быть установлен wget или curl .

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

  • Память устройства: более 1 ГБ
  • Доступное место на диске на устройстве: более 2 ГБ
  • Версия библиотеки Glibc на устройстве: более новая, чем 2.17
  • Версия сборки Defender: должна поддерживаться и иметь неистекший срок действия. Чтобы проверить дату окончания срока действия продукта, выполните команду -mdatp health.

Совет

Перед запуском средства развертывания для подключения Defender к серверу Linux рекомендуется запустить средство с --pre-req параметром , чтобы помочь выявить и устранить любые потенциальные проблемы, которые могут повлиять на развертывание.

Развертывание: пошаговое руководство

  1. Скачайте средство развертывания Defender на портале Defender, выполнив следующие действия.

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

    2. В раскрывающемся меню шага 1 выберите Linux в качестве операционной системы.

    3. В разделе Скачать и применить пакеты или файлы нажмите кнопку Скачать пакет в разделе Средство развертывания Defender.

    Примечание.

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

    Снимок экрана: кнопка скачивания пакета.

  2. Из командной строки извлеките содержимое архива:

    unzip GatewayLinuxDefenderDeploymentTool.zip
    
    Archive: GatewayLinuxDefenderDeploymentTool.zip
    inflating: defender_deployment_tool.sh
    
  3. Предоставьте скрипту разрешения на выполнение.

    chmod +x defender_deployment_tool.sh
    
  4. Запустите скрипт с помощью следующей команды, чтобы установить Microsoft Defender для конечной точки и подключить к нему свое устройство.

    sudo bash defender_deployment_tool.sh
    

    Эта команда устанавливает последнюю версию агента из рабочего канала и подключает устройство к порталу Defender. Для отображения устройства в инвентаризации устройств может потребоваться 5–20 минут.

    Примечание.

    Если вы настроили общесистемный прокси-сервер для перенаправления трафика Defender для конечной точки, убедитесь, что прокси-сервер также настроен с помощью средства развертывания Defender. Доступные параметры прокси-сервера см. в справке командной строки (--help).

  5. Вы можете дополнительно настроить развертывание, передав параметры в средство в зависимости от ваших требований. Используйте параметр --help , чтобы просмотреть все доступные параметры:

     ./defender_deployment_tool.sh --help
    

    Снимок экрана с выводом команды help.

    В следующей таблице приведены примеры команд для полезных сценариев.

    Сценарий Команда
    Проверьте наличие невыполненных предварительных условий sudo ./defender_deployment_tool.sh --pre-req
    Запуск теста подключения sudo ./defender_deployment_tool.sh --connectivity-test
    Развертывание в пользовательском расположении sudo ./defender_deployment_tool.sh --install-path /usr/microsoft/
    Развертывание из локально настроенного репозитория пакетов sudo ./defender_deployment_tool.sh --use-local-repo

    Этот параметр нельзя сочетать с --channel или --clean.
    Развертывание из определенного канала sudo ./defender_deployment_tool.sh --channel insiders-slow
    Развертывание с помощью прокси-сервера sudo ./defender_deployment_tool.sh --http-proxy <http://username:password@proxy_host:proxy_port>
    Развертывание определенной версии агента sudo ./defender_deployment_tool.sh --mdatp 101.25042.0003 --channel prod
    Обновление до определенной версии агента sudo ./defender_deployment_tool.sh --upgrade --mdatp 101.24082.0004
    Понизить версию агента до определенной версии sudo ./defender_deployment_tool.sh --downgrade --mdatp 101.24082.0004
    Удалить Defender sudo ./defender_deployment_tool.sh --removeДополнительные сведения см. в статье Отключение или удаление Microsoft Defender для конечной точки на Linux
    Подключение только в том случае, если Defender уже установлен sudo ./defender_deployment_tool.sh --only-onboard
    Отключение Defender sudo ./defender_deployment_tool.sh --offboard MicrosoftDefenderATPOffboardingLinuxServer.py
    (Примечание. Перед использованием параметра --offboard необходимо сначала скачать последний скрипт вывода из эксплуатации с портала Defender: Система > Параметры > Конечные точки > Вывод из эксплуатации). Другие методы вывода из эксплуатации см. в статье Вывод из эксплуатации или удаление Microsoft Defender для конечной точки в Linux.

Мониторинг хода развертывания на портале Microsoft Defender

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

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

Чтобы отфильтровать события развертывания на временной шкале, введите DefenderDeployment в поле поиска временной шкалы. Каждое событие содержит Defender deployment tool: <step> succeeded или Defender deployment tool: <step> failed и включает все дополнительные сведения, которые инструмент сообщает для этого шага. На следующем снимка экрана показан успешный запуск установки.

Временная шкала развертывания

Успешное выполнение установки и подключения создает следующую последовательность событий:

Order Шаг (ActionName) Description
1 Start Запускается средство развертывания. Это событие включает версию средства и операцию: установка, обновление, понижение, удаление или отключение.
2 Download Средство загружает скрипт установщика из Microsoft. Этот шаг пропускается, если вы предоставляете предварительно подготовленный скрипт с параметром --script .
3 Проверка предварительных условий Средство проверяет требования к системе, такие как память, место на диске, glibc и функции ядра.
4 Installation Средство устанавливает пакет Microsoft Defender для конечной точки. Это событие содержит информацию об установленной версии агента.
5 Инициализация датчика Агент завершает первоначальную настройку, а датчик лицензирован и активен.
6 Завершение последовательности Полная последовательность развертывания завершается. Этот шаг всегда является последним событием в ходе выполнения.

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

Запросите состояние развертывания с помощью расширенного поиска

Чтобы просмотреть события для конкретного устройства, выполните следующий запрос в Расширенном поиске. Замените <DeviceId> идентификатором целевого устройства. Чтобы найти идентификатор устройства, перейдите к инвентаризации устройств или запустите mdatp health --field edr_device_id его на устройстве.

DeviceEvents
| where Timestamp > ago(1d)
| where ActionType == "DefenderDeploymentToolEvent"
| where DeviceId == "<DeviceId>"
| extend Details = parse_json(AdditionalFields)
| project
    Timestamp,
    DeviceName,
    Step = tostring(Details.ActionName),
    Succeeded = tobool(Details.IsSuccess),
    ExitCode = toint(Details.ExitCode),
    Data = tostring(Details.Data),
    ErrorDescription = tostring(Details.ErrorDescription)
| sort by Timestamp asc

Чтобы получить сводку о состоянии развертывания для всех устройств, выполните следующий запрос. Возвращает самый последний этап, о котором сообщило каждое устройство за последние 30 дней, и классифицирует каждое устройство как Подключено, Сбой подключения или находящееся в процессе подключения:

DeviceEvents
| where Timestamp > ago(30d)
| where ActionType == "DefenderDeploymentToolEvent"
| extend Details = parse_json(AdditionalFields)
| extend Step = tostring(Details.ActionName), Succeeded = tobool(Details.IsSuccess)
| summarize arg_max(Timestamp, DeviceName, Step, Succeeded) by DeviceId
| extend Status = case(
    Step == "Sequence completion" and Succeeded, "Onboarded",
    Step == "Sequence completion" and not(Succeeded), "Onboarding Failed",
    not(Succeeded), strcat("Failed at: ", Step),
    "Onboarding")
| project DeviceId, DeviceName, LastEvent = Timestamp, LastStep = Step, Status

Проверка функционирования AV/EDR

  1. На портале Microsoft Defender откройте инвентаризацию устройств. На отображение устройства на портале может потребоваться 5–20 минут.

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

    1. Убедитесь, что включена защита в режиме реального времени (обозначается результатом true при выполнении следующей команды):

      mdatp health --field real_time_protection_enabled
      

      Если он не включен, выполните следующую команду:

      mdatp config real-time-protection --value enabled
      
    2. Откройте окно терминала и выполните следующую команду, чтобы запустить тест обнаружения:

      curl -o /tmp/eicar.com.txt https://secure.eicar.org/eicar.com.txt
      
    3. Вы можете выполнить дополнительные тесты обнаружения в ZIP-файлах с помощью любой из следующих команд:

      curl -o /tmp/eicar_com.zip https://secure.eicar.org/eicar_com.zip
      curl -o /tmp/eicarcom2.zip https://secure.eicar.org/eicarcom2.zip
      
    4. Файлы должны быть помещены в карантин с помощью Defender для конечных точек в Linux. Используйте следующую команду, чтобы получить список всех обнаруженных угроз:

      mdatp threat list
      
  3. Запустите тест обнаружения EDR и имитируйте обнаружение, чтобы убедиться, что устройство корректно подключено к службе и передаёт в неё данные. На недавно подключенном устройстве выполните следующие действия.

    1. Скачайте и извлеките файл скрипта на подключенный сервер Linux.

    2. Предоставьте исполняемые разрешения скрипту:

      chmod +x mde_linux_edr_diy.sh
      
    3. Выполните следующую команду:

      ./mde_linux_edr_diy.sh
      
    4. Через несколько минут в Microsoft Defender XDR должно быть создано оповещение.

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

Устранение ошибок развертывания

  1. Проверьте журналы ошибок развертывания:

    • /tmp/defender_deployment_tool.log записывает действие средства развертывания.
    • /tmp/defender_deployment_tool_telemetry.logзаписывает события хода выполнения, которые средство отправляет на портал Microsoft Defender.
  2. Если у вас возникли проблемы с подключением, выполните следующую команду, чтобы выполнить тест подключения:

    sudo ./defender_deployment_tool.sh --connectivity-test
    

    Это может занять некоторое время, поскольку выполняется проверка всех URL-адресов, необходимых Defender, и выявляются проблемы, если они есть.

  3. Выполните запрос расширенного поиска для устройства и найдите самое последнее событие, в котором Succeeded имеет значение false. Поле Step определяет неудачный шаг, и ErrorDescriptionExitCode поля объясняют, почему:

    • Если развертывание завершится сбоем на шаге загрузки , скрипт установщика не удалось скачать. Убедитесь, что на устройстве установлен curl или wget и что для него разрешены исходящие HTTPS-подключения к конечным точкам загрузки Microsoft.

    • Если развертывание завершается сбоем на этапе проверки готовности , устройство не соответствует минимальным требованиям к системе. Поле ErrorDescription выводит список неудачных проверок, разделенных на |. Неблокирующие сбои имеют (non_blocking) префикс и не останавливают развертывание.

    • Если развертывание завершится сбоем на этапе установки , диспетчер пакетов не мог установить агент. Распространенные причины включают неправильно настроенный репозиторий пакетов, отсутствующую зависимость или запрошенную mdatp версию, которая недоступна в выбранном канале.

    • Если развертывание завершится сбоем на этапе инициализации датчика , агент установил, но не завершил подключение в течение ожидаемого времени. Запустите mdatp health на устройстве и проверьте поля licensed, healthy и org_id.

    • Если события развертывания не отображаются в портале для этого устройства, проверьте /tmp/defender_deployment_tool_telemetry.log на этом устройстве, чтобы подтвердить, что средство отправило эти события.

  4. Если это не поможет устранить проблему, попробуйте выполнить следующие действия.

Как переключаться между каналами после того, как вы развернули приложение из канала

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

  • Insiders — быстрый
  • Инсайдеры — медленный круг
  • prod (продукционная среда)

Каждый из этих каналов соответствует репозиторию программного обеспечения Linux. Канал определяет тип и частоту обновлений, предлагаемых вашему устройству. Устройства в канале "insiders-fast" первыми получают обновления и новые функции, затем их получают устройства в канале "insiders-slow", и наконец — в "prod".

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

Для предварительного ознакомления с новыми функциями и предоставления отзывов на раннем этапе рекомендуется настроить некоторые устройства в вашей организации на использование insiders-fast или insiders-slow. Если вы уже развернули Defender для конечных точек на Linux из определенного канала и хотите переключиться на другой канал (например, с prod на insiders-fast), необходимо сначала удалить текущий канал, затем удалить репозиторий текущего канала и, наконец, установить Defender из нового канала, как показано в следующем примере, в котором канал меняется с insiders-fast на prod:

  1. Удалите версию Microsoft Defender for Endpoint для Linux из канала Insiders Fast.

    sudo ./defender_deployment_tool.sh --remove --channel insiders-fast
    
  2. Удалите Defender for Endpoint из репозитория Linux insiders-fast.

    sudo ./defender_deployment_tool.sh --clean --channel insiders-fast
    
  3. Установите Microsoft Defender для конечной точки на Linux с помощью рабочего канала.

    sudo ./defender_deployment_tool.sh --channel prod