Прочитать на английском

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


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

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

  • Microsoft Defender для конечной точки для серверов
  • Microsoft Defender для серверов плана 1 или плана 2

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

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

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

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

  • Ваша группа безопасности может контролировать частоту скачивания подписей на локальном сервере и частоту, с которой конечные точки извлекали подписи с локального сервера, и управлять ими.
  • У вас есть дополнительный уровень защиты и контроля, так как скачанные сигнатуры можно протестировать на тестовом устройстве, прежде чем они будут распространены на весь парк.
  • Требуется меньшая пропускная способность сети, так как только один локальный сервер получает последние обновления из облака Майкрософт от имени всего парка.
  • Сервер зеркало может работать под управлением Windows, Mac или Linux, и вам не нужно устанавливать Defender для конечной точки на этом сервере.
  • Вы получаете самую актуальную антивирусную защиту, так как подписи всегда скачиваются вместе с последней совместимой антивирусной подсистемой.
  • Старые версии подписей (n-1) перемещаются в папку резервного копирования на сервере зеркало в каждой итерации. Если возникла проблема с последними обновлениями, вы можете извлечь версию сигнатуры n-1 из папки резервного копирования на устройства.
  • В редких случаях при сбое автономного обновления можно настроить резервный вариант для получения обновлений по сети из облака Майкрософт.

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

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

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

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

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

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

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

  • Linux (любой вариант)
  • Windows (любая версия)
  • Mac (любая версия)

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

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

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

  • Конечная точка Linux должна работать под управлением любого дистрибутива, поддерживаемого Defender для конечной точки. (См. раздел Поддерживаемые дистрибутивы Linux.)

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

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

    • https://github.com/microsoft/mdatp-xplat.git
    • https://go.microsoft.com/fwlink/?linkid=2144709
  • Сервер зеркало должен поддерживать bash или PowerShell.

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

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

    Примечание

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

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

Примечание

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

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

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

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

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

  1. Установите Git на сервере зеркало.

  2. Перейдите в каталог, в котором вы хотите клонировать репозиторий.

  3. Выполните следующую команду: git clone https://github.com/microsoft/mdatp-xplat.git

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

  1. Скачайте zip-файл.

  2. Скопируйте скачанный файл в папку, в которой вы хотите сохранить скрипт.

  3. Извлеките zip-папку.

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

Структура локальных каталогов после клонирования репозитория или скачивания 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 описанию в предыдущем разделе и используйте одну из следующих команд на основе ОС сервера зеркало:

  • Бить:

    ./xplat_offline_updates_download.sh
    
  • PowerShell:

    ./xplat_offline_updates_download.ps1
    

Примечание

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

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

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

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

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

Примечание

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

Можно также использовать абсолютный путь к каталогу (локальная или удаленная точка подключения). Например, если файлы скачиваются скриптом в каталог /tmp/wdav-update, то соответствующий универсальный код ресурса (URI) будет:/tmp/wdav-update/linux/production .

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

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

Используйте следующий пример 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/",
    "offlineDefinitionUpdateFallbackToCloud":false,
    "offlineDefinitionUpdate": "enabled"
  },
  "features": {
    "offlineDefinitionUpdateVerifySig": "enabled"
  }
}
Имя поля Значения Comments
automaticDefinitionUpdateEnabled True/False Определяет поведение Defender для конечной точки, который пытается выполнять обновления автоматически, включается или выключается соответственно.
definitionUpdatesInterval Числовой Время интервала между каждым автоматическим обновлением подписей (в секундах).
offlineDefinitionUpdateUrl String Значение URL-адреса, созданное при настройке сервера зеркало. Это может быть URL-адрес удаленного сервера или каталог (локальная или удаленная точка подключения). Сведения о том, как указать этот путь, см. в предыдущем разделе.
offlineDefinitionUpdate enabled/disabled Если задано значение enabled, функция автономного обновления аналитики безопасности включена, и наоборот.
offlineDefinitionUpdateFallbackToCloud True/False Определите подход к обновлению аналитики безопасности Defender для конечной точки, когда автономный зеркало сервер не обслужит запрос на обновление. Если задано значение true, обновление повторно выполняется через облако Майкрософт при сбое автономного обновления аналитики безопасности; в противном случае — наоборот.
offlineDefinitionUpdateVerifySig enabled/disabled Если задано значение enabled, скачанные определения проверяются на конечных точках; в противном случае — наоборот.

Примечание

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

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

Чтобы проверить правильность применения параметров к конечным точкам 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]

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

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

  • Если для антивирусной подсистемы задано значениеreal_time, а полям 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              : ""
    ...
    

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

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

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

    mdatp health --details definitions
    

    Найдите сведения в definitions_update_fail_reason разделе.

  2. Убедитесь, что offline_definition_update и offline_definition_update_verify_sig включены.

  3. Убедитесь, что definitions_update_source_uri значение равно offline_definition_url_configured.

    • definitions_update_source_uri — это источник, из которого были загружены подписи.
    • offline_definition_url_configured — это источник, из которого следует скачать сигнатуры, упомянутый в управляемом файле конфигурации.
  4. Попробуйте выполнить проверку подключения, чтобы проверка, если зеркало сервер доступен с узла:

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

    mdatp definitions update
    

См. также