Развертывание Microsoft Defender для конечной точки в Linux с помощью Ansible
Применимо к:
- Сервер Microsoft Defender для конечной точки
- Microsoft Defender для серверов
Хотите попробовать Defender для конечной точки? Зарегистрироваться для бесплатной пробной версии.
В этой статье описывается развертывание Defender для конечной точки в Linux с помощью Ansible. Для успешного развертывания требуется выполнить все следующие задачи:
- Предварительные требования и требования к системе
- Скачивание пакета подключения
- Развертывание Defender для конечной точки в Linux с помощью mde_installer.sh с Ansible
- Развертывание Defender для конечной точки в Linux с помощью Ansible путем настройки репозиториев вручную
Важно!
Эта статья содержит сведения о сторонних средствах. Это предоставляется для выполнения сценариев интеграции, однако корпорация Майкрософт не предоставляет поддержку по устранению неполадок для сторонних средств.
Обратитесь за поддержкой к стороннему поставщику.
Введение
Разверните Microsoft Defender для конечной точки на серверах Linux с помощью Ansible для автоматизации процесса развертывания компьютеров в большом масштабе. Ниже приведены два метода автоматизации.
Используйте скрипт установщика (рекомендуется). Этот метод значительно упрощает процесс автоматизации и помогает установить агент Defender для конечной точки и подключить устройство к порталу Microsoft Defender, выполнив всего несколько шагов без необходимости настраивать разные дистрибутивы отдельно.
Вручную настройте репозитории для каждого дистрибутива. Этот метод позволяет автоматизировать процесс развертывания путем ручной настройки репозиториев, установки агента и подключения устройства для каждого дистрибутива. Этот метод обеспечивает более детальный контроль над процессом развертывания.
Предварительные требования и требования к системе, применимые к обоим методам
Прежде чем приступить к работе, ознакомьтесь со страницей main Defender для конечной точки в Linux, где описаны предварительные требования и требования к системе.
Кроме того, для развертывания Ansible необходимо быть знакомым с задачами администрирования Ansible, настроить Ansible и уметь развертывать сборники схем и задачи. Ansible имеет множество способов выполнения одной и той же задачи. Эти инструкции предполагают наличие поддерживаемых модулей Ansible, таких как apt и unarchive , для развертывания пакета. Ваша организация может использовать другой рабочий процесс. Дополнительные сведения см. в документации по Ansible.
Ansible необходимо установить по крайней мере на одном компьютере (Ansible вызывает этот компьютер узлом управления).
SSH необходимо настроить для учетной записи администратора между узлом управления и всеми управляемыми узлами (устройствами, на которых установлен Defender для конечной точки), и рекомендуется настроить проверку подлинности с открытым ключом.
На всех управляемых узлах необходимо установить следующее программное обеспечение:
- локон
- python-apt (если вы развертываете в дистрибутивах, используя apt в качестве диспетчера пакетов)
Все управляемые узлы должны быть перечислены в следующем формате в
/etc/ansible/hosts
соответствующем или соответствующем файле:[servers] host1 ansible_ssh_host=10.171.134.39 host2 ansible_ssh_host=51.143.50.51
Проверка проверки ping:
ansible -m ping all
Скачайте пакет подключения, применимый к обоим методам
Скачайте пакет подключения с Microsoft Defender портала.
Предупреждение
Переупаковка пакета установки Defender для конечной точки не поддерживается. Это может негативно повлиять на целостность продукта и привести к неблагоприятным результатам, включая, помимо прочего, активацию оповещений и обновлений о незаконном изменении.
На портале Microsoft Defender перейдите в раздел Параметры Конечные>>точкиПодключениеуправления устройствами>.
В первом раскрывающемся меню выберите Сервер Linux в качестве операционной системы. Во втором раскрывающемся меню выберите предпочитаемое средство управления конфигурацией Linux в качестве метода развертывания.
Выберите Скачать пакет подключения. Сохраните файл как
WindowsDefenderATPOnboardingPackage.zip
.В командной строке убедитесь, что у вас есть файл. Извлеките содержимое архива:
unzip WindowsDefenderATPOnboardingPackage.zip
Archive: WindowsDefenderATPOnboardingPackage.zip inflating: mdatp_onboard.json
Развертывание Defender для конечной точки с помощью mde_installer.sh с Ansible
Перед началом работы обязательно скачайте пакет подключения и выполните необходимые условия для развертывания Defender для конечной точки в Linux с помощью скрипта bash установщика.
Скачивание скрипта Bash установщика
Извлеките скрипт bash установщика из репозитория Microsoft GitHub или скачайте его с помощью следующей команды.
wget https://raw.githubusercontent.com/microsoft/mdatp-xplat/refs/heads/master/linux/installation/mde_installer.sh
Создание файлов YAML Ansible
Создайте файл YAML установки. Вы также можете скачать файл непосредственно из GitHub.
- name: Install and Onboard MDE
hosts: servers
tasks:
- name: Create a directory if it does not exist
ansible.builtin.file:
path: /tmp/mde_install
state: directory
mode: '0755'
- name: Copy Onboarding script
ansible.builtin.copy:
src: "{{ onboarding_json }}"
dest: /tmp/mde_install/mdatp_onboard.json
- name: Install MDE on host
ansible.builtin.script: "{{ mde_installer_script }} --install --channel {{ channel | default('insiders-fast') }} --onboard /tmp/mde_install/mdatp_onboard.json"
register: script_output
args:
executable: sudo
- name: Display the installation output
debug:
msg: "Return code [{{ script_output.rc }}] {{ script_output.stdout }}"
- name: Display any installation errors
debug:
msg: "{{ script_output.stderr }}"
Примечание.
Скрипт установщика также поддерживает другие параметры, такие как канал, защита в реальном времени, версия и т. д. Чтобы выбрать из списка доступных параметров, проверка справку с помощью следующей команды:./mde_installer.sh --help
Применение сборника схем
Примените сборник схем с помощью следующей команды, заменив соответствующие пути и канал в соответствии с вашими требованиями:
ansible-playbook -i /etc/ansible/hosts /etc/ansible/playbooks/install_mdatp.yml --extra-vars "onboarding_json=<path to mdatp_onboard.json > mde_installer_script=<path to mde_installer.sh> channel=<channel to deploy for: insiders-fast / insiders-slow / prod> "
Проверка успешности развертывания
На портале Microsoft Defender откройте инвентаризацию устройств. На отображение устройства на портале может потребоваться 5–20 минут.
Выполните следующие проверки после установки, в том числе проверки работоспособности, подключения, антивирусной программы и проверки обнаружения EDR, чтобы обеспечить успешное развертывание и работу Defender для конечной точки.
- name: Run post-installation basic MDE test
hosts: myhosts
tasks:
- name: Check health
ansible.builtin.command: mdatp health --field healthy
register: health_status
- name: MDE health test failed
fail: msg="MDE is not healthy. health status => \n{{ health_status.stdout }}\nMDE deployment not complete"
when: health_status.stdout != "true"
- name: Run connectivity test
ansible.builtin.command: mdatp connectivity test
register: connectivity_status
- name: Connectivity failed
fail: msg="Connectivity failed. Connectivity result => \n{{ connectivity_status.stdout }}\n MDE deployment not complete"
when: connectivity_status.rc != 0
- name: Check RTP status
ansible.builtin.command: mdatp health --field real_time_protection_enabled
register: rtp_status
- name: Enable RTP
ansible.builtin.command: mdatp config real-time-protection --value enabled
become: yes
become_user: root
when: rtp_status.stdout != "true"
- name: Pause for 5 second to enable RTP
ansible.builtin.pause:
seconds: 5
- name: Download EICAR
ansible.builtin.get_url:
url: https://secure.eicar.org/eicar.com.txt
dest: /tmp/eicar.com.txt
- name: Pause for 5 second to detect eicar
ansible.builtin.pause:
seconds: 5
- name: Check for EICAR file
stat: path=/tmp/eicar.com.txt
register: eicar_test
- name: EICAR test failed
fail: msg="EICAR file not deleted. MDE deployment not complete"
when: eicar_test.stat.exists
- name: MDE Deployed
debug:
msg: "MDE succesfully deployed"
Удаление Microsoft Defender для конечной точки на серверах Linux
Сначала создайте YAML-файл удаления (например, /etc/ansible/playbooks/uninstall_mdatp.yml), который использует mde_installer.sh
. Вы также можете скачать файл непосредственно из GitHub.
- name: Uninstall MDE
hosts: myhosts
tasks:
- name: Uninstall MDE
ansible.builtin.script: "{{ mde_installer_script }} --remove"
register: script_output
args:
executable: sudo
- name: Display the installation output
debug:
msg: "Return code [{{ script_output.rc }}] {{ script_output.stdout }}"
- name: Display any installation errors
debug:
msg: "{{ script_output.stderr }}"
Выполните следующую команду, чтобы удалить Defender для конечной точки с помощью сборника схем:
ansible-playbook -i /etc/ansible/hosts /etc/ansible/playbooks/uninstall_mdatp.yml --extra-vars "mde_installer_script=<path to mde_installer.sh>"
Развертывание Defender для конечной точки с помощью Ansible путем настройки репозиториев вручную
Выполните действия, описанные в этом разделе, после скачивания пакета подключения и выполнения предварительных требований, чтобы развернуть Defender для конечной точки, вручную настроив репозитории для каждого дистрибутива Linux.
Создание файлов YAML Ansible
Создайте файлы подзадачей или ролей, которые вносят вклад в сборник схем или задачу.
Создайте задачу подключения:
onboarding_setup.yml
- name: Create MDATP directories file: path: /etc/opt/microsoft/mdatp/ recurse: true state: directory mode: 0755 owner: root group: root - name: Register mdatp_onboard.json stat: path: /etc/opt/microsoft/mdatp/mdatp_onboard.json register: mdatp_onboard - name: Extract WindowsDefenderATPOnboardingPackage.zip into /etc/opt/microsoft/mdatp unarchive: src: WindowsDefenderATPOnboardingPackage.zip dest: /etc/opt/microsoft/mdatp mode: 0600 owner: root group: root when: not mdatp_onboard.stat.exists
Добавьте репозиторий Defender для конечной точки и ключ .
add_apt_repo.yml
Defender для конечной точки в Linux можно развернуть из одного из следующих каналов:-
insiders-fast, обозначается как
[channel]
insiders-slow, обозначается как[channel]
-
prod, обозначается как
[channel]
имя версии (см. раздел Репозиторий программного обеспечения Linux для продуктов Майкрософт)
Каждый канал соответствует репозиторию программного обеспечения Linux.
Выбор канала определяет тип и частоту обновлений, предлагаемых вашему устройству. Устройства в программе предварительной оценки являются первыми, кто получает обновления и новые функции, за которыми следуют инсайдеры медленно, и, наконец, prod.
Для предварительного просмотра новых функций и предоставления ранних отзывов рекомендуется настроить некоторые устройства в организации для использования программы предварительной оценки быстрой или медленной для участников программы предварительной оценки.
Предупреждение
Переключение канала после начальной установки требует переустановки продукта. Чтобы переключить канал продукта, удалите существующий пакет, повторно настройте устройство для использования нового канала и выполните действия, описанные в этом документе, чтобы установить пакет из нового расположения.
-
insiders-fast, обозначается как
Запишите дистрибутив и версию и определите ближайшие для него записи в разделе
https://packages.microsoft.com/config/[distro]/
.В следующих командах замените [дистрибутив] и [версию] указанными сведениями.
Примечание.
В случае с Oracle Linux и Amazon Linux 2 замените [дистрибутив] на "rhel". Для Amazon Linux 2 замените [версию] на "7". Для Oracle Linux замените [версию] версией Oracle Linux.
- name: Add Microsoft APT key apt_key: url: https://packages.microsoft.com/keys/microsoft.asc state: present when: ansible_os_family == "Debian" - name: Add Microsoft apt repository for MDATP apt_repository: repo: deb [arch=arm64,armhf,amd64] https://packages.microsoft.com/[distro]/[version]/prod [codename] main update_cache: yes state: present filename: microsoft-[channel] when: ansible_os_family == "Debian" - name: Add Microsoft DNF/YUM key rpm_key: state: present key: https://packages.microsoft.com/keys/microsoft.asc when: ansible_os_family == "RedHat" - name: Add Microsoft yum repository for MDATP yum_repository: name: packages-microsoft-[channel] description: Microsoft Defender for Endpoint file: microsoft-[channel] baseurl: https://packages.microsoft.com/[distro]/[version]/[channel]/ gpgcheck: yes enabled: Yes when: ansible_os_family == "RedHat"
Создайте файлы YAML для установки и удаления Ansible.
Для дистрибутивов на основе apt используйте следующий файл YAML:
cat install_mdatp.yml
- hosts: servers tasks: - name: include onboarding tasks import_tasks: file: ../roles/onboarding_setup.yml - name: add apt repository import_tasks: file: ../roles/add_apt_repo.yml - name: Install MDATP apt: name: mdatp state: latest update_cache: yes
cat uninstall_mdatp.yml
- hosts: servers tasks: - name: Uninstall MDATP apt: name: mdatp state: absent
Для дистрибутивов на основе dnf используйте следующий ФАЙЛ YAML:
cat install_mdatp_dnf.yml
- hosts: servers tasks: - name: include onboarding tasks import_tasks: file: ../roles/onboarding_setup.yml - name: add apt repository import_tasks: file: ../roles/add_yum_repo.yml - name: Install MDATP dnf: name: mdatp state: latest enablerepo: packages-microsoft-[channel]
cat uninstall_mdatp_dnf.yml
- hosts: servers tasks: - name: Uninstall MDATP dnf: name: mdatp state: absent
Применение сборника схем
На этом шаге вы примените сборник схем. Запустите файлы задач в /etc/ansible/playbooks/
соответствующем каталоге или в соответствующем каталоге.
Установка:
ansible-playbook /etc/ansible/playbooks/install_mdatp.yml -i /etc/ansible/hosts
Важно!
Когда продукт запускается в первый раз, он загружает последние определения антивредоносных программ. В зависимости от подключения к Интернету это может занять до нескольких минут.
Проверка и настройка.
ansible -m shell -a 'mdatp connectivity test' all
ansible -m shell -a 'mdatp health' all
Удаление:
ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts
Устранение неполадок при установке
Для самостоятельного устранения неполадок выполните следующие действия.
Сведения о том, как найти журнал, который создается автоматически при возникновении ошибки установки, см. в разделе Проблемы с установкой журнала.
Сведения о распространенных проблемах с установкой см. в разделе Проблемы с установкой.
Если работоспособность устройства —
false
, см. статью Проблемы работоспособности агента Конечной точки в Defender.Сведения о проблемах с производительностью продукта см. в статье Устранение проблем с производительностью.
Сведения о проблемах с прокси-сервером и подключением см. в статье Устранение неполадок с подключением к облаку.
Чтобы получить поддержку от Корпорации Майкрософт, откройте запрос в службу поддержки и предоставьте файлы журнала, созданные с помощью анализатора клиента.
Настройка политик для Microsoft Defender в Linux
Вы можете настроить параметры антивирусной программы или EDR на конечных точках с помощью следующих методов:
- См. раздел Настройка параметров для Microsoft Defender для конечной точки в Linux.
- Сведения о настройке параметров на портале Microsoft Defender см. в разделе Управление параметрами безопасности.
Обновления операционной системы
При обновлении операционной системы до новой основной версии необходимо сначала удалить Defender для конечной точки в Linux, установить обновление и, наконец, перенастроить Defender для конечной точки на linux на своем устройстве.
См. также
- Добавление или удаление репозиториев YUM
- Управление пакетами с помощью диспетчера пакетов dnf
- Добавление и удаление репозиториев APT
- Управление пакетами apt-packages
- Проблемы с отсутствующим событием
Совет
Хотите узнать больше? Engage с сообществом Microsoft Security в нашем техническом сообществе: Microsoft Defender для конечной точки Техническое сообщество.