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


Настройка автономного обновления аналитики безопасности для Microsoft Defender для конечной точки в Linux

Область применения:

В этом документе описывается функция автономного обновления аналитики безопасности Microsoft Defender для конечной точки в Linux.

Важно!

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

Эта функция позволяет организации обновлять аналитику безопасности (также называемые определениями или сигнатурами в этом документе) на конечных точках Linux с ограниченным доступом к Интернету или без доступа к Интернету с помощью локального сервера размещения (в этом документе называется зеркальным сервером ).

Зеркальный сервер — это любой сервер в среде клиента, который может подключиться к облаку Майкрософт для скачивания подписей. Другие конечные точки Linux извлекает подписи с зеркального сервера через предопределенный интервал.

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

  • Возможность управлять частотой загрузки подписей на локальном сервере и управлять ими, & частотой, с которой конечные точки извлекали подписи с локального сервера.
  • Добавляет дополнительный уровень защиты & управления, так как скачанные сигнатуры могут быть протестированы на тестовом устройстве перед распространением на весь парк.
  • Снижает пропускную способность сети, так как теперь только один локальный сервер будет опрашивать MS Cloud, чтобы получить последние подписи от имени всего вашего парка.
  • Локальный сервер может работать под управлением любой из трех ОС — Windows, Mac, Linux и не требуется для установки Defender для конечной точки.
  • Предоставляет самую актуальную антивирусную защиту, так как сигнатуры всегда загружаются вместе с последней совместимой подсистемой AV.
  • В каждой итерации подпись с версией n-1 перемещается в папку резервного копирования на локальном сервере. Если возникла проблема с последней сигнатурой, вы можете извлечь версию сигнатуры n-1 из папки резервного копирования в конечные точки.
  • В редких случаях, когда автономное обновление завершается сбоем, вы также можете выбрать резервный переход на онлайн-обновления из microsoft cloud (традиционный метод).

Как работает автономное обновление аналитики безопасности

  • Организациям необходимо настроить зеркальный сервер, который является локальным веб-сервером или сервером NFS, доступным в облаке Майкрософт.
  • Подписи скачиваются из Microsoft Cloud на этом зеркальном сервере путем выполнения скрипта с помощью планировщика заданий или задач cron на локальном сервере.
  • Конечные точки Linux под управлением Defender для конечной точки тянут скачанные сигнатуры с этого зеркального сервера через определенный пользователем интервал времени.
  • Подписи, полученные на конечных точках Linux с локального сервера, сначала проверяются перед загрузкой в подсистему AV.
  • Чтобы активировать и настроить процесс обновления, обновите json-файл управляемой конфигурации на конечных точках Linux.
  • Состояние обновления можно увидеть в интерфейсе командной строки mdatp.

Схема процесса на зеркальном сервере для скачивания обновлений аналитики безопасности Рис. 1. Схема процесса на зеркальном сервере для скачивания обновлений аналитики безопасности

Схема процесса в конечной точке Linux для обновлений аналитики безопасности

Рис. 2. Схема процесса в конечной точке Linux для обновлений аналитики безопасности

Предварительные условия

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

  • Конечные точки Linux должны иметь подключение к зеркальному серверу.

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

  • Зеркальный сервер может быть сервером HTTP/HTTPS или сервером общей сети. Например, сервер NFS.

  • Зеркальный сервер должен иметь доступ к следующим URL-адресам:

    • https://github.com/microsoft/mdatp-xplat.git
    • https://go.microsoft.com/fwlink/?linkid=2144709
  • На зеркальном сервере поддерживаются следующие операционные системы:

    • Linux (любой вариант)
    • Windows (любая версия)
    • Mac (любая версия)
  • Зеркальный сервер должен поддерживать bash или PowerShell.

  • Для зеркального сервера требуются следующие минимальные системные спецификации:

    Ядро ЦП ОЗУ Бесплатный диск Своп
    2 ядра (предпочтительное 4 ядра) 1 ГБ min (предпочтительно 4 ГБ) 2 ГБ Зависимая от системы

    Примечание.

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

Настройка зеркального сервера

Примечание.

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

Примечание.

На зеркальный сервер не требуется устанавливать Defender для конечной точки.

Получение скрипта загрузчика аналитики безопасности в автономном режиме

