Distribuire Microsoft Defender per endpoint in Linux con Ansible
Si applica a:
- Server di Microsoft Defender per endpoint.
- Microsoft Defender per server
Si desidera provare Microsoft Defender per endpoint? iscriversi a una versione di valutazione gratuita.
Questo articolo descrive come distribuire Defender per endpoint in Linux usando Ansible. Una distribuzione riuscita richiede il completamento di tutte le attività seguenti:
- Prerequisiti e requisiti di sistema
- Scaricare il pacchetto di onboarding
- Distribuire Defender per endpoint in Linux usando mde_installer.sh con Ansible
- Distribuire Defender per endpoint in Linux usando Ansible configurando manualmente i repository
Importante
Questo articolo contiene informazioni sugli strumenti di terze parti. Questo viene fornito per semplificare il completamento degli scenari di integrazione, tuttavia, Microsoft non fornisce supporto per la risoluzione dei problemi per gli strumenti di terze parti.
Per assistenza, contattare il fornitore di terze parti.
Introduzione
Distribuire Microsoft Defender per endpoint nei server Linux usando Ansible per automatizzare il processo di distribuzione per i computer su larga scala. Di seguito sono riportati i due metodi per automatizzare:
Usare lo script del programma di installazione (consigliato). Questo metodo semplifica notevolmente il processo di automazione e consente di installare l'agente defender per endpoint e di eseguire l'onboarding del dispositivo nel portale di Microsoft Defender usando solo alcuni passaggi senza dover configurare separatamente per distribuzioni diverse.
Configurare manualmente i repository per ogni distribuzione. Questo metodo consente di automatizzare il processo di distribuzione configurando manualmente i repository, installando l'agente e caricando il dispositivo per ogni distribuzione. Questo metodo offre un controllo più granulare sul processo di distribuzione.
Prerequisiti e requisiti di sistema applicabili a entrambi i metodi
Prima di iniziare, vedere la pagina principale di Defender per endpoint in Linux per una descrizione dei prerequisiti e dei requisiti di sistema.
Inoltre, per la distribuzione di Ansible, è necessario avere familiarità con le attività di amministrazione di Ansible, avere Ansible configurato e sapere come distribuire playbook e attività. Ansible ha molti modi per completare la stessa attività. Queste istruzioni presuppongono la disponibilità di moduli Ansible supportati, ad esempio apt e unarchive per semplificare la distribuzione del pacchetto. L'organizzazione potrebbe usare un flusso di lavoro diverso. Per altre informazioni, vedere la documentazione di Ansible.
Ansible deve essere installato in almeno un computer (Ansible chiama questo computer il nodo di controllo).
SSH deve essere configurato per un account amministratore tra il nodo di controllo e tutti i nodi gestiti (dispositivi in cui è installato Defender per endpoint) ed è consigliabile configurarlo con l'autenticazione a chiave pubblica.
Il software seguente deve essere installato in tutti i nodi gestiti:
- ricciolo
- python-apt (se si esegue la distribuzione nelle distribuzioni usando apt come gestione pacchetti)
Tutti i nodi gestiti devono essere elencati nel formato seguente nel
/etc/ansible/hosts
file o pertinente:[servers] host1 ansible_ssh_host=10.171.134.39 host2 ansible_ssh_host=51.143.50.51
Test ping:
ansible -m ping all
Scaricare il pacchetto di onboarding applicabile a entrambi i metodi
Scaricare il pacchetto di onboarding dal portale di Microsoft Defender.
Avviso
Il riconfezionamento del pacchetto di installazione di Defender per endpoint non è uno scenario supportato. Ciò può influire negativamente sull'integrità del prodotto e portare a risultati negativi, tra cui, a titolo esemplificabile, l'attivazione di avvisi di manomissione e l'impossibilità di applicare gli aggiornamenti.
Nel portale di Microsoft Defender passare a Impostazioni> EndpointGestione>dispositivi>Onboarding.
Nel primo menu a discesa selezionare Server Linux come sistema operativo. Nel secondo menu a discesa selezionare Lo strumento di gestione della configurazione Linux preferito come metodo di distribuzione.
Selezionare Scarica pacchetto di onboarding. Salvare il file come
WindowsDefenderATPOnboardingPackage.zip
.Da un prompt dei comandi verificare di avere il file. Estrarre il contenuto dell'archivio:
unzip WindowsDefenderATPOnboardingPackage.zip
Archive: WindowsDefenderATPOnboardingPackage.zip inflating: mdatp_onboard.json
Distribuire Defender per endpoint usando mde_installer.sh con Ansible
Prima di iniziare, assicurarsi di scaricare il pacchetto di onboarding e soddisfare i prerequisiti per distribuire Defender per endpoint in Linux usando lo script bash del programma di installazione.
Scaricare lo script bash del programma di installazione
Eseguire il pull dello script bash del programma di installazione dal repository Microsoft GitHub o usare il comando seguente per scaricarlo.
wget https://raw.githubusercontent.com/microsoft/mdatp-xplat/refs/heads/master/linux/installation/mde_installer.sh
Creare file YAML ansible
Creare il file YAML di installazione. È anche possibile scaricare il file direttamente da 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 }}"
Nota
Lo script del programma di installazione supporta anche altri parametri, ad esempio canale, protezione in tempo reale, versione e così via. Per selezionare dall'elenco delle opzioni disponibili, consultare la Guida tramite il comando seguente: ./mde_installer.sh --help
Applicare il playbook
Applicare il playbook usando il comando seguente, sostituendo i percorsi e il canale corrispondenti in base alle esigenze:
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> "
Verificare se la distribuzione ha esito positivo
Nel portale di Microsoft Defender aprire l'inventario dei dispositivi. La visualizzazione del dispositivo nel portale potrebbe richiedere 5-20 minuti.
Eseguire i controlli successivi all'installazione seguenti, che includono controlli come l'integrità, la connettività, l'antivirus e i test di rilevamento EDR per garantire la corretta distribuzione e il funzionamento di Defender per 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"
Come disinstallare Microsoft Defender per endpoint nei server Linux
Creare prima di tutto un file YAML di disinstallazione (ad esempio: /etc/ansible/playbooks/uninstall_mdatp.yml) che usa mde_installer.sh
. È anche possibile scaricare il file direttamente da 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 }}"
Eseguire il comando seguente per disinstallare Defender per endpoint usando il playbook:
ansible-playbook -i /etc/ansible/hosts /etc/ansible/playbooks/uninstall_mdatp.yml --extra-vars "mde_installer_script=<path to mde_installer.sh>"
Distribuire Defender per endpoint usando Ansible configurando manualmente i repository
Seguire la procedura descritta in questa sezione dopo aver scaricato il pacchetto di onboarding e aver soddisfatti i prerequisiti per la distribuzione di Defender per endpoint configurando manualmente i repository per ogni distribuzione Linux.
Creare file YAML ansible
Creare una sottoattività o file di ruolo che contribuiscono a un playbook o a un'attività.
Creare l'attività di onboarding:
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
Aggiungere il repository Defender per endpoint e la chiave ,
add_apt_repo.yml
. Defender per endpoint in Linux può essere distribuito da uno dei canali seguenti:-
insiders-fast, indicato come
[channel]
insiders-lento, indicato come[channel]
-
prod, indicato come
[channel]
utilizzando il nome della versione (vedere Linux Software Repository for Microsoft Products)
Ogni canale corrisponde a un repository software Linux.
La scelta del canale determina il tipo e la frequenza degli aggiornamenti offerti al dispositivo. I dispositivi in insider-fast sono i primi a ricevere aggiornamenti e nuove funzionalità, seguiti in seguito da insider-slow e infine da prod.
Per visualizzare in anteprima le nuove funzionalità e fornire feedback anticipato, è consigliabile configurare alcuni dispositivi nell'organizzazione per usare i partecipanti ai lavori in modo rapido o lento.
Avviso
Il cambio di canale dopo l'installazione iniziale richiede la reinstallazione del prodotto. Per cambiare il canale del prodotto: disinstallare il pacchetto esistente, riconfigurare il dispositivo per usare il nuovo canale e seguire la procedura descritta in questo documento per installare il pacchetto dal nuovo percorso.
-
insiders-fast, indicato come
Prendere nota della distribuzione e della versione e identificare la voce più vicina in
https://packages.microsoft.com/config/[distro]/
.Nei comandi seguenti sostituire [distro] e [version] con le informazioni identificate.
Nota
Nel caso di Oracle Linux e Amazon Linux 2, sostituire [distro] con "rhel". Per Amazon Linux 2, sostituire [versione] con "7". Per Oracle Linux sostituire [versione] con la versione di 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"
Creare i file YAML di installazione e disinstallazione di Ansible.
Per le distribuzioni basate su apt, usare il file YAML seguente:
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
Per le distribuzioni basate su dnf, usare il file YAML seguente:
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
Applicare il playbook
In questo passaggio si applica il playbook. Eseguire i file delle attività in /etc/ansible/playbooks/
o nella directory pertinente.
Installazione:
ansible-playbook /etc/ansible/playbooks/install_mdatp.yml -i /etc/ansible/hosts
Importante
Quando il prodotto viene avviato per la prima volta, scarica le definizioni antimalware più recenti. A seconda della connessione Internet, possono essere necessari alcuni minuti.
Convalida/configurazione:
ansible -m shell -a 'mdatp connectivity test' all
ansible -m shell -a 'mdatp health' all
Disinstallazione:
ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts
Risolvere i problemi di installazione
Per la risoluzione automatica dei problemi, seguire questa procedura:
Per informazioni su come trovare il log generato automaticamente quando si verifica un errore di installazione, vedere Problemi di installazione del log.
Per informazioni sui problemi di installazione comuni, vedere Problemi di installazione.
Se l'integrità del dispositivo è
false
, vedere Problemi di integrità dell'agente di Defender per endpoint.Per i problemi di prestazioni del prodotto, vedere Risolvere i problemi di prestazioni.
Per i problemi di proxy e connettività, vedere Risolvere i problemi di connettività cloud.
Per ottenere supporto da Microsoft, aprire un ticket di supporto e fornire i file di log creati usando l'analizzatore client.
Come configurare i criteri per Microsoft Defender in Linux
È possibile configurare impostazioni antivirus o EDR negli endpoint usando i metodi seguenti:
- Vedere Impostare le preferenze per Microsoft Defender per endpoint in Linux.
- Vedere Gestione delle impostazioni di sicurezza per configurare le impostazioni nel portale di Microsoft Defender.
Aggiornamenti del sistema operativo
Quando si aggiorna il sistema operativo a una nuova versione principale, è innanzitutto necessario disinstallare Defender per endpoint in Linux, installare l'aggiornamento e infine riconfigurare Defender per endpoint in Linux nel dispositivo.
Vedere anche
- Aggiungere o rimuovere repository YUM
- Gestire i pacchetti con gestione pacchetti dnf
- Aggiungere e rimuovere repository APT
- Gestire apt-packages
- Problemi di evento mancanti
Consiglio
Per saperne di più, Engage con la community Microsoft Security nella community tech: Microsoft Defender per endpoint Tech Community.