Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Начиная с Defender для конечной точки в Linux, версия 101.2408.0000, AuditD больше не поддерживается в качестве дополнительного поставщика событий. Дополнительные сведения см. в часто задаваемых вопросых о переходе на EBPF.
Расширенный фильтр пакетов Беркли (eBPF) для Microsoft Defender для конечной точки в Linux предоставляет дополнительные данные о событиях для операционных систем Linux. eBPF помогает решить несколько классов проблем, обнаруженных поставщиком событий AuditD, и является полезным в областях производительности и стабильности системы.
В числе основных преимуществ можно назвать следующие:
- Снижение шума журнала, связанного с auditD на уровне всей системы
- Оптимизированные правила событий для всей системы в противном случае вызывают конфликт между приложениями
- Уменьшение накладных расходов на мониторинг событий файла (чтение и открытие файла)
- Улучшена пропускная способность частоты событий и уменьшена занимаемая память
- Оптимизированная производительность для определенных конфигураций
Как работает eBPF
При использовании eBPF события, ранее полученные от поставщика событий AuditD, теперь передаются из датчика eBPF. Это помогает обеспечить стабильность системы, повышает загрузку ЦП и памяти, а также снижает нагрузку на диск. eBPF помогает снизить вероятность конфликтов между приложениями, так как пользовательские правила не требуются. Данные, связанные с eBPF, регистрируются в файле /var/log/microsoft/mdatp/microsoft_defender_core.log.
Кроме того, датчик eBPF использует возможности ядра Linux, не требуя использования модуля ядра, который помогает повысить стабильность системы.
Предварительные требования к системе
Для датчика eBPF требуется агент Defender for Endpoint для Linux версии 101.23082.0006 или более поздней. Перед продолжением убедитесь, что конечная точка обновлена до поддерживаемой версии агента.
Датчик eBPF поддерживается в следующих минимальных версиях распределения и ядра:
| Распределение Linux | Версия распределения | Версия ядра |
|---|---|---|
| Ubuntu | 16.04 | 4.15.0 |
| Fedora | 33 | 5.8.15 |
| CentOS | 7.6 | 3.10.0-957.10 |
| SLES | 15 | 5.3.18-18.47 |
| RHEL | 7.6 | 3.10.0-957.10 |
| Debian | 9.0 | 4.19.0 |
| Oracle Linux RHCK | 7.9 | 3.10.0-1160 |
| Oracle Linux UEK | 7.9 | 5.4 |
| Amazon Linux 2 | 2 | 5.4.261-174.360 |
| Рокки Linux 8 | 8.7 | 4.18.0-425 |
| Рокки Linux 9 | 9.2 | 5.14.0-284 |
| Альма Linux 8 | 8.4 | 4.18.0-305 |
| Альма Linux 9 | 9.2 | 5.14.0-284 |
Примечание.
Oracle Linux 8.8 с ядром версии 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 приведет к зависаю ядра при включении eBPF в качестве дополнительного поставщика подсистемы. Эту версию ядра не следует использовать для режима eBPF. Сведения об устранении неполадок и диагностике см. в разделе "Устранение неполадок и диагностика ".
Включение и настройка датчика eBPF
Датчик eBPF автоматически включен по умолчанию для всех клиентов в версиях агента 101.23082.0006 и выше. Чтобы использовать эту функцию, клиентам необходимо выполнить обновление до поддерживаемой версии. Если датчик eBPF включен на устройстве, Defender for Endpoint в Linux изменяет значение supplementary_events_subsystem на ebpf.
Чтобы включить или отключить дополнительный поставщик событий eBPF, выполните следующую команду:
sudo mdatp config ebpf-supplementary-event-provider --value [enabled/disabled]
Кроме того, можно отключить дополнительный поставщик событий eBPF, установив значение ebpfSupplementaryEventProviderdisabled в файле mdatp_managed.json:
{
"features": {
"ebpfSupplementaryEventProvider": "disabled"
}
}
Подробный пример JSON-файла см. в разделе "Настройка параметров для Microsoft Defender для конечной точки в Linux".
Важно!
Если отключить eBPF или в случае, если eBPF не поддерживается ни в одном конкретном ядре, дополнительный поставщик событий переключится на Netlink. Все операции процесса будут продолжаться без сбоев, но вы можете пропустить определённые события, связанные с файлами и сокетами, которые в противном случае были бы зафиксированы eBPF.
Вы также можете проверить статус eBPF (включен/отключен) на конечных точках Linux с помощью расширенного поиска угроз на портале Microsoft Defender. Ниже приведены шаги.
Перейдите на портал Microsoft Defender и выполните вход.
В области навигации перейдите в раздел Охота>Расширенная охота.
В разделе Расширенная охота перейдите к Управление уязвимостями Defender.
Выполните следующий запрос:
DeviceTvmInfoGathering.В выходных данных в столбце Дополнительные поля выберите Показать больше, а затем найдите состояние EBPF: true.
Неизменяемый режим AuditD
Для клиентов, использующих AuditD в неизменяемом режиме, перезагрузка требуется после включения eBPF, чтобы очистить правила аудита, добавленные Microsoft Defender для конечной точки. Это требование является ограничением в неизменяемом режиме AuditD, который замораживает файл правил и запрещает редактирование или перезапись. Перезагрузка очищает правила аудита Microsoft Defender для конечной точки, которые нельзя удалить, пока AuditD находится в неизменяемом режиме.
После перезагрузки выведите список текущих правил AuditD, чтобы убедиться, что правила аудита Defender for Endpoint были успешно очищены:
% sudo auditctl -l
В выходных данных предыдущей команды не должно отображаться ни правил, ни добавленных пользователем правил. Если правила не были удалены, выполните следующие действия, чтобы очистить файл правил аудита.
Переключитесь в режим eBPF.
Удалите файл
/etc/audit/rules.d/mdatp.rules.Перезагрузите компьютер.
Устранение неполадок и диагностика
Состояние агента можно проверить, выполнив команду mdatp health. Чтобы убедиться, что версия ядра соответствует требованиям датчика eBPF, перечисленным в системных предварительных требованиях, проверьте текущую версию ядра, выполнив следующую команду:
uname -a
Известные проблемы
Помните о следующих известных проблемах при использовании датчика eBPF в Linux:
Предупреждение: В RHEL 8.1 с SAP включение eBPF может вызвать панику ядра. Прежде чем включить eBPF в этой конфигурации, выполните одно из следующих действий по устранению рисков:
- Используйте версию дистрибутива выше RHEL 8.1.
- Переключитесь в режим AuditD, если вам нужно использовать RHEL версии 8.1.
Использование Oracle Linux 8.8 с ядром версии 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 может привести к панике ядра. Чтобы устранить эту проблему, можно выполнить одно из следующих действий:
Используйте версию ядра выше или ниже 5.15.0-0.30.20.el8uek.x86_64, 5.15.0-0.30.20.1.el8uek.x86_64 в Oracle Linux 8.8, если вы хотите использовать eBPF в качестве дополнительного поставщика подсистемы. Минимальная версия ядра для Oracle Linux — RHCK 3.10.0, а oracle Linux UEK — 5.4.
Переключитесь в режим AuditD, если требуется использовать ту же версию ядра
sudo mdatp config ebpf-supplementary-event-provider --value disabledСледующие два набора данных помогают проанализировать потенциальные проблемы и определить наиболее эффективные варианты их решения.
Соберите диагностический пакет с помощью средства анализа клиента, следуя инструкциям: Устранение проблем с производительностью Microsoft Defender для конечных точек в Linux.
Соберите пакет отладочной диагностики, если Microsoft Defender для конечной точки потребляет много ресурсов, воспользовавшись следующими инструкциями: Ресурсы Microsoft Defender для конечной точки в Linux.
Система зависает в Oracle Linux 7.9 при использовании Defender for Linux, когда Ksplice применяется для исправления ядра без перезагрузки.
- Автоматическая установка исправлений Ksplice просто добавляет задание cron на конечное устройство.
- Чтобы устранить проблему зависания, можно создать задание cron, которое сначала остановит службу mdatp, применит исправление на основе ksplice, а затем запустит службу.
- Так как установка исправлений ядра — это действие в течение нескольких секунд, поэтому это не будет иметь серьезной уязвимости с точки зрения безопасности.
Устранение проблем с производительностью
Если вы видите увеличение потребления ресурсов Microsoft Defender в конечных точках, важно определить процесс, точку подключения или файлы, которые вызывают большую часть использования ЦП или памяти. Затем можно применить необходимые исключения. Если после применения возможных исключений для антивируса wdavdaemon (родительский процесс) всё ещё потребляет ресурсы, используйте команду ebpf-statistics, чтобы получить список системных вызовов с наибольшим количеством вызовов:
sudo mdatp diagnostic ebpf-statistics
В следующем примере выходных данных показаны статистические данные eBPF, собранные в течение 20-секундного интервала мониторинга, включая верхние пути к файлам, процессы инициатора и идентификаторы системных вызовов:
Monitor 20 seconds
Top file paths:
/var/log/microsoft/mdatp/microsoft_defender.log : 10
/var/log/microsoft/mdatp/rotated/microsoft_defender.log00001 : 2
/var/log/microsoft/mdatp/rotated/microsoft_defender.log : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374993 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374991 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374989 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374987 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374985 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374983 : 1
/home/gargank/tmp-stress-ng-rename-13550-31/stress-ng-rename-13550-31-374981 : 1
Top initiator paths:
/usr/bin/stress-ng : 50000
/opt/microsoft/mdatp/sbin/wdavdaemon : 13
Top syscall ids:
82 : 1699333
90 : 10
87 : 3
В выводе mdatp diagnostic ebpf-statistics stress-ng — это основной процесс, генерирующий большое количество событий, и он может вызывать проблемы с производительностью. Скорее всего, stress-ng генерирует системный вызов с идентификатором 82. Вы можете создать запрос в корпорации Майкрософт, чтобы исключить этот процесс.
Исключения, применяемые к AuditD, не могут быть перенесены или скопированы в eBPF. Распространённые проблемы, такие как зашумлённые журналы, паника ядра и избыточные системные вызовы, eBPF уже решает на внутреннем уровне. Если вы хотите добавить дополнительные исключения, обратитесь в корпорацию Майкрософт, чтобы применить необходимые исключения.
Вопросы и ответы. Переход на eBPF
1. Почему следует рассмотреть возможность перехода на eBPF?
Расширенный фильтр пакетов Беркли (eBPF) для Microsoft Defender для конечной точки на Linux служит эффективной альтернативой AuditD и решает различные проблемы, связанные с поставщиком событий AuditD, предоставляя значительные преимущества с точки зрения производительности и стабильности системы. Некоторые из ключевых преимуществ:
Производительность: eBPF значительно повышает производительность за счет снижения затрат на системные ресурсы по сравнению с AuditD.
Эффективность ресурсов: eBPF использует меньше ресурсов, что помогает поддерживать стабильность системы даже в условиях высокой нагрузки.
Масштабируемость: архитектура eBPF более масштабируема, что делает ее лучшим выбором для сред с растущими или сложными рабочими нагрузками.
Современная технология: eBPF представляет собой современную, перспективную технологию, которая соответствует будущим разработкам ядра Linux, обеспечивая лучшую долгосрочную поддержку.
2. Как продолжить использовать AuditD?
Если вы предпочитаете продолжать использовать AuditD, выполните следующие действия:
Поддерживаемые версии: вы можете продолжать использовать Microsoft Defender for Endpoint для Linux версии 101.24072.0000, которая будет поддерживать AuditD в течение срока поддержки этой сборки, то есть примерно девяти месяцев. Это обеспечивает достаточный период перехода для планирования перехода на eBPF. Дату истечения срока действия можно проверить, выполнив команду
mdatp healthна сервере Linux.Долгосрочный план: Хотя оставаться на сборке
101.24072.0000возможно, мы рекомендуем запланировать переход на eBPF в эти сроки, чтобы воспользоваться последними улучшениями безопасности и производительности, а также получать дальнейшую поддержку.
При этом мы рекомендуем спланировать переход к использованию eBPF в качестве основного поставщика событий.
3. Что происходит, если eBPF не поддерживается в некоторых сценариях?
В случаях, когда eBPF не поддерживается:
Netlink Fallback: система возвращается к использованию поставщика событий Netlink. Хотя Netlink продолжает записывать события процесса (например,
exec,exit,fork,gidилиtid), она не поддерживает события, связанные с файловой системой (например, ,renameunlink) или события сокета.Влияние: ваши рабочие нагрузки не будут затронуты, но вы можете пропустить определенные события, связанные с файлами и сокетами, которые eBPF иначе отслеживал бы.
4. Как управлять исключениями с помощью обновленных версий?
Ниже приведены некоторые распространенные причины для размещения исключений для AuditD.
Производительность, так как некоторые системные вызовы или процесс создают много шума
Паника ядра: иногда большое количество системных вызовов, в частности сетевых вызовов и вызовов файловой системы, приводило к панике ядра.
Шумные журналы, в которых журналы аудита используют дисковое пространство. Клиент разместил исключения для шумных процессов, чтобы уменьшить размер журнала.
При использовании eBPF первые два варианта использования подходят для миграции. Журналы больше не являются проблемой с eBPF. Для первых двух вариантов использования можно выбрать один из следующих вариантов:
Обратитесь в службу поддержки. Обратитесь в корпорацию Майкрософт, чтобы применить исключения из серверной части.
Глобальные исключения. В обновленных версиях Defender для конечной точки на Linux исключениями можно управлять с помощью глобальных исключений. Глобальные исключения применяются как к антивирусной программе, так и к EDR и могут быть настроены с помощью управляемого json в настоящее время. Дополнительные сведения см. в статье Настройка и проверка исключений Microsoft Defender для конечной точки в Linux.
5. Что делать в случае возникновения проблем?
Обратитесь в службу поддержки. Если во время или после перехода на eBPF возникли проблемы, обратитесь за помощью в службу технической поддержки. Мы стремимся обеспечить плавный переход и доступны для решения любых проблем, с которыми вы можете столкнуться.
Каналы поддержки. Вы можете обратиться в службу поддержки через портал Microsoft Defender. Кроме того, наши форумы база знаний и сообщества являются ценными ресурсами для устранения распространенных проблем.
Связанные материалы
Дополнительные сведения об устранении неполадок и управлении ресурсами для Defender для конечной точки в Linux см. в следующих статьях: