Compartir a través de


Implementación de Microsoft Defender para punto de conexión en Linux con Ansible

Se aplica a:

¿Quiere experimentar Defender para punto de conexión? Regístrese para obtener una prueba gratuita.

En este artículo se describe cómo implementar Defender para punto de conexión en Linux mediante Ansible. Una implementación correcta requiere la finalización de todas las tareas siguientes:

Importante

Este artículo contiene información sobre herramientas de terceros. Esto se proporciona para ayudar a completar escenarios de integración; sin embargo, Microsoft no proporciona compatibilidad con la solución de problemas para herramientas de terceros.
Póngase en contacto con el proveedor de terceros para obtener soporte técnico.

Introducción

Implemente Microsoft Defender para punto de conexión en servidores Linux mediante Ansible para automatizar el proceso de implementación de máquinas a escala. Estos son los dos métodos para automatizar:

  • Use el script del instalador (recomendado). Este método simplifica en gran medida el proceso de automatización y ayuda a instalar el agente de Defender para punto de conexión e incorporar el dispositivo al portal de Microsoft Defender con solo unos pasos sin tener que configurar para diferentes distribuciones por separado.

  • Configure manualmente los repositorios para cada distribución. Este método permite automatizar el proceso de implementación mediante la configuración manual de repositorios, la instalación del agente y la incorporación del dispositivo para cada distribución. Este método proporciona un control más pormenorizado sobre el proceso de implementación.

Requisitos previos y requisitos del sistema aplicables a ambos métodos

Antes de empezar, consulte la página principal de Defender para punto de conexión en Linux para obtener una descripción de los requisitos previos y los requisitos del sistema.

Además, para la implementación de Ansible, debe estar familiarizado con las tareas de administración de Ansible, tener Ansible configurado y saber cómo implementar cuadernos de estrategias y tareas. Ansible tiene muchas maneras de completar la misma tarea. Estas instrucciones asumen la disponibilidad de los módulos de Ansible admitidos, como apt y unarchive para ayudar a implementar el paquete. Su organización podría usar un flujo de trabajo diferente. Para obtener más información, consulte la documentación de Ansible.

  • Ansible debe instalarse en al menos un equipo (Ansible llama a este equipo el nodo de control).

  • SSH debe configurarse para una cuenta de administrador entre el nodo de control y todos los nodos administrados (dispositivos que tengan Instalado Defender para punto de conexión) y se recomienda configurar con la autenticación de clave pública.

  • El software siguiente debe instalarse en todos los nodos administrados:

    • rizo
    • python-apt (si va a implementar en distribuciones mediante apt como administrador de paquetes)
  • Todos los nodos administrados deben aparecer en el siguiente formato en el archivo o en el /etc/ansible/hosts archivo correspondiente:

    [servers]
    host1 ansible_ssh_host=10.171.134.39
    host2 ansible_ssh_host=51.143.50.51
    
  • Prueba de ping:

    ansible -m ping all
    

Descargar el paquete de incorporación aplicable a ambos métodos

Descargue el paquete de incorporación desde Microsoft Defender portal.

Advertencia

Volver a empaquetar el paquete de instalación de Defender para punto de conexión no es un escenario compatible. Esto puede afectar negativamente a la integridad del producto y dar lugar a resultados adversos, incluidos, entre otros, el desencadenamiento de alertas de manipulación y la no aplicación de actualizaciones.

  1. En el portal de Microsoft Defender, vaya a Configuración>Puntos de conexión>Administración de> dispositivosIncorporación.

  2. En el primer menú desplegable, seleccione Servidor Linux como sistema operativo. En el segundo menú desplegable, seleccione La herramienta de administración de configuración de Linux preferida como método de implementación.

  3. Seleccione Descargar el paquete de incorporación Guarde el archivo como WindowsDefenderATPOnboardingPackage.zip.

    La opción Descargar paquete de incorporación

  4. Desde un símbolo del sistema, compruebe que tiene el archivo. Extraiga el contenido del archivo:

    unzip WindowsDefenderATPOnboardingPackage.zip
    
    Archive:  WindowsDefenderATPOnboardingPackage.zip
    inflating: mdatp_onboard.json
    

Implementación de Defender para punto de conexión mediante mde_installer.sh con Ansible

Antes de empezar, asegúrese de descargar el paquete de incorporación y cumplir los requisitos previos para implementar Defender para punto de conexión en Linux mediante el script de Bash del instalador.

Descarga del script de Bash del instalador

Extraiga el script de Bash del instalador del repositorio de Microsoft GitHub o use el siguiente comando para descargarlo.

  wget https://raw.githubusercontent.com/microsoft/mdatp-xplat/refs/heads/master/linux/installation/mde_installer.sh

Creación de archivos YAML de Ansible

Cree el archivo YAML de instalación. También puede descargar el archivo directamente desde 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 }}"

Nota:

El script del instalador también admite otros parámetros, como el canal, la protección en tiempo real, la versión, etc. Para seleccionar en la lista de opciones disponibles, consulte la ayuda a través del siguiente comando: ./mde_installer.sh --help

Aplicar el cuaderno de estrategias

Aplique el cuaderno de estrategias mediante el siguiente comando, reemplazando las rutas de acceso y el canal correspondientes según sus requisitos:

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

