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

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

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

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

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

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

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

Устранение проблем с производительностью с помощью статистики защиты в режиме реального времени

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

  • Только проблемы с производительностью, связанные с av

Защита в режиме реального времени (RTP) — это функция Defender для конечной точки в Linux, которая постоянно отслеживает и защищает устройство от угроз. Он состоит из мониторинга файлов и процессов и другой эвристики.

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

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

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

    mdatp config real-time-protection --value disabled
    
    Configuration property updated
    

    Если устройство управляется вашей организацией, администратор может отключить защиту в режиме реального времени, следуя инструкциям в разделе Настройка параметров Defender для конечной точки в Linux.

    Примечание.

    Если проблема с производительностью сохраняется, пока защита в режиме реального времени отключена, источником проблемы может быть компонент обнаружения и реагирования на конечные точки (EDR). В этом случае выполните действия, описанные в разделе Устранение проблем с производительностью с помощью Microsoft Defender для конечной точки клиентского анализатора этой статьи.

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

    Примечание.

    Эта функция доступна в версии 100.90.70 или более поздней.

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

    mdatp config real-time-protection-statistics --value enabled
    

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

    mdatp health --field real_time_protection_enabled
    

    Убедитесь, что real_time_protection_enabled запись имеет значение true. В противном случае выполните следующую команду, чтобы включить ее:

    mdatp config real-time-protection --value enabled
    
    Configuration property updated
    

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

    mdatp diagnostic real-time-protection-statistics --output json
    

    Примечание.

    Использование --output json (обратите внимание на двойную тире) гарантирует, что выходной формат готов к синтаксическому анализу.

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

  3. В системе Linux скачайте пример средства синтаксического анализа Python high_cpu_parser.py с помощью команды :

    wget -c https://raw.githubusercontent.com/microsoft/mdatp-xplat/master/linux/diagnostic/high_cpu_parser.py
    

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

    --2020-11-14 11:27:27-- https://raw.githubusercontent.com/microsoft.mdatp-xplat/master/linus/diagnostic/high_cpu_parser.py
    Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.xxx.xxx
    Connecting to raw.githubusercontent.com (raw.githubusercontent.com)| 151.101.xxx.xxx| :443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 1020 [text/plain]
    Saving to: 'high_cpu_parser.py'
    100%[===========================================>] 1,020    --.-K/s   in 0s
    
  4. Затем введите следующие команды:

    mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py
    

    В выходных данных выше приведен список основных участников проблем с производительностью. Первый столбец — это идентификатор процесса (PID), второй столбец — имя процесса, а последний столбец — количество отсортированных файлов, отсортированных по влиянию. Например, выходные данные команды будут примерно такими:

    ... > mdatp diagnostic real-time-protection-statistics --output json | python high_cpu_parser.py | head
    27432 None 76703
    73467 actool    1249
    73914 xcodebuild 1081
    73873 bash 1050
    27475 None 836
    1    launchd     407
    73468 ibtool     344
    549  telemetryd_v1   325
    4764 None 228
    125  CrashPlanService 164
    

    Чтобы повысить производительность Defender для конечной точки в Linux, найдите объект с наибольшим числом в строке Total files scanned и добавьте исключение для него. Дополнительные сведения см. в статье Настройка и проверка исключений для Defender для конечной точки в Linux.

    Примечание.

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

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

    Дополнительные сведения см. в статье Настройка и проверка исключений Microsoft Defender для конечной точки в Linux.

Устранение проблем с производительностью с помощью клиентского анализатора Microsoft Defender для конечной точки

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

  • Проблемы с производительностью всех доступных компонентов Defender для конечной точки, таких как AV и EDR

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

Примечание.

  • Средство Microsoft Defender для конечной точки анализатора клиентов регулярно используется службами поддержки майкрософт (CSS) для сбора информации, например (но не ограничиваясь ими) IP-адресов, имен компьютеров, которые помогут устранить проблемы, которые могут возникнуть при Microsoft Defender для конечной точки. Дополнительные сведения о нашем заявлении о конфиденциальности см. в заявлении о конфиденциальности Майкрософт.
  • Как правило, рекомендуется обновить агент Microsoft Defender для конечной точки до последней доступной версии и убедиться, что проблема по-прежнему сохраняется, прежде чем продолжить изучение.

Чтобы запустить клиентский анализатор для устранения проблем с производительностью, см. статью Запуск клиентского анализатора в macOS и Linux.

