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


Запуск клиентского анализатора в Linux

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

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

Если у вас возникли проблемы с Microsoft Defender для конечной точки в Linux и вам нужна поддержка, может потребоваться предоставить выходные данные из средства клиентского анализатора. В этой статье объясняется, как использовать средство на устройстве или с динамическим откликом. Вы можете использовать решение на основе Python или двоичную версию, которая не требует Python.

Запуск двоичной версии клиентского анализатора

  1. Скачайте двоичное средство анализатора клиента XMDE на компьютер Linux, который вы хотите исследовать. Если вы используете терминал, скачайте средство, введя следующую команду:

    wget --quiet -O XMDEClientAnalyzerBinary.zip https://aka.ms/XMDEClientAnalyzerBinary
    
  2. Проверьте скачивание.

    echo 'B5EBD9AB36F2DB92C341ABEBB20A50551D08D769CB061EAFCC1A931EFACE305D XMDEClientAnalyzerBinary.zip' | sha256sum -c
    
  3. Извлеките содержимое XMDEClientAnalyzerBinary.zip на компьютере.

    unzip -q XMDEClientAnalyzerBinary.zip -d XMDEClientAnalyzerBinary
    
  4. Измените каталог:

    cd XMDEClientAnalyzerBinary
    
  5. Создаются два новых ZIP-файла:

    • SupportToolLinuxBinary.zip: для всех устройств Linux
    • SupportToolMacOSBinary.zip: для устройств Mac
  6. Распакуку SupportToolLinuxBinary.zip файла.

    unzip -q SupportToolLinuxBinary.zip
    
  7. Запустите средство от имени root , чтобы создать диагностический пакет:

    sudo ./MDESupportTool -d
    

Запуск клиентского анализатора на основе Python

Примечание.

  • Анализатор зависит от нескольких дополнительных пакетов PIP (decorator, , distrosh, lxmlи psutil), которые устанавливаются в операционной системе в корневом каталоге для получения выходных данных результата. Если он не установлен, анализатор пытается получить его из официального репозитория для пакетов Python.
  • Кроме того, в настоящее время на устройстве требуется установить Python версии 3 или более поздней.
  • Если устройство находится за прокси-сервером, вы можете передать прокси-сервер в качестве переменной среды в mde_support_tool.sh скрипт. Пример: https_proxy=https://myproxy.contoso.com:8080 ./mde_support_tool.sh".

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

Для запуска клиентского анализатора на основе Python требуется установка пакетов PIP, что может вызвать некоторые проблемы в вашей среде. Чтобы избежать возникновения проблем, рекомендуется установить пакеты в пользовательской среде PIP.

  1. Скачайте средство анализатора клиента XMDE на компьютере Linux, который требуется изучить. Если вы используете терминал, скачайте средство, введя следующую команду:

    wget --quiet -O XMDEClientAnalyzer.zip https://aka.ms/XMDEClientAnalyzer
    
  2. Проверьте скачивание.

    echo '07E6A7B89E28A78309D5B6F1E25E4CDFBA9CA141450E422D76441C03AD3477E7 XMDEClientAnalyzer.zip' | sha256sum -c
    
  3. Извлеките содержимое XMDEClientAnalyzer.zip на компьютере.

    unzip -q XMDEClientAnalyzer.zip -d XMDEClientAnalyzer
    
  4. Измените каталог.

    cd XMDEClientAnalyzer
    
  5. Предоставьте исполняемому файлу средства разрешение.

    chmod a+x mde_support_tool.sh
    
  6. Запустите от имени некорового пользователя, чтобы установить необходимые зависимости.

    ./mde_support_tool.sh
    
  7. Чтобы собрать диагностический пакет и создать архивный файл результата, запустите еще раз от имени 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 каталога.

  1. Создайте 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 каталога.

  1. Создайте 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
    
    

Запуск скриптов установки клиентского анализатора

  1. Инициируйте сеанс динамического реагирования на компьютере, который вы хотите исследовать.

  2. Выберите Отправить файл в библиотеку.

  3. Выберите Выбрать файл.

  4. Выберите скачанный файл с именем InstallXMDEClientAnalyzer.sh, а затем нажмите кнопку Подтвердить.

  5. Оставаясь в сеансе LiveResponse, используйте следующие команды, чтобы установить анализатор:

    run InstallXMDEClientAnalyzer.sh
    

Запуск клиентского анализатора XMDE

Динамический ответ не поддерживает запуск клиентского анализатора XMDE или Python напрямую, поэтому требуется скрипт выполнения.

Важно!

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

Скрипт для выполнения двоичного анализатора клиента

Двоичная версия клиентского анализатора принимает параметры командной строки для выполнения различных аналитических тестов. Чтобы обеспечить аналогичные возможности во время динамического $@ ответа, скрипт выполнения использует переменную bash для передачи всех входных параметров, предоставленных скрипту, в анализатор клиента XMDE.

  1. Создайте bash-файл MDESupportTool.sh и вставьте в него следующее содержимое.

    #! /usr/bin/bash
    
    echo "cd /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer"
    cd /tmp/XMDEClientAnalyzerBinary/ClientAnalyzer
    
    echo "Running MDESupportTool"
    ./MDESupportTool $@
    
    

Скрипт для выполнения анализатора клиента Python

Версия клиентского анализатора Python принимает параметры командной строки для выполнения различных аналитических тестов. Чтобы обеспечить аналогичные возможности во время динамического $@ ответа, скрипт выполнения использует переменную bash для передачи всех входных параметров, предоставленных скрипту, в анализатор клиента XMDE.

  1. Создайте bash-файл MDESupportTool.sh и вставьте в него следующее содержимое.

    #! /usr/bin/bash  
    
    echo "cd /tmp/XMDEClientAnalyzer"
    cd /tmp/XMDEClientAnalyzer 
    
    echo "Running mde_support_tool"
    ./mde_support_tool.sh $@
    
    

Запуск скрипта клиентского анализатора

Примечание.

Если у вас есть активный сеанс динамического ответа, можно пропустить шаг 1.

  1. Инициируйте сеанс динамического реагирования на компьютере, который вы хотите исследовать.

  2. Выберите Отправить файл в библиотеку.

  3. Выберите Выбрать файл.

  4. Выберите скачанный файл с именем MDESupportTool.sh, а затем нажмите кнопку Подтвердить.

  5. Еще в сеансе динамического ответа выполните следующие команды, чтобы запустить анализатор и собрать результирующий файл:

    run MDESupportTool.sh -parameters "--bypass-disclaimer -d"
    GetFile "/tmp/your_archive_file_name_here.zip"
    

См. также

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

Совет

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