Корпорация Майкрософт размещает скрипт автономного загрузчика аналитики безопасности в этом репозитории GitHub.

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

Вариант 1. Клонирование репозитория (предпочтительный)

  • Установите gitна зеркальном сервере.
  • Перейдите в каталог, в котором вы хотите клонировать репозиторий.
  • Выполните команду: git clone https://github.com/microsoft/mdatp-xplat.git

Вариант 2. Скачивание ZIP-файла

  • Скачайте ZIP-файл репозитория отсюда

  • Скопируйте ZIP-файл в папку, в которой вы хотите сохранить скрипт

  • Извлечение ZIP-файла

Примечание.

Запланируйте задание cron , чтобы регулярно обновлять репозиторий или скачанный ZIP-файл до последней версии.

После клонирования репозитория или скачаного ZIP-файла структура локального каталога должна выглядеть следующим образом:

user@vm:~/mdatp-xplat$ tree linux/definition_downloader/
linux/definition_downloader/
├── README.md
├── settings.json
├── settings.ps1
├── xplat_offline_updates_download.ps1
└── xplat_offline_updates_download.sh

0 directories, 5 files

Примечание.

Просмотрите файл README.md, чтобы подробно понять, как использовать скрипт.

Файл settings.json состоит из нескольких переменных, которые пользователь может настроить для определения выходных данных выполнения скрипта.

Имя поля Значение Описание
downloadFolder string Сопоставляется с расположением, в котором скрипт скачивает файлы.
downloadLinuxUpdates логический Если задано значение true, скрипт скачивает обновления для Linux в downloadFolder
logFilePath string Настраивает журналы диагностики в заданной папке. Этот файл можно предоставить корпорации Майкрософт для отладки скрипта при наличии проблем.
downloadMacUpdates логический Скрипт скачивает определенные обновления Mac в downloadFolder
downloadPreviewUpdates логический Скачивает предварительную версию обновлений, доступных для конкретной ОС.
backupPreviousUpdates логический Позволяет скрипту копировать предыдущее обновление в папку _back, а новые обновления скачиваются в downloadFolder

Выполнение скрипта загрузчика аналитики безопасности в автономном режиме

Чтобы вручную выполнить скрипт загрузчика, настройте параметры в файле в settings.json соответствии с описанием в предыдущем разделе и используйте одну из следующих команд на основе ОС зеркального сервера:

  • Bash:

    ./xplat_offline_updates_download.sh
    
  • Powershell:

    ./xplat_offline_updates_download.ps1
    

Примечание.

Запланируйте задание cron для выполнения этого сценария, чтобы скачивать последние обновления аналитики безопасности на зеркальном сервере через регулярные интервалы.

Размещение автономных обновлений аналитики безопасности на зеркальном сервере

После выполнения скрипта последние подписи скачиваются в папку, настроенную в settings.json файле (updates.zip).

После скачивания ZIP-файла сигнатур для его размещения можно использовать зеркальный сервер. Зеркальный сервер можно разместить с помощью любых серверов HTTP/HTTPS/Сетевых общих серверов.

После размещения скопируйте абсолютный путь к размещенного сервера (до каталога и не включая его arch_* ).

Например, если скрипт выполняется с downloadFolder=/tmp/wdav-updateпомощью , а путь размещен /tmp/wdav-update на HTTP-сервере (www.example.server.com:8000), соответствующий URI будет следующим:www.example.server.com:8000/linux/production/

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

