Partager via


Déployer Microsoft Defender pour point de terminaison sur Linux avec Ansible

S’applique à :

Vous voulez découvrir Defender pour point de terminaison ? Inscrivez-vous pour bénéficier d’un essai gratuit.

Cet article explique comment déployer Defender pour point de terminaison sur Linux à l’aide d’Ansible. Un déploiement réussi nécessite l’exécution de toutes les tâches suivantes :

Importante

Cet article contient des informations sur les outils tiers. Cela est fourni pour faciliter la réalisation des scénarios d’intégration. Toutefois, Microsoft ne fournit pas de support de résolution des problèmes pour les outils tiers.
Contactez le fournisseur tiers pour obtenir de l’aide.

Introduction

Déployez Microsoft Defender pour point de terminaison sur des serveurs Linux à l’aide d’Ansible pour automatiser le processus de déploiement des machines à grande échelle. Voici les deux méthodes à automatiser.

  1. Utilisation du script du programme d’installation (recommandé). Cette méthode simplifie considérablement le processus d’automatisation et permet d’installer l’agent Defender pour point de terminaison et d’intégrer l’appareil au portail Microsoft Defender en quelques étapes seulement sans avoir à configurer pour différentes distributions séparément.

2. Configuration manuelle des référentiels pour chaque distribution. Cette méthode vous permet d’automatiser le processus de déploiement en configurant manuellement les référentiels, en installant l’agent et en intégrant l’appareil pour chaque distribution. Cette méthode donne un contrôle plus précis sur le processus de déploiement.

Conditions préalables et configuration système requise applicables aux deux méthodes

Avant de commencer, consultez la page main Defender pour point de terminaison sur Linux pour obtenir une description des prérequis et de la configuration système requise.

En outre, pour le déploiement d’Ansible, vous devez être familiarisé avec les tâches d’administration Ansible, disposer d’Ansible configuré et savoir déployer des playbooks et des tâches. Ansible propose de nombreuses façons d’effectuer la même tâche. Ces instructions supposent la disponibilité des modules Ansible pris en charge, tels que apt et unarchive pour faciliter le déploiement du package. Votre organization peut utiliser un autre workflow. Pour plus d’informations, reportez-vous à la documentation Ansible .

  • Ansible doit être installé sur au moins un ordinateur (Ansible appelle cet ordinateur le nœud de contrôle).

  • SSH doit être configuré pour un compte d’administrateur entre le nœud de contrôle et tous les nœuds managés (appareils sur lesquels Defender pour point de terminaison est installé), et il est recommandé d’être configuré avec l’authentification par clé publique.

  • Les logiciels suivants doivent être installés sur tous les nœuds gérés :

    • friser
    • python-apt (si vous effectuez un déploiement sur des distributions à l’aide d’apt comme gestionnaire de package)
  • Tous les nœuds managés doivent être répertoriés au format suivant dans le /etc/ansible/hosts fichier ou approprié :

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

    ansible -m ping all
    

Télécharger le package d’intégration applicable aux deux méthodes

Téléchargez le package d’intégration à partir de Microsoft Defender portail.

Avertissement

Le repackaging du package d’installation de Defender pour point de terminaison n’est pas un scénario pris en charge. Cela peut avoir un impact négatif sur l’intégrité du produit et entraîner des résultats négatifs, y compris, mais sans s’y limiter, le déclenchement d’alertes de falsification et l’échec de l’application des mises à jour.

  1. Dans le portail Microsoft Defender, accédez à Paramètres Points> determinaison> Gestiondes> appareilsIntégration.

  2. Dans le premier menu déroulant, sélectionnez Serveur Linux comme système d’exploitation. Dans le deuxième menu déroulant, sélectionnez Votre outil de gestion de configuration Linux préféré comme méthode de déploiement.

  3. Sélectionnez Télécharger le package d’intégration. Enregistrez le fichier sous WindowsDefenderATPOnboardingPackage.zip.

    L’option Télécharger le package d’intégration

  4. À partir d’une invite de commandes, vérifiez que vous disposez du fichier . Extrayez le contenu de l’archive :

    ls -l
    
    total 8
    -rw-r--r-- 1 test  staff  4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip
    
    unzip WindowsDefenderATPOnboardingPackage.zip
    
    Archive:  WindowsDefenderATPOnboardingPackage.zip
    inflating: mdatp_onboard.json
    

Déployer Defender pour point de terminaison à l’aide de mde_installer.sh avec Ansible

Avant de commencer, veillez à télécharger le package d’intégration et à respecter les prérequis pour déployer Defender pour point de terminaison sur Linux à l’aide du script bash du programme d’installation.

Télécharger le script bash du programme d’installation

Extrayez le script bash du programme d’installation à partir du référentiel Microsoft GitHub ou utilisez la commande suivante pour le télécharger.

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

Créer des fichiers YAML Ansible

Créez un fichier YAML d’installation. Vous pouvez également télécharger le fichier directement à partir de 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 }}"

Appliquer le playbook

Appliquez le playbook à l’aide de la commande suivante, en remplaçant les chemins et le canal correspondants en fonction de vos besoins :

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

