Distribuire Microsoft Defender per endpoint in Linux con Puppet

Si applica a:

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 Puppet. Una distribuzione riuscita richiede il completamento di tutte le attività seguenti:

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.

Prerequisiti e requisiti di sistema

Per una descrizione dei prerequisiti e dei requisiti di sistema per la versione software corrente, vedere la pagina principale di Defender per endpoint in Linux.

Inoltre, per la distribuzione di Puppet, è necessario avere familiarità con le attività di amministrazione di Puppet, avere puppet configurato e sapere come distribuire i pacchetti. Puppet ha molti modi per completare la stessa attività. Queste istruzioni presuppongono la disponibilità di moduli Puppet supportati, ad esempio apt per semplificare la distribuzione del pacchetto. L'organizzazione potrebbe usare un flusso di lavoro diverso. Per informazioni dettagliate, vedere la documentazione di Puppet .

Scaricare il pacchetto di onboarding

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.

  1. Nel portale di Microsoft Defender passare a Impostazioni > Endpoint Gestione > dispositivi > Onboarding.

  2. 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.

  3. Selezionare Scarica pacchetto di onboarding. Salvare il file come WindowsDefenderATPOnboardingPackage.zip.

    L'opzione per scaricare il pacchetto di cui è stato caricato

  4. Da un prompt dei comandi verificare di avere il file.

    ls -l
    
    total 8
    -rw-r--r-- 1 test  staff  4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip
    
  5. Estrarre il contenuto dell'archivio.

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

Create un manifesto puppet

È necessario creare un manifesto puppet per la distribuzione di Defender per endpoint in Linux ai dispositivi gestiti da un server Puppet. Questo esempio usa i moduli apt e yumrepo disponibili dai puppetlab e presuppone che i moduli siano stati installati nel server Puppet.

Create le cartelle install_mdatp/file e install_mdatp/manifesti nella cartella modules dell'installazione di Puppet. Questa cartella si trova in genere in /etc/puppetlabs/code/environments/production/modules nel server Puppet. Copiare il file mdatp_onboard.json creato in precedenza nella cartella install_mdatp/files . Create un file init.pp contenente le istruzioni di distribuzione:

pwd
/etc/puppetlabs/code/environments/production/modules
tree install_mdatp
install_mdatp
├── files
│   └── mdatp_onboard.json
└── manifests
    └── init.pp

Contenuto di install_mdatp/manifests/init.pp

Defender per endpoint in Linux può essere distribuito da uno dei canali seguenti (indicati di seguito come [canale]): insiders-fast, insiders-slow o prod. Ognuno di questi canali 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 l'uso di Insiders-fast o Insiders-slow.

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.

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 RedHat, Oracle Linux, Amazon Linux 2 e CentOS 8, sostituire [distro] con "rhel".

# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.
# @param distro The Linux distribution in lowercase. In case of RedHat, Oracle Linux, Amazon Linux 2, and CentOS 8, the distro variable should be 'rhel'.
# @param version The Linux distribution release number, e.g. 7.4.

class install_mdatp (
  $channel = 'insiders-fast',
  $distro = undef,
  $version = undef
) {
  case $facts['os']['family'] {
    'Debian' : {
      $release = $channel ? {
        'prod'  => $facts['os']['distro']['codename'],
        default => $channel
      }
      apt::source { 'microsoftpackages' :
        location => "https://packages.microsoft.com/${distro}/${version}/prod",
        release  => $release,
        repos    => 'main',
        key      => {
          'id'     => 'BC528686B50D79E339D3721CEB3E94ADBE1229CF',
          'server' => 'keyserver.ubuntu.com',
        },
      }
    }
    'RedHat' : {
      yumrepo { 'microsoftpackages' :
        baseurl  => "https://packages.microsoft.com/${distro}/${version}/${channel}",
        descr    => "packages-microsoft-com-prod-${channel}",
        enabled  => 1,
        gpgcheck => 1,
        gpgkey   => 'https://packages.microsoft.com/keys/microsoft.asc',
      }
    }
    default : { fail("${facts['os']['family']} is currently not supported.") }
  }

  case $facts['os']['family'] {
    /(Debian|RedHat)/: {
      file { ['/etc/opt', '/etc/opt/microsoft', '/etc/opt/microsoft/mdatp']:
        ensure => directory,
        owner  => root,
        group  => root,
        mode   => '0755',
      }

      file { '/etc/opt/microsoft/mdatp/mdatp_onboard.json':
        source  => 'puppet:///modules/install_mdatp/mdatp_onboard.json',
        owner   => root,
        group   => root,
        mode    => '0600',
        require => File['/etc/opt/microsoft/mdatp'],
      }

      package { 'mdatp':
        ensure  => 'installed',
        require => File['/etc/opt/microsoft/mdatp/mdatp_onboard.json'],
      }
    }
    default : { fail("${facts['os']['family']} is currently not supported.") }
  }
}

Distribuzione

Includere il manifesto precedente nel file site.pp:

cat /etc/puppetlabs/code/environments/production/manifests/site.pp
node "default" {
    include install_mdatp
}

I dispositivi agente registrati eseguono periodicamente il polling del server Puppet e installano nuovi profili e criteri di configurazione non appena vengono rilevati.

Monitorare la distribuzione di Puppet

Nel dispositivo agente è anche possibile controllare lo stato di onboarding eseguendo:

mdatp health
...
licensed                                : true
org_id                                  : "[your organization identifier]"
...
  • licenza: conferma che il dispositivo è associato all'organizzazione.

  • orgId: identificatore dell'organizzazione defender per endpoint.

Controllare lo stato di onboarding

È possibile verificare che l'onboarding dei dispositivi sia stato eseguito correttamente creando uno script. Ad esempio, lo script seguente controlla lo stato di onboarding dei dispositivi registrati:

mdatp health --field healthy

Il comando precedente stampa 1 se il prodotto è stato caricato e funziona come previsto.

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. Durante questo periodo il comando precedente restituisce un valore di 0.

Se il prodotto non è integro, il codice di uscita (che può essere controllato tramite echo $?) indica il problema:

  • 1 se il dispositivo non è ancora stato caricato.
  • 3 se non è possibile stabilire la connessione al daemon.

Problemi di installazione del log

Per altre informazioni su come trovare il log generato automaticamente creato dal programma di installazione quando si verifica un errore, vedere Problemi di installazione del log.

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.

Disinstallazione

Create un modulo remove_mdatp simile a install_mdatp con il contenuto seguente nel file init.pp:

class remove_mdatp {
    package { 'mdatp':
        ensure => 'purged',
    }
}

Consiglio

Per saperne di più, Engage con la community Microsoft Security nella community tech: Microsoft Defender per endpoint Tech Community.