Update Microsoft Defender for Endpoint Linux con Cron

Proteggere i propri dispositivi in ottica Zero Trust è di fondamentale importanza, Microsoft offre, attraverso Microsoft Defender for Endpoint, una soluzione completa Cross Platform che protegge sostanzialmente la totalità dei sistemi operativi disponibili all’interno delle organizzazioni.

Microsoft, nel caso di dispositivi Linux consente l’aggiornamento automatico della piattaforma, solo ed esclusivamente se l’onboarding dei dispositivi avviene attraverso Microsoft Defender for Cloud.

Questo vuol dire che se eseguiamo l’onboarding tramite tools di Software Management o manuali non possiamo aggiornare la piattaforma ?

Assolutamente No! Tramite Cron è possibile schedulare l’aggiornamento della piattaforma per proteggere i propri dispositivi con i maggiori standard di sicurezza disponibili sul mercato.

Vi lascio a titolo informativo alcuni articoli scritti per la community inerenti a Microsoft Defender for Endpoint utili a implementare questa soluzione di protezione:

Cosa è Cron?

All’interno dei dispositivi Windows, siano essi Server o Client, esiste il Task Scheduler, utile a configurare dei processi che vengono eseguiti con una certa schedulazione.

Questi processi possono ad esempio eseguire script, ecco Cron è la versione di Task Scheduler per dispositivi Linux ed useremo questa funzionalità per aggiornare la piattaforma di Defender for Endpoint all’interno del dispositivo Linux.

Il comando cron consente la pianificazione di comandi, ovvero consente la registrazione di questi presso il sistema per essere poi inviati in esecuzione periodica in maniera automatica dal sistema stesso.

Lo stesso nome “crontab” si riferisce anche ai file utilizzati dal comando crontab come “registri” dei comandi pianificati.

Generalmente, crontab usa un demone, chiamato crond, che in quanto tale è costantemente in esecuzione in background, una volta al minuto, legge i contenuti del registro dei comandi pianificati ed esegue quelli per cui si è esaurito il periodo di attesa, specifico inoltre che il comando mandanto in esecuzione da crontab è chiamato cronjob.

Licenze

Per poter utilizzare la funzionalità di protezione avanzata di Microsoft Defender for Endpoint dovrete avere a disposizione una di queste licenze

O comunque delle suite Microsoft 365 che al loro interno abbiamo una di queste funzionalità, nel mio caso utilizzerò un tenant in cui sono presenti delle Microsoft 365 E5 che contengono Microsoft Defender for Endpoint P2.

NB: Per le licenze Microsoft 365 Business Premium è stato rilasciato l’ADD-ON di Microsoft 365 E5 Security che aiuta le PMI ad avere un layer di protezione aggiuntivo, per eventuali approfondimento vi lascio il link ufficiale Microsoft Microsoft 365 E5 Security is now available as an add-on to Microsoft 365 Business Premium | Microsoft Community Hub

Svolgimento

Per potervi dare evidenza di questa funzionalità metterò a disposizione una macchina Linux Ubuntu 24.04 onbordata in Microsoft Defender for Endpoint ed un tenant Microsoft con delle licenze Microsoft 365 E5.

Figura 1: Licenze Microsoft 365 E5 disponibili all’interno del Tenant di Demo

Figura 2: SRVUBUNTU con SO Ubuntu 24.04 che utilizzerò per darvi evidenza della funzionalità di schedulazione dell’aggiornamento

Figura 3: SRVUBUNTU che risulta correttamente Onbordato in Microsoft Defender for Endpoint

Figura 4: Macchina SRVUBUNTU che risulta con la versione di piattaforma obsoleta

Ora possiamo accedere alla macchina Linux io utilizzerò putty per l’accesso alla macchina in SSH

Figura 5: Accesso alla macchina Linux tramite SSH con Putty

La prima operazione da eseguire è il comando “timedatectl list-timezones” che vi permette di avere la lista di tutte le timezones disponibili all’interno della vostra macchina

Figura 6: Comando che recupera la lista di tutte le timezone disponibili nella macchina linux

Figura 7: Fuso orario di Roma disponibile all’interno della macchina Linux di Demo

Il secondo comando necessario è quello relativo alla creazione del Backup di Cron che in caso di problemi è possibile recuperare le configurazioni dei task schedulati “sudo crontab -l > /var/tmp/nomefile.dat”

Figura 8: Comando per eseguire il backup delle configurazioni CronTab, nel mio caso nella cartella /var/tmp

Figura 9: all’interno della mia macchina al momento non sono presenti crontab

Ora per modificare o aggiungere un crontab dovrete eseguire questo comando “sudo crontab -e”

