Запуск клиентского анализатора в Linux
Область применения:
Хотите попробовать Defender для конечной точки? Зарегистрироваться для бесплатной пробной версии.
Если у вас возникли проблемы с Microsoft Defender для конечной точки в Linux и вам нужна поддержка, может потребоваться предоставить выходные данные из средства клиентского анализатора. В этой статье объясняется, как использовать средство на устройстве или с динамическим откликом. Вы можете использовать решение на основе Python или двоичную версию, которая не требует Python.
Запуск двоичной версии клиентского анализатора
Скачайте двоичное средство анализатора клиента XMDE на компьютер Linux, который вы хотите исследовать. Если вы используете терминал, скачайте средство, введя следующую команду:
wget --quiet -O XMDEClientAnalyzerBinary.zip https://aka.ms/XMDEClientAnalyzerBinary
Проверьте скачивание.
echo 'B5EBD9AB36F2DB92C341ABEBB20A50551D08D769CB061EAFCC1A931EFACE305D XMDEClientAnalyzerBinary.zip' | sha256sum -c
Извлеките содержимое
XMDEClientAnalyzerBinary.zip
на компьютере.unzip -q XMDEClientAnalyzerBinary.zip -d XMDEClientAnalyzerBinary
Измените каталог:
cd XMDEClientAnalyzerBinary
Создаются два новых ZIP-файла:
- SupportToolLinuxBinary.zip: для всех устройств Linux
- SupportToolMacOSBinary.zip: для устройств Mac
Распакуку
SupportToolLinuxBinary.zip
файла.unzip -q SupportToolLinuxBinary.zip
Запустите средство от имени root , чтобы создать диагностический пакет:
sudo ./MDESupportTool -d
Запуск клиентского анализатора на основе Python
Примечание.
- Анализатор зависит от нескольких дополнительных пакетов PIP (
decorator
, ,distro
sh
,lxml
иpsutil
), которые устанавливаются в операционной системе в корневом каталоге для получения выходных данных результата. Если он не установлен, анализатор пытается получить его из официального репозитория для пакетов Python. - Кроме того, в настоящее время на устройстве требуется установить Python версии 3 или более поздней.
- Если устройство находится за прокси-сервером, вы можете передать прокси-сервер в качестве переменной среды в
mde_support_tool.sh
скрипт. Пример:https_proxy=https://myproxy.contoso.com:8080 ./mde_support_tool.sh"
.
Предупреждение
Для запуска клиентского анализатора на основе Python требуется установка пакетов PIP, что может вызвать некоторые проблемы в вашей среде. Чтобы избежать возникновения проблем, рекомендуется установить пакеты в пользовательской среде PIP.
Скачайте средство анализатора клиента XMDE на компьютере Linux, который требуется изучить. Если вы используете терминал, скачайте средство, введя следующую команду:
wget --quiet -O XMDEClientAnalyzer.zip https://aka.ms/XMDEClientAnalyzer
Проверьте скачивание.
echo '07E6A7B89E28A78309D5B6F1E25E4CDFBA9CA141450E422D76441C03AD3477E7 XMDEClientAnalyzer.zip' | sha256sum -c
Извлеките содержимое
XMDEClientAnalyzer.zip
на компьютере.unzip -q XMDEClientAnalyzer.zip -d XMDEClientAnalyzer
Измените каталог.
cd XMDEClientAnalyzer
Предоставьте исполняемому файлу средства разрешение.
chmod a+x mde_support_tool.sh
Запустите от имени некорового пользователя, чтобы установить необходимые зависимости.
./mde_support_tool.sh
Чтобы собрать диагностический пакет и создать архивный файл результата, запустите еще раз от имени root.
sudo ./mde_support_tool.sh -d
Параметры командной строки
Ниже приведены параметры командной строки, предоставляемые клиентским анализатором.
usage: MDESupportTool [-h] [--output OUTPUT] [--outdir OUTDIR] [--no-zip]
[--force] [--diagnostic] [--skip-mdatp]
[--bypass-disclaimer] [--interactive] [--delay DELAY]
[--mdatp-log {trace,info,warning,error,debug,verbose}]
[--max-log-size MAX_LOG_SIZE]
{certinfocollection,performance,installation,exclude,ratelimit,skipfaultyrules,trace,observespikes,connectivitytest}
...
MDE Diagnostics Tool
positional arguments:
{certinfocollection,performance,installation,exclude,ratelimit,skipfaultyrules,trace,observespikes,connectivitytest}
certinfocollection Collect cert information: Subject name and Hashes
performance Collect extensive machine performance tracing for
analysis of a performance scenario that can be
reproduced on demand
installation Collect different installation/onboarding reports
exclude Exclude specific processes from audit-d monitoring.
ratelimit Set the rate limit for auditd events. Rate limit will
update the limits for auditd events for all the
applications using auditd, which could impact
applications other than MDE.
skipfaultyrules Continue loading rules in spite of an error. This
summarizes the results of loading the rules. The exit
code will not be success if any rule fails to load.
trace Use OS tracing facilities to record Defender
performance traces.
observespikes Collect the process logs in case of spike or mdatp
crash
connectivitytest Perform connectivity test for MDE
optional arguments:
-h, --help show this help message and exit
--output OUTPUT, -o OUTPUT
Output path to export report
--outdir OUTDIR Directory where diagnostics file will be generated.
--no-zip, -nz If set a directory will be created instead of an
archive file.
--force, -f Will overwrite if output directory exists.
--diagnostic, -d Collect extensive machine diagnostic information.
--skip-mdatp Skip any mdatp command. Use this when the mdatp
command is unresponsive.
--bypass-disclaimer Do not display disclaimer banner.
--interactive, -i Interactive diagnostic,
--delay DELAY, -dd DELAY
Delay diagnostic by how many minutes (0~2880), use
this to wait for more debug logs before it collects.
--mdatp-log {trace,info,warning,error,debug,verbose}
Set MDATP log level. If you use interactive or delay
mode, the log level will set to debug automatically,
and reset after 48h.
--max-log-size MAX_LOG_SIZE
Maximum log file size in MB before rotating(Will
restart mdatp).
Режим диагностики
Режим диагностики используется для сбора обширного набора сведений о компьютере, таких как память, диск и журналы MDATP. Этот набор файлов предоставляет основной набор сведений, необходимых для отладки любой проблемы, связанной с Defender для конечной точки.
Поддерживаются следующие варианты:
optional arguments:
-h, --help show this help message and exit
--output OUTPUT, -o OUTPUT
Output path to export report
--outdir OUTDIR Directory where diagnostics file will be generated.
--no-zip, -nz If set a directory will be created instead of an
archive file.
--force, -f Will overwrite if output directory exists.
--diagnostic, -d Collect extensive machine diagnostic information.
--skip-mdatp Skip any mdatp command. Use this when the mdatp
command is unresponsive.
--bypass-disclaimer Do not display disclaimer banner.
--interactive, -i Interactive diagnostic,
--delay DELAY, -dd DELAY
Delay diagnostic by how many minutes (0~2880), use
this to wait for more debug logs before it collects.
--mdatp-log {trace,info,warning,error,debug,verbose}
Set MDATP log level. If you use interactive or delay
mode, the log level will set to debug automatically,
and reset after 48h.
--max-log-size MAX_LOG_SIZE
Maximum log file size in MB before rotating(Will
restart mdatp).
Пример использования: sudo ./MDESupportTool -d
Примечание.
Функция автозабора на уровне журнала доступна только в агенте версии 101.24052.0002 или более поздней.
Файлы, созданные при использовании этого режима, перечислены в следующей таблице:
File | Замечания |
---|---|
mde_diagnostic.zip |
Журналы и конфигурации Defender для конечной точки |
health.txt |
Состояние работоспособности Defender для конечной точки (Отображается только при установке Defender для конечной точки) |
health_details_features.txt |
Состояние работоспособности других функций Defender для конечной точки (Отображается только при установке Defender для конечной точки) |
permissions.txt |
Проблемы с разрешениями для папок, принадлежащих или используемых Defender для конечной точки (Отображается только при установке Defender для конечной точки) |
crashes |
Аварийные дампы, созданные Defender для конечной точки |
process_information.txt |
Процесс, выполняемый на компьютере при запуске средства |
proc_directory_info.txt |
Сопоставление виртуальной памяти процессов Defender для конечной точки (Отображается только при установке Defender для конечной точки) |
auditd_info.txt |
Проверенная работоспособности, правила, журналы |
auditd_log_analysis.txt |
Сводка событий, обработанных аудитом |
auditd_logs.zip |
Файлы журнала аудита |
ebpf_kernel_config.txt |
Текущая загруженная конфигурация ядра Linux |
ebpf_enabled_func.txt |
Список всех функций ядра, которые в настоящее время включены для трассировки |
ebpf_syscalls.zip |
Сведения о трассировке системных вызовов |
ebpf_raw_syscalls.zip |
Трассировка событий, связанных с необработанным системным вызовом |
ebpf_maps_info.txt |
Сведения об идентификаторе и размере карт eBPF |
syslog.zip |
Файлы в разделе /var/log/syslog |
messages.zip |
Файлы в разделе /var/log/messages |
conflicting_processes_information.txt |
Конфликтующие процессы Defender для конечной точки |
exclusions.txt |
Список исключений антивирусной программы |
definitions.txt |
Сведения об определении антивирусной программы |
mde_directories.txt |
Список файлов в каталогах Defender для конечной точки |
disk_usage.txt |
Сведения об использовании диска |
mde_user.txt |
Сведения о пользователе Defender для конечной точки |
mde_definitions_mount.txt |
Точка подключения определений конечных точек Defender для конечных точек |
service_status.txt |
Состояние службы Defender для конечной точки |
service_file.txt |
Файл службы Defender для конечной точки |
hardware_info.txt |
Сведения об оборудовании |
mount.txt |
Сведения о точке подключения |
uname.txt |
Сведения о ядре |
memory.txt |
Сведения о системной памяти |
meminfo.txt |
Подробные сведения об использовании памяти системой |
cpuinfo.txt |
Сведения о ЦП |
lsns_info.txt |
Сведения о пространстве имен Linux |
lsof.txt |
Сведения об открытых дескрипторов файлов в Defender для конечной точки (см. примечание после этой таблицы) |
sestatus.txt |
Сведения об открытых дескрипторов файлов в Defender для конечной точки |
lsmod.txt |
Состояние модулей в ядре Linux |
dmesg.txt |
Сообщения из буфера круга ядра |
kernel_lockdown.txt |
Сведения о блокировке ядра |
rtp_statistics.txt |
Статистика Defender для конечной точки в режиме реального времени (RTP) (Отображается только при установке Defender для конечной точки) |
libc_info.txt |
Сведения о библиотеке libc |
uptime_info.txt |
Время с момента последнего перезапуска |
last_info.txt |
Список последних пользователей, вошедшего в систему |
locale_info.txt |
Показать текущий языковой стандарт |
tmp_files_owned_by_mdatp.txt |
/tmp-файлы, принадлежащие группе: mdatp (Отображается только при установке Defender для конечной точки) |
mdatp_config.txt |
Все конфигурации Defender для конечной точки (Отображается только при установке Defender для конечной точки) |
mpenginedb.db mpenginedb.db-wal mpenginedb.db-shm |
Файл определений антивирусной программы (Отображается только при установке Defender для конечной точки) |
iptables_rules.txt |
Правила iptables linux |
network_info.txt |
Сведения о сети |
sysctl_info.txt |
Сведения о параметрах ядра |
hostname_diagnostics.txt |
Сведения об имени узла диагностика |
mde_event_statistics.txt |
Статистика событий Defender для конечной точки (Отображается только при установке Defender для конечной точки) |
mde_ebpf_statistics.txt |
Статистика eBPF в Defender для конечной точки (Отображается только при установке Defender для конечной точки) |
kernel_logs.zip |
Журналы ядра |
mdc_log.zip |
Microsoft Defender для облачных журналов |
netext_config.txt |
|
threat_list.txt |
Список угроз, обнаруженных Defender для конечной точки (Отображается только при установке Defender для конечной точки) |
top_output.txt |
Процесс, выполняемый на компьютере при запуске средства |
top_summary.txt |
Аналитика использования памяти и ЦП для выполняемого процесса |
Необязательные аргументы для клиентского анализатора
Анализатор клиента предоставляет следующие необязательные аргументы для дополнительного сбора данных:
Сбор сведений о производительности
Соберите обширную трассировку производительности компьютера процессов Defender для конечной точки для анализа сценария производительности, который можно воспроизвести по запросу.
-h, --help show this help message and exit
--frequency FREQUENCY
profile at this frequency
--length LENGTH length of time to collect (in seconds)
Пример использования: sudo ./MDESupportTool performance --frequency 500
Ниже приведен файл, созданный при использовании этого режима:
File | Замечания |
---|---|
perf_benchmark.tar.gz |
Defender для конечной точки обрабатывает данные о производительности |
Примечание.
Также создаются файлы, соответствующие режиму диагностики.
Tar содержит файлы в формате <pid of a MDE process>.data
.
Файл данных можно прочитать с помощью команды :
perf report -i <pid>.data
Запуск теста подключения
В этом режиме проверяется, доступны ли облачные ресурсы, необходимые Defender для конечной точки.
-h, --help show this help message and exit
-o ONBOARDING_SCRIPT, --onboarding-script ONBOARDING_SCRIPT
Path to onboarding script
-g GEO, --geo GEO Geo string to test <US|UK|EU|AU|CH|IN>
Пример использования:
sudo ./MDESupportTool connectivitytest -o ~/MicrosoftDefenderATPOnboardingLinuxServer.py`
Выходные данные, показанные на экране, показывают, доступны ли URL-адреса.
Сбор различных отчетов об установке и подключении
В этом режиме собирается информация, связанная с установкой, например требования к дистрибутиву и системе.
-h, --help show this help message and exit
-d, --distro Check for distro support
-m, --min-requirement Check for the system info against offical minimum requirements
-e, --external-dep Check for externel package dependency
-c, --connectivity Check for connectivity for services used by MDE
-a, --all Run all checks
-o ONBOARDING_SCRIPT, --onboarding-script ONBOARDING_SCRIPT
Path to onboarding script
-g GEO, --geo GEO Geo string to test <US|UK|EU|AU|CH|IN>
Пример использования:
sudo ./MDESupportTool installation --all
Создается один отчет installation_report.json
. Ключи в файле следующие:
Key | Замечания |
---|---|
agent_version | Установленная версия Defender для конечной точки |
onboarding_status | Сведения о подключении и круге |
support_status | MDE поддерживается с текущими конфигурациями системы |
дистрибутив | Дистрибутив, на котором установлен агент, поддерживается или нет. |
connectivitytest | Тестовый страт подключения |
min_requirement | Выполняются минимальные требования к ЦП и памяти. |
external_depedency | Внешние зависимости удовлетворены или не удовлетворены |
mde_health | Состояние работоспособности агента MDE |
folder_perm | Необходимые разрешения папки выполнены или нет. |
Режим исключения
В этом режиме добавляются исключения для audit-d
мониторинга.
-h, --help show this help message and exit
-e <executable>, --exe <executable>
exclude by executable name, i.e: bash
-p <process id>, --pid <process id>
exclude by process id, i.e: 911
-d <directory>, --dir <directory>
exclude by target path, i.e: /var/foo/bar
-x <executable> <directory>, --exe_dir <executable> <directory>
exclude by executable path and target path, i.e: /bin/bash /var/foo/bar
-q <q_size>, --queue <q_size>
set dispatcher q_depth size
-r, --remove remove exclusion file
-s, --stat get statistics about common executables
-l, --list list auditd rules
-o, --override Override the existing auditd exclusion rules file for mdatp
-c <syscall number>, --syscall <syscall number>
exclude all process of the given syscall
Пример использования:
sudo ./MDESupportTool exclude -d /var/foo/bar`
Средство ограничения скорости AuditD
Этот параметр глобально задает ограничение скорости для AuditD, вызывая падение всех событий аудита. Если ограничитель включен, количество событий аудита ограничено 2500 событиями в секунду. Этот параметр можно использовать в тех случаях, когда мы видим высокую загрузку ЦП со стороны AuditD.
-h, --help show this help message and exit
-e <true/false>, --enable <true/false> enable/disable the rate limit with default values
Пример использования:
sudo ./mde_support_tool.sh ratelimit -e true
Примечание.
Эту функцию следует использовать с осторожностью, так как она ограничивает количество событий, от которых в целом сообщает подсистема аудита. Это также может уменьшить количество событий для других подписчиков.
Неисправные правила пропуска auditD
Этот параметр позволяет пропускать неисправные правила, добавленные в файл проверенных правил при их загрузке. Это позволяет подсистеме аудита продолжать загрузку правил, даже если существует неисправное правило.
-h, --help show this help message and exit
-e <true/false>, --enable <true/false> enable/disable the option to skip the faulty rules. In case no argumanet is passed, the option will be true by default.
Пример использования:
sudo ./mde_support_tool.sh skipfaultyrules -e true
Примечание.
Эта функция пропускает неисправные правила. Неисправные правила должны быть определены и исправлены.
Использование динамического ответа в Defender для конечной точки для сбора журналов поддержки
Средство анализатора клиента XMDE можно скачать в виде двоичного пакета или пакета Python , который можно извлечь и выполнить на компьютерах Linux. Обе версии анализатора клиента XMDE могут выполняться во время сеанса динамического ответа.
- Для установки
unzip
требуется пакет. - Для выполнения
acl
требуется пакет.
Важно!
Окно использует невидимые символы возврата каретки и канала строки для представления конца одной строки и начала новой строки в файле, но системы Linux используют только невидимый символ канала строки в конце строк файла. При использовании приведенных ниже скриптов эта разница может привести к ошибкам и сбоям запускаемых скриптов. Потенциальное решение заключается в использовании подсистема Windows для Linux и dos2unix
пакета для переформатировать скрипт так, чтобы он соответствовал стандарту формата Unix и Linux.
Установка анализатора клиента XMDE
Скачайте и извлеките анализатор клиента XMDE. Вы можете использовать двоичную версию или версию Python следующим образом:
Из-за ограниченности команд, доступных в динамическом ответе, описанные шаги должны выполняться в скрипте bash. Разделив часть этих команд по установке и выполнению, можно запустить сценарий установки один раз и выполнить скрипт выполнения несколько раз.
Важно!
В примерах скриптов предполагается, что компьютер имеет прямой доступ к Интернету и может получить анализатор клиента XMDE от корпорации Майкрософт. Если компьютер не имеет прямого доступа к Интернету, необходимо обновить скрипты установки, чтобы получить анализатор клиента XMDE из расположения, к котором компьютеры могут получить доступ.
Скрипт установки двоичного клиентского анализатора
Следующий скрипт выполняет первые шесть шагов для запуска двоичной версии клиентского анализатора. После завершения двоичный файл клиентского анализатора XMDE будет доступен из /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer
каталога.
Создайте bash-файл
InstallXMDEClientAnalyzer.sh
и вставьте в него следующее содержимое.#! /usr/bin/bash echo "Starting Client Analyzer Script. Running As:" whoami echo "Getting XMDEClientAnalyzerBinary" wget --quiet -O /tmp/XMDEClientAnalyzerBinary.zip https://aka.ms/XMDEClientAnalyzerBinary echo '4E96E75B16244BB25BDBF34CBB3EB596BC2E9CE368BC4E532E8AE12DF2A1E19D /tmp/XMDEClientAnalyzerBinary.zip' | sha256sum -c echo "Unzipping XMDEClientAnalyzerBinary.zip" unzip -q /tmp/XMDEClientAnalyzerBinary.zip -d /tmp/XMDEClientAnalyzerBinary echo "Unzipping SupportToolLinuxBinary.zip" unzip -q /tmp/XMDEClientAnalyzerBinary/SupportToolLinuxBinary.zip -d /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer echo "MDESupportTool installed at /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer"
Скрипт установки клиентского анализатора Python
Следующий скрипт выполняет первые шесть шагов для запуска версии Python клиентского анализатора. После завершения скрипты Python клиентского анализатора XMDE будут доступны из /tmp/XMDEClientAnalyzer
каталога.
Создайте bash-файл
InstallXMDEClientAnalyzer.sh
и вставьте в него следующее содержимое.#! /usr/bin/bash echo "Starting Client Analyzer Install Script. Running As:" whoami echo "Getting XMDEClientAnalyzer.zip" wget --quiet -O /tmp/XMDEClientAnalyzer.zip https://aka.ms/XMDEClientAnalyzer echo '07E6A7B89E28A78309D5B6F1E25E4CDFBA9CA141450E422D76441C03AD3477E7 /tmp/XMDEClientAnalyzer.zip' | sha256sum -c echo "Unzipping XMDEClientAnalyzer.zip" unzip -q /tmp/XMDEClientAnalyzer.zip -d /tmp/XMDEClientAnalyzer echo "Setting execute permissions on mde_support_tool.sh script" cd /tmp/XMDEClientAnalyzer chmod a+x mde_support_tool.sh echo "Performing final support tool setup" ./mde_support_tool.sh
Запуск скриптов установки клиентского анализатора
Инициируйте сеанс динамического реагирования на компьютере, который вы хотите исследовать.
Выберите Отправить файл в библиотеку.
Выберите Выбрать файл.
Выберите скачанный файл с именем
InstallXMDEClientAnalyzer.sh
, а затем нажмите кнопку Подтвердить.Оставаясь в сеансе LiveResponse, используйте следующие команды, чтобы установить анализатор:
run InstallXMDEClientAnalyzer.sh
Запуск клиентского анализатора XMDE
Динамический ответ не поддерживает запуск клиентского анализатора XMDE или Python напрямую, поэтому требуется скрипт выполнения.
Важно!
В следующих сценариях предполагается, что анализатор клиента XMDE был установлен в том же расположении, что и упомянутые выше скрипты. Если ваша организация решает установить скрипты в другом расположении, их необходимо обновить в соответствии с выбранным расположением установки вашей организации.
Скрипт для выполнения двоичного анализатора клиента
Двоичная версия клиентского анализатора принимает параметры командной строки для выполнения различных аналитических тестов. Чтобы обеспечить аналогичные возможности во время динамического $@
ответа, скрипт выполнения использует переменную bash для передачи всех входных параметров, предоставленных скрипту, в анализатор клиента XMDE.
Создайте bash-файл
MDESupportTool.sh
и вставьте в него следующее содержимое.#! /usr/bin/bash echo "cd /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer" cd /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer echo "Running MDESupportTool" ./MDESupportTool $@
Скрипт для выполнения анализатора клиента Python
Версия клиентского анализатора Python принимает параметры командной строки для выполнения различных аналитических тестов. Чтобы обеспечить аналогичные возможности во время динамического $@
ответа, скрипт выполнения использует переменную bash для передачи всех входных параметров, предоставленных скрипту, в анализатор клиента XMDE.
Создайте bash-файл
MDESupportTool.sh
и вставьте в него следующее содержимое.#! /usr/bin/bash echo "cd /tmp/XMDEClientAnalyzer" cd /tmp/XMDEClientAnalyzer echo "Running mde_support_tool" ./mde_support_tool.sh $@
Запуск скрипта клиентского анализатора
Примечание.
Если у вас есть активный сеанс динамического ответа, можно пропустить шаг 1.
Инициируйте сеанс динамического реагирования на компьютере, который вы хотите исследовать.
Выберите Отправить файл в библиотеку.
Выберите Выбрать файл.
Выберите скачанный файл с именем
MDESupportTool.sh
, а затем нажмите кнопку Подтвердить.Еще в сеансе динамического ответа выполните следующие команды, чтобы запустить анализатор и собрать результирующий файл:
run MDESupportTool.sh -parameters "--bypass-disclaimer -d" GetFile "/tmp/your_archive_file_name_here.zip"
См. также
Документы по устранению неполадок Defender для конечной точки в Linux
Устранение неполадок с установкой для Microsoft Defender для конечной точки в Linux
Устранение проблем с подключением к облаку для Microsoft Defender для конечной точки в Linux
Устранение проблем с производительностью Microsoft Defender для конечной точки в Linux
Устранение ложных положительных/отрицательных срабатываний в Microsoft Defender для конечной точки
Совет
Хотите узнать больше? Engage с сообществом Microsoft Security в нашем техническом сообществе: Microsoft Defender для конечной точки Техническое сообщество.