Dela via


Distribuera Microsoft Defender för Endpoint på Linux med Ansible

Gäller för:

Vill du uppleva Microsoft Defender för Endpoint? Registrera dig för en kostnadsfri utvärderingsversion.

Den här artikeln beskriver hur du distribuerar Defender för Endpoint i Linux med Ansible. En lyckad distribution kräver att alla följande uppgifter slutförs:

Viktigt

Den här artikeln innehåller information om verktyg från tredje part. Detta tillhandahålls för att hjälpa till att slutföra integreringsscenarier, men Microsoft tillhandahåller inte felsökningsstöd för verktyg från tredje part.
Kontakta tredjepartsleverantören för support.

Inledning

Distribuera Microsoft Defender för Endpoint på Linux-servrar med Ansible för att automatisera distributionsprocessen för datorer i stor skala. Följande är de två metoderna för att automatisera:

  • Använd installationsskriptet (rekommenderas). Den här metoden förenklar automatiseringsprocessen avsevärt och hjälper till att installera Defender för Endpoint-agenten och registrera enheten på Microsoft Defender-portalen med bara några få steg utan att behöva konfigurera för olika distributioner separat.

  • Konfigurera lagringsplatser manuellt för varje distribution. Med den här metoden kan du automatisera distributionsprocessen genom att manuellt konfigurera lagringsplatser, installera agenten och registrera enheten för varje distribution. Den här metoden ger mer detaljerad kontroll över distributionsprocessen.

Krav och systemkrav som gäller för båda metoderna

Innan du börjar kan du se huvudsidan för Defender för Endpoint på Linux för en beskrivning av krav och systemkrav.

För Ansible-distribution behöver du dessutom vara bekant med Ansible-administrationsuppgifter, ha Ansible konfigurerat och veta hur du distribuerar spelböcker och uppgifter. Ansible har många sätt att slutföra samma uppgift. De här anvisningarna förutsätter tillgänglighet för Ansible-moduler som stöds, till exempel apt och unarchive för att distribuera paketet. Din organisation kan använda ett annat arbetsflöde. Mer information finns i Ansible-dokumentationen.

  • Ansible måste installeras på minst en dator (Ansible kallar den här datorn för kontrollnoden).

  • SSH måste konfigureras för ett administratörskonto mellan kontrollnoden och alla hanterade noder (enheter som har Defender för Endpoint installerat på sig) och det rekommenderas att konfigureras med autentisering med offentlig nyckel.

  • Följande programvara måste installeras på alla hanterade noder:

    • hårlock
    • python-apt (om du distribuerar på distributioner med apt som pakethanterare)
  • Alla hanterade noder måste anges i följande format i /etc/ansible/hosts eller relevant fil:

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

    ansible -m ping all
    

Ladda ned onboarding-paketet som gäller för båda metoderna

Ladda ned registreringspaketet från Microsoft Defender-portalen.

Varning

Det går inte att paketera om installationspaketet för Defender för Endpoint. Detta kan påverka produktens integritet negativt och leda till negativa resultat, inklusive men inte begränsat till att utlösa manipuleringsaviseringar och uppdateringar som inte kan tillämpas.

  1. I Microsoft Defender-portalen går du till Inställningar>Slutpunkter>Registrering av enhetshantering>.

  2. I den första nedrullningsbara menyn väljer du Linux Server som operativsystem. I den andra nedrullningsbara menyn väljer du Önskat Linux-konfigurationshanteringsverktyg som distributionsmetod.

  3. Välj Ladda ned registreringspaket. Spara filen som WindowsDefenderATPOnboardingPackage.zip.

    Alternativet Ladda ned onboarding-paket

  4. Kontrollera att du har filen från en kommandotolk. Extrahera innehållet i arkivet:

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

Distribuera Defender för Endpoint med hjälp av mde_installer.sh med Ansible

Innan du börjar måste du ladda ned onboarding-paketet och uppfylla kraven för att distribuera Defender för Endpoint i Linux med hjälp av bash-skriptet för installationsprogrammet.

Ladda ned bash-skriptet för installationsprogrammet

Hämta bash-skriptet för installationsprogrammet från Microsoft GitHub-lagringsplatsen eller använd följande kommando för att ladda ned det.

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

Skapa Ansible YAML-filer

Skapa YAML-installationsfil. Du kan också ladda ned filen direkt från 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 }}"

Obs!

Installationsskriptet stöder även andra parametrar som kanal, realtidsskydd, version osv. Om du vill välja från listan över tillgängliga alternativ kontrollerar du hjälpen med följande kommando: ./mde_installer.sh --help

Tillämpa spelboken

