Freigeben über


Bereitstellen von Microsoft Defender for Endpoint unter Linux mit Ansible

Gilt für:

Möchten Sie Defender für Endpunkt erfahren? Registrieren Sie sich für eine kostenlose Testversion

In diesem Artikel wird beschrieben, wie Sie Defender für Endpunkt unter Linux mithilfe von Ansible bereitstellen. Eine erfolgreiche Bereitstellung erfordert den Abschluss aller folgenden Aufgaben:

Wichtig

Dieser Artikel enthält Informationen zu Drittanbietertools. Dies wird bereitgestellt, um Integrationsszenarien abzuschließen. Microsoft bietet jedoch keine Unterstützung bei der Problembehandlung für Drittanbietertools.
Wenden Sie sich an den Drittanbieter, um Support zu erhalten.

Einführung

Stellen Sie Microsoft Defender for Endpoint auf Linux-Servern mithilfe von Ansible bereit, um den Bereitstellungsprozess für Computer im großen Stil zu automatisieren. Es folgen die beiden Methoden zum Automatisieren:

  • Verwenden Sie das Installationsskript (empfohlen). Diese Methode vereinfacht den Automatisierungsprozess erheblich und hilft dabei, den Defender für Endpunkt-Agent zu installieren und das Gerät mit nur wenigen Schritten in das Microsoft Defender-Portal zu integrieren, ohne für verschiedene Distributionen separat konfigurieren zu müssen.

  • Konfigurieren Sie Repositorys für jede Distribution manuell. Mit dieser Methode können Sie den Bereitstellungsprozess automatisieren, indem Sie Repositorys manuell konfigurieren, den Agent installieren und das Gerät für jede Distribution integrieren. Diese Methode bietet eine präzisere Kontrolle über den Bereitstellungsprozess.

Voraussetzungen und Systemanforderungen, die für beide Methoden gelten

Bevor Sie beginnen, finden Sie auf der Seite Standard Defender für Endpunkt unter Linux eine Beschreibung der Voraussetzungen und Systemanforderungen.

Darüber hinaus müssen Sie für die Ansible-Bereitstellung mit Ansible-Verwaltungsaufgaben vertraut sein, Ansible konfiguriert haben und mit der Bereitstellung von Playbooks und Aufgaben vertraut sein. Ansible hat viele Möglichkeiten, dieselbe Aufgabe auszuführen. Diese Anweisungen setzen voraus, dass unterstützte Ansible-Module verfügbar sind, z. B. apt und unarchive , um das Paket bereitzustellen. Ihr organization verwendet möglicherweise einen anderen Workflow. Weitere Informationen finden Sie in der Ansible-Dokumentation.

  • Ansible muss auf mindestens einem Computer installiert sein (Ansible bezeichnet diesen Computer als Steuerknoten).

  • SSH muss für ein Administratorkonto zwischen dem Steuerungsknoten und allen verwalteten Knoten (Geräten, auf denen Defender für Endpunkt installiert ist) konfiguriert werden, und es wird empfohlen, die Authentifizierung mit öffentlichem Schlüssel zu konfigurieren.

  • Die folgende Software muss auf allen verwalteten Knoten installiert sein:

    • Locke
    • python-apt (wenn Sie die Bereitstellung auf Distributionen mit apt als Paket-Manager durchführen)
  • Alle verwalteten Knoten müssen im folgenden Format in der /etc/ansible/hosts relevanten Datei oder aufgeführt werden:

    [servers]
    host1 ansible_ssh_host=10.171.134.39
    host2 ansible_ssh_host=51.143.50.51
    
  • Pingtest:

    ansible -m ping all
    

Herunterladen des onboarding-Pakets, das für beide Methoden gilt

Laden Sie das Onboardingpaket aus Microsoft Defender Portal herunter.

Warnung