Примечание.

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

Устранение неполадок с производительностью AuditD

Фон:

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

  • Системные события, зафиксированные правилами, добавленными в /etc/audit/rules.d/ , добавляются в audit.log и могут повлиять на аудит узла и вышестоящий коллекцию.

  • События, добавленные Microsoft Defender для конечной точки в Linux, будут помечены ключомmdatp.

  • Если служба AuditD настроена неправильно или отключена, некоторые события могут отсутствовать. Сведения об устранении этой проблемы см. в статье Устранение проблем с отсутствующими событиями или оповещениями для Microsoft Defender для конечной точки в Linux.

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

  • Высокий уровень потребления ресурсов ЦПв mdatp_audisp_plugin процессе.

  • /var/log/audit/audit.log становится большим или часто вращающимся.

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

Примечание.

Рекомендуется настроить смену журналов AuditD при достижении максимального размера файла.

Это предотвратит накопление журналов AuditD в одном файле, а сменные файлы журналов можно переместить, чтобы сэкономить место на диске.

Для этого можно задать значение для max_log_file_actionдля смены в файле auditd.conf .

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

Чтобы устранить такие проблемы, начните с сбора журналов MDEClientAnalyzer на примере затронутого сервера.

Примечание.

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

Что существуют дополнительные конфигурации, которые могут повлиять на нагрузку ЦП подсистемы AuditD.

В частности, в auditd.conf для disp_qos можно задать значение "lossy", чтобы снизить высокий уровень потребления ЦП.

Однако это означает, что некоторые события могут быть удалены во время пикового потребления ЦП.

XMDEClientAnalyzer

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

  • auditd_info.txt
  • auditd_log_analysis.txt

auditd_info.txt

Содержит общую конфигурацию AuditD и отображает:

  • Какие процессы зарегистрированы в качестве потребителей AuditD.

  • Auditctl -s output with enabled=2

    • Предполагает, что аудит находится в неизменяемом режиме (требуется перезапуск, чтобы все изменения конфигурации вступили в силу).
  • Выходные данные Auditctl -l

    • Показывает, какие правила загружены в ядро (которые могут отличаться от того, что существует на диске в файле "/etc/auditd/rules.d/mdatp.rules").

    • Показывает, какие правила связаны с Microsoft Defender для конечной точки.

auditd_log_analysis.txt

Содержит важную агрегированную информацию, которая полезна при исследовании проблем с производительностью AuditD.

  • Какому компоненту принадлежат наиболее сообщаемые события (Microsoft Defender для конечной точки события будут помечены тегом key=mdatp).

  • Основные инициаторы отчетов.

  • Наиболее распространенные системные вызовы (события сети или файловой системы и другие).

  • Какие пути к файловой системе являются самыми шумными.

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

Примечание.

Исключения следует делать только для инициаторов или путей с низким уровнем угрозы и высоким уровнем шума. Например, не следует исключать /bin/bash, который рискует создать большое слепое пятно. Распространенные ошибки, которые следует избегать при определении исключений.

Типы исключений

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

Исключение AuditD — справка по синтаксису средства поддержки:

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

По инициатору

  • -e/ -exe полный двоичный путь > удаляет все события, выполняемые этим инициатором

По пути

  • -d / -dir полный путь к каталогу > Удаляет события файловой системы, предназначенные для этого каталога

Примеры:

Если "/opt/app/bin/app" записывает в "/opt/app/cfg/logs/1234.log", можно использовать средство поддержки для исключения с различными параметрами:

-e /opt/app/bin/app

-d /opt/app/cfg

-x /usr/bin/python /etc/usercfg

-d /usr/app/bin/

Дополнительные примеры:

./mde_support_tool.sh exclude -p <process id>

./mde_support_tool.sh exclude -e <process name>

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

./mde_support_tool.sh exclude -e <process name> -e <process name 2> -e <process name3>

Флаг -x используется для исключения доступа к подкаталогам определенным инициаторам, например:

./mde_support_tool.sh exclude -x /usr/sbin/mv /tmp

При доступе к ней процесс mv исключает мониторинг вложенной папки /tmp.

Ограничитель скорости

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

Примечание.

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

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

Включить: ./mde_support_tool.sh ratelimit -e true

Отключить: ./mde_support_tool.sh ratelimit -e false

Когда ratelimit включен, в AuditD будет добавлено правило для обработки 2500 событий в секунду.

Примечание.

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

См. также

Совет

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