Настройка конечных точек

  • Используйте следующий пример mdatp_managed.json , обновите параметры в соответствии с конфигурацией и скопируйте файл в расположение /etc/opt/microsoft/mdatp/managed/mdatp_managed.json.
{
  "cloudService": {
    "automaticDefinitionUpdateEnabled": true,
    "definitionUpdatesInterval": 1202
  },
  "antivirusEngine": {
    "offlineDefinitionUpdateUrl": "http://172.22.199.67:8000/linux/production/",
    "offlineDefintionUpdateFallbackToCloud":false,
    "offlineDefinitionUpdate": "enabled"
  },
"features": {
"offlineDefinitionUpdateVerifySig": "enabled"
}
}
Имя поля Values Comments
automaticDefinitionUpdateEnabled True / False Определяет поведение Defender для конечной точки, который пытается выполнять обновления автоматически, включается или выключается соответственно.
definitionUpdatesInterval Числовой Время интервала между каждым автоматическим обновлением подписей (в секундах).
offlineDefinitionUpdateUrl String Значение URL-адреса, созданное при настройке зеркального сервера.
offlineDefinitionUpdate enabled / disabled Если задано значение enabled, функция автономного обновления аналитики безопасности включена, и наоборот.
offlineDefinitionUpdateFallbackToCloud True / False Определите подход к обновлению аналитики безопасности Defender для конечной точки, когда автономный зеркальный сервер не обслужит запрос на обновление. Если задано значение true, обновление повторно выполняется через облако Майкрософт при сбое автономного обновления аналитики безопасности, в противном случае — наоборот.
offlineDefinitionUpdateVerifySig enabled / disabled Если задано значение enabled, скачанные определения проверяются на конечных точках, в противном случае наоборот.

Примечание.

На сегодняшний день функцию автономного обновления аналитики безопасности можно настроить в конечных точках Linux только с помощью управляемого json. Интеграция с управлением параметрами безопасности на портале безопасности входит в нашу дорожную карту.

Проверка конфигурации

Чтобы проверить правильность применения параметров к конечным точкам Linux, выполните следующую команду:

mdatp health --details definitions

Пример выходных данных будет выглядеть следующим образом:

user@vm:~$ mdatp health --details definitions
automatic_definition_update_enabled         : true [managed]
definitions_updated                         : Mar 14, 2024 at 12:13:17 PM
definitions_updated_minutes_ago             : 2
definitions_version                         : "1.407.417.0"
definitions_status                          : "up_to_date"
definitions_update_source_uri               : "https://go.microsoft.com/fwlink/?linkid=2144709"
definitions_update_fail_reason              : ""
offline_definition_url_configured           : "http://172.XX.XXX.XX:8000/linux/production/" [managed]
offline_definition_update                   : "enabled" [managed]
offline_definition_update_verify_sig        : "enabled"
offline_definition_update_fallback_to_cloud : false[managed]

Активация автономной Обновления аналитики безопасности

Автоматическое обновление

  • Если полям automaticDefinitionUpdateEnabled и offline_definition_update в управляемом json задано значение true, то обновления аналитики безопасности в автономном режиме активируются автоматически через периодические интервалы.
  • По умолчанию этот периодический интервал составляет 8 часов. Но его можно настроить, задав в управляемом definitionUpdatesInterval json.

Обновление вручную

  • Чтобы вручную активировать автономное обновление аналитики безопасности для загрузки подписей с зеркального сервера на конечных точках Linux, выполните команду:

    mdatp definitions update
    

Проверка состояния обновления

  • После запуска автономного обновления аналитики безопасности автоматическим или ручным способом убедитесь, что обновление прошло успешно, выполнив команду : mdatp health --details --definitions.

  • Проверьте следующие поля:

    user@vm:~$ mdatp health --details definitions
    ...
    definitions_status                          : "up_to_date"
    ...
    definitions_update_fail_reason              : ""
    ...
    

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

Проблемы: сбой обновления MDATP

  • Обновление зависло или обновление не активировалось.
  • Сбой обновления.

Общие действия по устранению неполадок

  • Проверьте состояние автономного обновления аналитики безопасности с помощью команды :

    mdatp health --details definitions
    
    • Эта команда должна предоставить нам понятное сообщение в definitions_update_fail_reason разделе.
    • Проверьте, включена ли offline_definition_update функция и offline_definition_update_verify_sig .
    • Проверьте, равен ли definitions_update_source_uri значение offline_definition_url_configured
      • definitions_update_source_uri — это источник, из которого были загружены подписи.
      • offline_definition_url_configured — это источник, из которого следует скачать сигнатуры, упомянутый в управляемом файле конфигурации.
  • Попробуйте выполнить проверку подключения, чтобы проверка, доступен ли зеркальный сервер с узла:

    mdatp connectivity test
    
  • Попробуйте запустить обновление вручную с помощью команды :

    mdatp definitions update
    

Известные проблемы:

Автономное обновление подписи может завершиться ошибкой в следующем сценарии:

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

Действия по устранению рисков:

Исправление этой проблемы планируется выпустить в ближайшее время.

Скрипт загрузчика

Планирование задания cron