Das Erneute Packen des Defender für Endpunkt-Installationspakets wird nicht unterstützt. Dies kann sich negativ auf die Integrität des Produkts auswirken und zu negativen Ergebnissen führen, einschließlich, aber nicht beschränkt auf das Auslösen von Manipulationswarnungen und nicht angewendeten Updates.

  1. Navigieren Sie im Microsoft Defender-Portal zu Einstellungen>Endpunkte>Geräteverwaltung>Onboarding.

  2. Wählen Sie im ersten Dropdownmenü Linux Server als Betriebssystem aus. Wählen Sie im zweiten Dropdownmenü Ihr bevorzugtes Linux-Konfigurationsverwaltungstool als Bereitstellungsmethode aus.

  3. Wählen Sie "Onboardingpaket herunterladen" aus. Speichern Sie die Datei als WindowsDefenderATPOnboardingPackage.zip.

    Die Option

  4. Vergewissern Sie sich an einer Eingabeaufforderung, dass Sie über die Datei verfügen. Extrahieren Sie den Inhalt des Archivs:

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

Bereitstellen von Defender für Endpunkt mithilfe von mde_installer.sh mit Ansible

Bevor Sie beginnen, müssen Sie das Onboardingpaket herunterladen und die Voraussetzungen für die Bereitstellung von Defender für Endpunkt unter Linux mithilfe des Bash-Skripts des Installationsprogramms erfüllen.

Herunterladen des Bash-Skripts für das Installationsprogramm

Rufen Sie das Bash-Skript des Installers aus dem Microsoft GitHub-Repository ab, oder verwenden Sie den folgenden Befehl, um es herunterzuladen.

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

Erstellen von Ansible-YAML-Dateien

Erstellen Sie die YAML-Installationsdatei. Sie können die Datei auch direkt von GitHub herunterladen.

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

Hinweis

Das Installationsskript unterstützt auch andere Parameter wie Kanal, Echtzeitschutz, Version usw. Wenn Sie aus der Liste der verfügbaren Optionen auswählen möchten, überprüfen Sie die Hilfe mithilfe des folgenden Befehls: ./mde_installer.sh --help

Anwenden des Playbooks

Wenden Sie das Playbook mit dem folgenden Befehl an, und ersetzen Sie dabei die entsprechenden Pfade und Kanäle gemäß Ihren Anforderungen:

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

Überprüfen, ob die Bereitstellung erfolgreich war

  1. Öffnen Sie im Microsoft Defender-Portal den Gerätebestand. Es kann 5 bis 20 Minuten dauern, bis das Gerät im Portal angezeigt wird.

  2. Führen Sie die folgenden Überprüfungen nach der Installation durch, die Überprüfungen wie Integrität, Konnektivität, Antivirus und EDR-Erkennungstests umfassen, um eine erfolgreiche Bereitstellung und Funktionsweise von Defender für Endpunkt sicherzustellen.


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


Deinstallieren von Microsoft Defender for Endpoint auf Linux-Servern

Erstellen Sie zunächst eine YAML-Deinstallationsdatei (z. B. /etc/ansible/playbooks/uninstall_mdatp.yml), die verwendet mde_installer.sh. Sie können die Datei auch direkt von GitHub herunterladen.


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

Führen Sie den folgenden Befehl aus, um Defender für Endpunkt mithilfe des Playbooks zu deinstallieren:

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

Bereitstellen von Defender für Endpunkt mithilfe von Ansible durch manuelles Konfigurieren von Repositorys

Führen Sie die Schritte in diesem Abschnitt aus, nachdem Sie das Onboardingpaket und die Besprechungsvoraussetzungen heruntergeladen haben, um Defender für Endpunkt bereitzustellen, indem Sie die Repositorys für jede Linux-Distribution manuell konfigurieren.

Erstellen von Ansible-YAML-Dateien

