Déployer Microsoft Defender ATP avec Ansible

Déployer Microsoft Defender ATP avec Ansible
Jérémie Kassianoff
28 mai 2022
3 min de lecture

Déployer Microsoft Defender ATP avec Ansible : automatisez l'installation et la configuration de l'agent sur votre parc de machines Linux.

CertifiéMicrosoft : Security, Compliance, and Identity Fundamentals

Cas d'usage concret

Vous devez déployer Microsoft Defender ATP sur un parc de machines sans y passer des heures : voici comment l'automatiser avec Ansible.

Microsoft Defender pour point de terminaison

Microsoft Defender permet de bloquer les menaces avancées, toutes les informations sont disponibles sur le site de l’éditeur. Dans le cadre d’un projet je dois déployer sur plusieurs systèmes Linux les agents intégrés de la solution de Microsoft. Voyons ensemble comment déployer simplement et rapidement la protection Microsoft Defender ATP pour point de terminaison Ubuntu 22.04 (Jammy) avec l’outil Ansible. Au moment de la rédaction de l’article, la version de mdatp est 101.68.80 et la version Ubuntu LTS en 22.04.

Configuration du playbook :

Pour rappel, il nous faut préciser dans le fichier hosts.yml l’adresse du serveur avant d’exécuter la configuration suivante :

bash
- name: "[MICROSOFT]"
  hosts: all

  tasks:
    - name: "[MDATP-DIRECTORY]"
      file:
        path: /etc/opt/microsoft/mdatp/
        recurse: true
        state: directory
        mode: 0755
        owner: root
        group: root

    - name: "[REGISTER-ONBOARD]" 
      stat:
        path: /etc/opt/microsoft/mdatp/mdatp_onboard.json
      register: mdatp_onboard

    - name: "[COPY-ONBOARD]"
      copy:
        src:   ./destination/security/mdatp/mdatp_onboard.json
        dest:  /etc/opt/microsoft/mdatp/
        owner: root   
        group: root
        mode:  0600

    - name: "[ADD-APT-KEY]"
      apt_key:
        url: https://packages.microsoft.com/keys/microsoft.asc
        state: present

    - name: "[ADD-REPOSITORY-JAMMY]"
      apt_repository:
       repo: deb [arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/22.04/prod jammy main
       update_cache: yes
       state: present

    - name: "[INSTALL-MDATP]"
      apt:
        name: mdatp
        state: latest
        update_cache: yes

L’exécution du playbook sur l’hôte peut être fait depuis un manager comme ceci :

bash
ansible-playbook -i hosts.yml -u mon_utilisateur playbook-security.yml

Par la suite, il faut remplacer la valeur « mon_utilisateur » par un utilisateur au choix et remplacer également le fichier « playbook-security.yml » par le bon fichier yaml.  Le résultat devrait être celui-ci :

bash
PLAY RECAP *******************************************************************************************

MON_SERVEUR : ok=7    changed=7    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

Voici comment vérifier le déploiement sur le serveur avec la commande suivante :

bash
mdatp health
bash
healthy                                     : true
health_issues                               : []
licensed                                    : true
engine_version                              : "3.0"
app_version                                 : "101.68.80"
org_id                                      : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
log_level                                   : "info"
machine_guid                                : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
release_ring                                : "Production"
product_expiration                          : Dec 31, 2022 at 12:00:00 AM
cloud_enabled                               : true
cloud_automatic_sample_submission_consent   : "safe"
cloud_diagnostic_enabled                    : false
passive_mode_enabled                        : false
real_time_protection_enabled                : true
real_time_protection_available              : true
real_time_protection_subsystem              : "fanotify"
supplementary_events_subsystem              : "auditd"
tamper_protection                           : "disabled"
automatic_definition_update_enabled         : true
definitions_updated                         : May 28, 2022 at 02:24:41 PM
definitions_updated_minutes_ago             : 0
definitions_version                         : "87968"
definitions_status                          : "up_to_date"
edr_early_preview_enabled                   : "disabled"
edr_device_tags                             : []
edr_group_ids                               : ""
edr_configuration_version                   : "30.199999.7353798-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
edr_machine_id                              : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
conflicting_applications                    : []
network_protection_status                   : "stopped"

Je vous invite désormais à prendre en main l’outil pour le configurer de la meilleur façon qu’il soit. Voici plus d’informations sur la documentation de l’éditeur.

Conclusion

Ce playbook Ansible automatise le déploiement de Microsoft Defender ATP sur des postes Linux Ubuntu 22.04 : création du répertoire de configuration, dépôt du fichier d'onboarding, ajout du dépôt et de la clé Microsoft, puis installation du paquet mdatp. Cette approche permet de déployer et de vérifier rapidement l'agent sur un parc de plusieurs machines via la commande mdatp health. L'automatisation via Ansible garantit une configuration homogène et reproductible sur l'ensemble des systèmes concernés.