Figura 10: Comando che permette di creare o modificare crontab all’interno della macchina Linux

Figura 11: Selezionato l’editor per creare il task io scelgo il primo in quanto ha un uso molto semplice

Successivamente ad aver selezionato la scelta 1 e cliccato invio vi comparirà l’editor di testo in cui dovrete inserire i comandi per l’aggiornamento di Defender for Endpoint, prima però vorrei spiegarvi i comandi che andremo ad inserire, in quanto possono essere modificati in base elle esigenze organizzative aziendali:

  • CRON_TZ=Europe/Rome à Definisce la Time Zone in cui eseguire il crontab, io ho scelto il fuso orario italiano, ma potete vedere quelli disponibili attraverso il comando in figura 7 “timedatectl list-timezones”
  • 0 6 15 * * sudo apt-get install –only-upgrade mdatp >> ~/mdatp_cron_job.log

Merita una spiegazione approfondita il secondo comando:

  • 0 6 à indica ora del job nel caso specifico 6 ore e 0 minuti quindi il job verrà avviato alle 6 del mattino per un orario impostato con 24 ore di formato, verrà qui
  • 15 à indica il giorno del mese in cui il job verrà eseguito
  • * * à il primo asterisco indica che verrà eseguito in qualsiasi giorno della settimana ed in qualsiasi mese
  • /mdatp_cron_job_log à salva I log dell’operazione che vi permette di verificare il job in caso di anomalie nell’esecuzione

Naturalmente queste impostazioni possono essere modificate in base alla vostra esigenza, specifico inoltro che i comandi indicati valgono per le seguenti distribuzioni Linux Ubuntu e Debian.

Figura 12: Comandi per il job inseriti all’interno del file che ora andremo a salvare

Una volta che avrete inserito tutti i comandi premete “CTRL+X” e successivamente “Y” questo vi permetterà di salvare il file

Figura 13: Dopo aver premuto “CTRL+X” ci permette di selezionare cosa fare nel nostro caso premiamo “Y” per procedere al salvataggio del file

Figura 14: Schermata dopo aver premuto “Y” ora premente “Enter”

Per verificare ora l’effettivo salvataggio del JOB potrete eseguire questo comando “sudo crontab -l”

Figura 15: Comando per verificare la presenza di Job all’interno della macchina

Ora per non attendere il giorno di esecuzione del Job il comando che verrà eseguito è il seguente “sudo apt-get install –only-upgrade mdatp” comando che io eseguirò ora in modo manuale.

Figura 16: Comando che verrebbe eseguito nel crontab che io eseguo manualmente per darvi evidenza che verrà eseguito l’aggiornamento

Figura 17: Esecuzione comando che attualmente non trova aggiornamento di versione della piattaforma MDE per Linux

Essendo stata rilasciata da poco per linux la versione “101.25022.0001″ non verrà, nel mio ambiente, ancora deployata, per tenere traccia delle versioni per Linux di MDE vi rimando al link ufficiale Microsoft Novità di Microsoft Defender per endpoint in Linux – Microsoft Defender for Endpoint | Microsoft Learn

Questo succede in quanto la versione stabile consigliata per ambienti di produzione Linux è la versione “Production”

Figura 18: Versione di MDE per linux “Production”

Le altre versioni sono:

  • Preview (External)
  • Beta (Insider)

Versioni che non consiglio di installare in ambienti di produzione ma solo di test in quanto potrebbero contenere dei Bug che comprometterebbero il corretto funzionamento della vostra macchina.

Ora dopo qualche giorno e avendo il job girato in modo corretto verificando la versione della piattaforma all’interno della macchina Linux e all’interno del portale di Microsoft Defender XDR notiamo che la versione risulta aggiornata e con il “pallino” verde:

Figura 19: Versione di piattaforma di Defender for Endpoint correttamente aggiornata comando per visualizzare lo stato di MDE “mdatp health”

Figura 20: Aggiornamento della piattaforma visibile anche dalla console di Microsoft Defender XDR

Conclusioni

La scelta di eseguire il deploy della parte di Endpoint Protection attraverso Microsoft Defender for Cloud è la scelta più vantaggiosa in quanto è l’aggiornamento di Microsoft Defender viene eseguito del tutto automatizzato.

Mal nel caso in cui la scelta ricada sul deploy manuale questa è un’ottima soluzione per aggiornare la piattaforma e mantenere alta la sicurezza all’interno dei vostri Endpoint.

Avere i più alti standard di sicurezza disponibili sul mercato al giorno d’oggi è un must per le organizzazioni che devono far fronte a sempre più sofisticati attacchi informatici.