Erstellen Sie eine Teilaufgabe oder Rollendateien, die zu einem Playbook oder einer Aufgabe beitragen.

  1. Erstellen Sie die Onboardingaufgabe: 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. Fügen Sie das Defender für Endpunkt-Repository und den Schlüssel hinzu. add_apt_repo.yml Defender für Endpunkt unter Linux kann über einen der folgenden Kanäle bereitgestellt werden:

    Jeder Kanal entspricht einem Linux-Softwarerepository.

    Die Wahl des Kanals bestimmt den Typ und die Häufigkeit der Updates, die Ihrem Gerät angeboten werden. Geräte in Insider-fast sind die ersten, die Updates und neue Features erhalten, später von Insidern langsam und schließlich von Prod.

    Um eine Vorschau neuer Features anzuzeigen und frühzeitig Feedback zu geben, wird empfohlen, einige Geräte in Ihrem Unternehmen so zu konfigurieren, dass sie entweder insiders-fast oder insiders-slow verwenden.

    Warnung

    Wenn Sie den Kanal nach der Erstinstallation wechseln, muss das Produkt neu installiert werden. Um den Produktkanal zu wechseln: Deinstallieren Sie das vorhandene Paket, konfigurieren Sie Ihr Gerät neu, um den neuen Kanal zu verwenden, und führen Sie die Schritte in diesem Dokument aus, um das Paket vom neuen Speicherort aus zu installieren.

  3. Notieren Sie sich Ihre Distribution und Version, und identifizieren Sie den nächstgelegenen Eintrag unter https://packages.microsoft.com/config/[distro]/.

  4. Ersetzen Sie in den folgenden Befehlen [distribution] und [version] durch die informationen, die Sie identifiziert haben.

    Hinweis

    Ersetzen Sie im Fall von Oracle Linux und Amazon Linux 2 [Distribution] durch "rhel". Ersetzen Sie für Amazon Linux 2 [Version] durch "7". Ersetzen Sie für Oracle Linux [Version] durch die Version von 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. Erstellen Sie die Ansible-Installations- und Deinstallations-YAML-Dateien.

    • Verwenden Sie für apt-basierte Distributionen die folgende YAML-Datei:

      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
      
    • Verwenden Sie für dnf-basierte Verteilungen die folgende YAML-Datei:

      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
      

Anwenden des Playbooks

In diesem Schritt wenden Sie das Playbook an. Führen Sie die Aufgabendateien unter oder dem /etc/ansible/playbooks/ entsprechenden Verzeichnis aus.

  1. Installation:

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

    Wichtig

    Wenn das Produkt zum ersten Mal gestartet wird, lädt es die neuesten Antischadsoftwaredefinitionen herunter. Je nach Internetverbindung kann dies einige Minuten dauern.

  2. Überprüfung/Konfiguration:

    ansible -m shell -a 'mdatp connectivity test' all
    
    ansible -m shell -a 'mdatp health' all
    
  3. Deinstallation:

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

Problembehandlung bei Problemen mit Installation und Update

Führen Sie für die Selbstbehandlung die folgenden Schritte aus:

  1. Informationen zum Suchen des Protokolls, das automatisch generiert wird, wenn ein Installationsfehler auftritt, finden Sie unter Protokollinstallationsprobleme.

  2. Informationen zu häufigen Installationsproblemen finden Sie unter Installationsprobleme.

  3. Wenn die Integrität des Geräts lautet false, finden Sie weitere Informationen unter Integritätsprobleme des Defender für Endpunkt-Agents.

  4. Informationen zu Problemen mit der Produktleistung finden Sie unter Behandeln von Leistungsproblemen.

  5. Informationen zu Proxy- und Konnektivitätsproblemen finden Sie unter Behandeln von Problemen mit der Cloudkonnektivität.

  6. Um Support von Microsoft zu erhalten, öffnen Sie ein Supportticket, und stellen Sie die Protokolldateien bereit, die mit dem Clientanalysetool erstellt wurden.

Konfigurieren von Richtlinien für Microsoft Defender unter Linux

Sie können Antiviren- oder EDR-Einstellungen auf Ihren Endpunkten mit den folgenden Methoden konfigurieren:

Betriebssystemupgrades

Wenn Sie Ihr Betriebssystem auf eine neue Hauptversion aktualisieren, müssen Sie zunächst Defender für Endpunkt unter Linux deinstallieren, das Upgrade installieren und schließlich Defender für Endpunkt unter Linux auf Ihrem Gerät neu konfigurieren.

Siehe auch

Tipp

Möchten Sie mehr erfahren? Engage mit der Microsoft-Sicherheitscommunity in unserer Tech Community: Microsoft Defender for Endpoint Tech Community.