Vérifier si le déploiement est réussi

  1. Dans le portail Microsoft Defender, ouvrez l’inventaire des appareils. L’affichage de l’appareil dans le portail peut prendre 5 à 20 minutes.

  2. Effectuez les vérifications post-installation suivantes, qui incluent des vérifications telles que des tests d’intégrité, de connectivité, d’antivirus et de détection EDR pour garantir la réussite du déploiement et du fonctionnement de Defender pour point de terminaison.


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


Comment désinstaller Microsoft Defender pour point de terminaison sur des serveurs Linux

Créez un fichier YAML de désinstallation (par exemple : /etc/ansible/playbooks/uninstall_mdatp.yml) qui utilise mde_installer.sh. Vous pouvez également télécharger le fichier directement à partir de 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 }}"

Exécutez la commande suivante pour désinstaller Defender pour point de terminaison à l’aide du playbook :

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

Déployer Defender pour point de terminaison à l’aide d’Ansible en configurant les référentiels manuellement

Suivez les étapes décrites dans cette section après avoir téléchargé le package d’intégration et respecté les prérequis pour déployer Defender pour point de terminaison en configurant manuellement les référentiels pour chaque distribution Linux.

Créer des fichiers YAML Ansible

Créez une tâche subordonnée ou des fichiers de rôle qui contribuent à un playbook ou à une tâche.

  • Créez la tâche d’intégration : 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
    
  • Ajoutez le référentiel et la clé Defender pour point de terminaison, add_apt_repo.yml:

    Defender pour point de terminaison sur Linux peut être déployé à partir de l’un des canaux suivants :

    Chaque canal correspond à un référentiel de logiciels Linux.

    Le choix du canal détermine le type et la fréquence des mises à jour proposées à votre appareil. Les appareils dans insiders-fast sont les premiers à recevoir des mises à jour et de nouvelles fonctionnalités, suivis ultérieurement par les insiders-slow, et enfin par prod.

    Pour afficher un aperçu des nouvelles fonctionnalités et fournir des commentaires précoces, il est recommandé de configurer certains appareils de votre entreprise pour qu’ils utilisent des insiders rapides ou des insiders lents.

    Avertissement

    Le basculement du canal après l’installation initiale nécessite la réinstallation du produit. Pour changer de canal de produit : désinstallez le package existant, reconfigurez votre appareil pour utiliser le nouveau canal et suivez les étapes décrites dans ce document pour installer le package à partir du nouvel emplacement.

    Notez votre distribution et votre version et identifiez l’entrée la plus proche sous https://packages.microsoft.com/config/[distro]/.

    Dans les commandes suivantes, remplacez [distribution] et [version] par les informations que vous avez identifiées.

    Remarque

    Dans le cas d’Oracle Linux et Amazon Linux 2, remplacez [distribution] par « rhel ». Pour Amazon Linux 2, remplacez [version] par « 7 ». Pour Oracle Linux, remplacez [version] par la version d’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"
    
  • Créez les fichiers YAML d’installation et de désinstallation d’Ansible.

    • Pour les distributions basées sur apt, utilisez le fichier YAML suivant :

      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
      
    • Pour les distributions basées sur dnf, utilisez le fichier YAML suivant :

      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
      

Appliquer le playbook

Dans cette étape, vous appliquez le playbook. Exécutez les fichiers de tâches sous /etc/ansible/playbooks/ ou le répertoire approprié.

  • Installation:

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

    Importante

    Lorsque le produit démarre pour la première fois, il télécharge les dernières définitions de logiciel anti-programme malveillant. Selon votre connexion Internet, cela peut prendre jusqu’à quelques minutes.

  • Validation/configuration :

    ansible -m shell -a 'mdatp connectivity test' all
    
    ansible -m shell -a 'mdatp health' all
    
  • Désinstallation :

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

Résoudre des problèmes d’installation

Pour le dépannage automatique, procédez comme suit :

  1. Pour plus d’informations sur la recherche du journal généré automatiquement lorsqu’une erreur d’installation se produit, consultez Problèmes d’installation du journal.

  2. Pour plus d’informations sur les problèmes d’installation courants, consultez Problèmes d’installation.

  3. Si l’intégrité de l’appareil est false, consultez Problèmes d’intégrité de l’agent Defender pour point de terminaison.

  4. Pour connaître les problèmes de performances du produit, consultez Résoudre les problèmes de performances.

  5. Pour les problèmes de proxy et de connectivité, consultez Résoudre les problèmes de connectivité cloud.

  6. Pour obtenir le support de Microsoft, ouvrez un ticket de support et fournissez les fichiers journaux créés à l’aide de l’analyseur client.

Comment configurer des stratégies pour Microsoft Defender sur Linux

Vous pouvez configurer des paramètres antivirus ou EDR sur vos points de terminaison à l’aide des méthodes suivantes :

Mises à niveau du système d’exploitation

Lors de la mise à niveau de votre système d’exploitation vers une nouvelle version majeure, vous devez d’abord désinstaller Defender pour point de terminaison sur Linux, installer la mise à niveau et enfin reconfigurer Defender pour point de terminaison sur Linux sur votre appareil.

Voir aussi

Conseil

Voulez-vous en savoir plus ? Engage avec la communauté Microsoft Security dans notre communauté technique : Microsoft Defender pour point de terminaison Tech Community.