Comprobación de si la implementación se realiza correctamente

  1. En el portal de Microsoft Defender, abra el inventario de dispositivos. El dispositivo puede tardar entre 5 y 20 minutos en aparecer en el portal.

  2. Realice las siguientes comprobaciones posteriores a la instalación, que incluyen comprobaciones como el estado, la conectividad, el antivirus y las pruebas de detección de EDR para garantizar una implementación y un funcionamiento correctos de Defender para punto de conexión.


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


Cómo desinstalar Microsoft Defender para punto de conexión en servidores Linux

En primer lugar, cree un archivo YAML de desinstalación (por ejemplo: /etc/ansible/playbooks/uninstall_mdatp.yml) que use mde_installer.sh. También puede descargar el archivo directamente desde 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 }}"

Ejecute el siguiente comando para desinstalar Defender para punto de conexión mediante el cuaderno de estrategias:

ansible-playbook -i  /etc/ansible/hosts /etc/ansible/playbooks/uninstall_mdatp.yml --extra-vars "mde_installer_script=<path to mde_installer.sh>"

Implementación de Defender para punto de conexión mediante Ansible mediante la configuración manual de repositorios

Siga los pasos de esta sección después de descargar el paquete de incorporación y cumplir los requisitos previos para implementar Defender para punto de conexión mediante la configuración manual de los repositorios para cada distribución de Linux.

Creación de archivos YAML de Ansible

Cree una subtarea o archivos de roles que contribuyan a un cuaderno de estrategias o una tarea.

  1. Cree la tarea de incorporación, 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. Agregue el repositorio de Defender para punto de conexión y la clave , add_apt_repo.yml. Defender para punto de conexión en Linux se puede implementar desde uno de los canales siguientes:

    Cada canal corresponde a un repositorio de software linux.

    La elección del canal determina el tipo y la frecuencia de las actualizaciones que se ofrecen al dispositivo. Los dispositivos de insiders-fast son los primeros en recibir actualizaciones y nuevas características, seguidos más adelante por los usuarios internos lentos y, por último, por producción.

    Para obtener una vista previa de las nuevas características y proporcionar comentarios anticipados, se recomienda configurar algunos dispositivos en la empresa para usar insiders-fast o insiders-slow.

    Advertencia

    Cambiar el canal después de la instalación inicial requiere que se vuelva a instalar el producto. Para cambiar el canal del producto: desinstale el paquete existente, vuelva a configurar el dispositivo para que use el nuevo canal y siga los pasos de este documento para instalar el paquete desde la nueva ubicación.

  3. Anote la distribución y la versión e identifique la entrada más cercana en https://packages.microsoft.com/config/[distro]/.

  4. En los comandos siguientes, reemplace [distro] y [version] por la información que ha identificado.

    Nota:

    En el caso de Oracle Linux y Amazon Linux 2, reemplace [distro] por "rhel". Para Amazon Linux 2, reemplace [versión] por "7". Para Oracle Linux, reemplace [versión] por la versión de 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. Cree la instalación de Ansible y desinstale los archivos YAML.

    • Para las distribuciones basadas en apt, use el siguiente archivo 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
      
    • Para distribuciones basadas en dnf, use el siguiente archivo 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
      

Aplicar el cuaderno de estrategias

En este paso, aplicará el cuaderno de estrategias. Ejecute los archivos de tareas en /etc/ansible/playbooks/ el directorio o en el directorio correspondiente.

  1. Instalación:

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

    Importante

    Cuando el producto se inicia por primera vez, descarga las definiciones de antimalware más recientes. Dependiendo de la conexión a Internet, esto puede tardar hasta unos minutos.

  2. Validación/configuración:

    ansible -m shell -a 'mdatp connectivity test' all
    
    ansible -m shell -a 'mdatp health' all
    
  3. Desinstalación:

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

Solucionar de problemas de instalación y actualización

Para solucionar problemas por sí mismo, siga estos pasos:

  1. Para obtener información sobre cómo buscar el registro que se genera automáticamente cuando se produce un error de instalación, consulte Problemas de instalación de registros.

  2. Para obtener información sobre problemas comunes de instalación, consulte Problemas de instalación.

  3. Si el estado del dispositivo es false, consulte Problemas de estado del agente de Defender para punto de conexión.

  4. Para ver los problemas de rendimiento del producto, consulte Solución de problemas de rendimiento.

  5. Para ver los problemas de proxy y conectividad, consulte Solución de problemas de conectividad en la nube.

  6. Para obtener soporte técnico de Microsoft, abra una incidencia de soporte técnico y proporcione los archivos de registro creados mediante el analizador de cliente.

Configuración de directivas para Microsoft Defender en Linux

Puede configurar los valores de antivirus o EDR en los puntos de conexión mediante los métodos siguientes:

Actualizaciones del sistema operativo

Al actualizar el sistema operativo a una nueva versión principal, primero debe desinstalar Defender para punto de conexión en Linux, instalar la actualización y, por último, volver a configurar Defender para punto de conexión en Linux en el dispositivo.

Recursos adicionales

Sugerencia

¿Desea obtener más información? Engage con la comunidad de seguridad de Microsoft en nuestra comunidad tecnológica: Microsoft Defender para punto de conexión Tech Community.