Använd spelboken med hjälp av följande kommando och ersätt motsvarande sökvägar och kanal enligt dina behov:

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

Kontrollera om distributionen lyckas

  1. Öppna enhetsinventeringen i Microsoft Defender-portalen. Det kan ta 5–20 minuter innan enheten visas i portalen.

  2. Utför följande kontroller efter installationen, som omfattar kontroller som hälso-, anslutnings-, antivirus- och EDR-identifieringstester för att säkerställa en lyckad distribution och drift av Defender för Endpoint.


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


Avinstallera Microsoft Defender för Endpoint på Linux-servrar

Skapa först en YAML-fil för avinstallation (till exempel /etc/ansible/playbooks/uninstall_mdatp.yml) som använder mde_installer.sh. Du kan också ladda ned filen direkt från 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 }}"

Kör följande kommando för att avinstallera Defender för Endpoint med hjälp av spelboken:

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

Distribuera Defender för Endpoint med Ansible genom att konfigurera lagringsplatser manuellt

Följ stegen i det här avsnittet när du har laddat ned onboarding-paketet och uppfyller kraven för att distribuera Defender för Endpoint genom att manuellt konfigurera lagringsplatserna för varje Linux-distribution.

Skapa Ansible YAML-filer

Skapa en underuppgift eller rollfiler som bidrar till en spelbok eller uppgift.

  1. Skapa registreringsuppgiften: 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. Lägg till lagringsplatsen Defender för Endpoint och nyckeln , add_apt_repo.yml. Defender för Endpoint i Linux kan distribueras från någon av följande kanaler:

    Varje kanal motsvarar en Linux-programvarulagringsplats.

    Valet av kanal avgör typ och frekvens för uppdateringar som erbjuds till din enhet. Enheter i insiders-snabb är de första som tar emot uppdateringar och nya funktioner, följt senare av insiders-långsam, och slutligen av prod.

    För att kunna förhandsgranska nya funktioner och ge tidig feedback rekommenderar vi att du konfigurerar vissa enheter i företaget för att använda insiders-fast eller insiders-slow.

    Varning

    Om du byter kanal efter den första installationen måste produkten installeras om. Så här växlar du produktkanalen: avinstallera det befintliga paketet, konfigurera om enheten så att den använder den nya kanalen och följ stegen i det här dokumentet för att installera paketet från den nya platsen.

  3. Observera distributionen och versionen och identifiera den närmaste posten för den under https://packages.microsoft.com/config/[distro]/.

  4. Ersätt [distro] och [version] med den information som du har identifierat i följande kommandon.

    Obs!

    När det gäller Oracle Linux och Amazon Linux 2 ersätter du [distro] med "rhel". För Amazon Linux 2 ersätter du [version] med "7". För Oracle Linux ersätter du [version] med versionen av 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. Skapa Ansible-installationen och avinstallera YAML-filerna.

    • För apt-baserade distributioner använder du följande YAML-fil:

      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
      
    • För dnf-baserade distributioner använder du följande YAML-fil:

      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
      

Tillämpa spelboken

I det här steget använder du spelboken. Kör aktivitetsfilerna under /etc/ansible/playbooks/ eller relevant katalog.

  1. Installation:

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

    Viktigt

    När produkten startar för första gången hämtar den de senaste definitionerna för program mot skadlig kod. Beroende på din Internetanslutning kan det ta upp till några minuter.

  2. Validering/konfiguration:

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

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

Felsöka installationsproblem

Följ dessa steg för självfelsökning:

  1. Information om hur du hittar loggen som genereras automatiskt när ett installationsfel inträffar finns i Problem med logginstallation.

  2. Information om vanliga installationsproblem finns i Installationsproblem.

  3. Om enhetens hälsa är falseläser du Hälsoproblem med Defender för Endpoint-agenten.

  4. Information om problem med produktprestanda finns i Felsöka prestandaproblem.

  5. Information om proxy- och anslutningsproblem finns i Felsöka problem med molnanslutning.

  6. Om du vill få support från Microsoft öppnar du ett supportärende och anger loggfilerna som skapats med hjälp av klientanalyseraren.

Så här konfigurerar du principer för Microsoft Defender i Linux

Du kan konfigurera antivirus- eller EDR-inställningar på dina slutpunkter med hjälp av följande metoder:

Uppgraderingar av operativsystem

När du uppgraderar operativsystemet till en ny huvudversion måste du först avinstallera Defender för Endpoint på Linux, installera uppgraderingen och slutligen konfigurera om Defender för Endpoint på Linux på enheten.

Se även

Tips

Vill du veta mer? Engage med Microsofts säkerhetscommunity i vår Tech Community: Microsoft Defender för Endpoint Tech Community.