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


Развертывание Microsoft Defender для конечной точки в Linux с помощью Ansible

Применимо к:

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

В этой статье описывается развертывание 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 для конечной точки не поддерживается. Это может негативно повлиять на целостность продукта и привести к неблагоприятным результатам, включая, помимо прочего, активацию оповещений и обновлений о незаконном изменении.

  1. На портале Microsoft Defender перейдите в раздел Параметры Конечные>>точкиПодключениеуправления устройствами>.

  2. В первом раскрывающемся меню выберите Сервер Linux в качестве операционной системы. Во втором раскрывающемся меню выберите предпочитаемое средство управления конфигурацией Linux в качестве метода развертывания.

  3. Выберите Скачать пакет подключения. Сохраните файл как WindowsDefenderATPOnboardingPackage.zip.

    Параметр Download onboarding package (Скачать пакет подключения)

  4. В командной строке убедитесь, что у вас есть файл. Извлеките содержимое архива:

    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> "

Проверка успешности развертывания

  1. На портале Microsoft Defender откройте инвентаризацию устройств. На отображение устройства на портале может потребоваться 5–20 минут.

  2. Выполните следующие проверки после установки, в том числе проверки работоспособности, подключения, антивирусной программы и проверки обнаружения 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

Создайте файлы подзадачей или ролей, которые вносят вклад в сборник схем или задачу.

  1. Создайте задачу подключения: 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
    
  2. Добавьте репозиторий Defender для конечной точки и ключ . add_apt_repo.yml Defender для конечной точки в Linux можно развернуть из одного из следующих каналов:

    Каждый канал соответствует репозиторию программного обеспечения Linux.

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

    Для предварительного просмотра новых функций и предоставления ранних отзывов рекомендуется настроить некоторые устройства в организации для использования программы предварительной оценки быстрой или медленной для участников программы предварительной оценки.

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

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

  3. Запишите дистрибутив и версию и определите ближайшие для него записи в разделе https://packages.microsoft.com/config/[distro]/.

  4. В следующих командах замените [дистрибутив] и [версию] указанными сведениями.

    Примечание.

    В случае с 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"
    
  5. Создайте файлы 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/ соответствующем каталоге или в соответствующем каталоге.

  1. Установка:

    ansible-playbook /etc/ansible/playbooks/install_mdatp.yml -i /etc/ansible/hosts
    

    Важно!

    Когда продукт запускается в первый раз, он загружает последние определения антивредоносных программ. В зависимости от подключения к Интернету это может занять до нескольких минут.

  2. Проверка и настройка.

    ansible -m shell -a 'mdatp connectivity test' all
    
    ansible -m shell -a 'mdatp health' all
    
  3. Удаление:

    ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts
    

Устранение неполадок при установке

Для самостоятельного устранения неполадок выполните следующие действия.

  1. Сведения о том, как найти журнал, который создается автоматически при возникновении ошибки установки, см. в разделе Проблемы с установкой журнала.

  2. Сведения о распространенных проблемах с установкой см. в разделе Проблемы с установкой.

  3. Если работоспособность устройства — false, см. статью Проблемы работоспособности агента Конечной точки в Defender.

  4. Сведения о проблемах с производительностью продукта см. в статье Устранение проблем с производительностью.

  5. Сведения о проблемах с прокси-сервером и подключением см. в статье Устранение неполадок с подключением к облаку.

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

Настройка политик для Microsoft Defender в Linux

Вы можете настроить параметры антивирусной программы или EDR на конечных точках с помощью следующих методов:

Обновления операционной системы

При обновлении операционной системы до новой основной версии необходимо сначала удалить Defender для конечной точки в Linux, установить обновление и, наконец, перенастроить Defender для конечной точки на linux на своем устройстве.

См. также

Совет

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