Déployer Microsoft Defender ATP 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 : 

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

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 :

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 : 

mdatp health

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