Condividi tramite


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, vedere Microsoft 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 altre informazioni, 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> EndpointGestione>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.

    Opzione per scaricare il pacchetto sottoposto a onboarding.

  4. Estrarre il contenuto dell'archivio.

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

Creare 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 apt moduli e yumrepo disponibili da puppetlabse presuppone che i moduli siano installati nel server Puppet.

  1. Nella cartella modules se l'installazione di Puppet crea le cartelle install_mdatp/files e install_mdatp/manifests. La cartella modules si trova in genere nel /etc/puppetlabs/code/environments/production/modules server Puppet.

  2. Copiare il mdatp_onboard.json file creato in precedenza nella install_mdatp/files cartella.

  3. Creare un init.pp file contenente le istruzioni di distribuzione:

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

Creare un file manifesto

Esistono due modi per creare un file manifesto:

  • Usare uno script del programma di installazione; o
  • Configurare manualmente i repository.

Creare un manifesto per distribuire Defender per endpoint usando uno script del programma di installazione

  1. 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 /etc/puppetlabs/code/environments/production/modules/install_mdatp/files/
  1. Aggiungere il contenuto seguente al install_mdatp/manifests/init.pp file. È anche possibile scaricare il file direttamente da GitHub

# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.

class install_mdatp (
  $channel = 'prod',
) {
  # Ensure that the directory /tmp/mde_install exists
  file { '/tmp/mde_install':
    ensure => directory,
    mode   => '0755',
  }

  # Copy the installation script to the destination
  file { '/tmp/mde_install/mde_installer.sh':
    ensure => file,
    source => 'puppet:///modules/install_mdatp/mde_installer.sh',
    mode   => '0777',
  }

  # Copy the onboarding script to the destination
  file { '/tmp/mde_install/mdatp_onboard.json':
    ensure => file,
    source => 'puppet:///modules/install_mdatp/mdatp_onboard.json',
    mode   => '0777',
  }

  # Install MDE on the host using an external script
  exec { 'install_mde':
    command     => "/tmp/mde_install/mde_installer.sh --install --channel ${channel} --onboard /tmp/mde_install/mdatp_onboard.json",
    path        => '/bin:/usr/bin',
    user        => 'root',
    logoutput   => true,
    require     => File['/tmp/mde_install/mde_installer.sh', '/tmp/mde_install/mdatp_onboard.json'], # Ensure the script is copied before running the installer
  }

}

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. ./mde_installer.sh --help

Creare un manifesto per distribuire Defender per endpoint configurando manualmente i repository

Aggiungere il contenuto seguente al install_mdatp/manifests/init.pp file. È anche possibile scaricarlo da GitHub.

# Puppet manifest to install Microsoft Defender for Endpoint on Linux.
# @param channel The release channel based on your environment, insider-fast or prod.

class install_mdatp::configure_debian_repo (
  String $channel,
  String $distro,
  String $version ) {
  # Configure the APT repository for Debian-based systems

  $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',
    },
  }
}

class install_mdatp::configure_redhat_repo (
  String $channel,
  String $distro,
  String $version) {
  # Configure the Yum repository for RedHat-based systems
  
  yumrepo { 'microsoftpackages':
    baseurl  => "https://packages.microsoft.com/rhel/${version}/prod",
    descr    => 'packages-microsoft-com-prod',
    enabled  => 1,
    gpgcheck => 1,
    gpgkey   => 'https://packages.microsoft.com/keys/microsoft.asc',
  }
}

class install_mdatp::install {
  # Common configurations for both Debian and 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'],
  }

  # Install mdatp package
  package { 'mdatp':
    ensure  => installed,
    require => [
      File['/etc/opt/microsoft/mdatp/mdatp_onboard.json'],
    ],
  }
}


class install_mdatp (
  $channel = 'prod'
) {
  # Include the appropriate class based on the OS family
  
  $distro = downcase($facts['os']['name'])
  $version = $facts['os']['release']['major']
  
  case $facts['os']['family'] {
    'Debian': {
      class { 'install_mdatp::configure_debian_repo':
        channel => 'prod',
        distro => $distro,
        version => $version
        } -> class { 'install_mdatp::install': }
    }
    'RedHat': {
      class { 'install_mdatp::configure_redhat_repo':
        channel => 'prod',
        distro => $distro,
        version => $version,
        } -> class { 'install_mdatp::install': }
    }
    default: { fail("${facts['os']['family']} is currently not supported.")}
  }
}

Nota

Defender per endpoint in Linux può essere distribuito da uno dei canali seguenti: insiders-fast, insiders-slow, prod. 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 insiders-fast sono i primi a ricevere aggiornamenti e nuove funzionalità in anteprima, seguiti da insiders-slowe infine da prod.

Prendere nota della distribuzione e della versione e identificare la voce più vicina in https://packages.microsoft.com/config/[distro]/[version].

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.

Includere il manifesto nel file site.pp

Includere il manifesto descritto in precedenza in questo articolo nel site.pp file:

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 della distribuzione eseguendo il comando seguente:

mdatp health
...
healthy                                 : true
health_issues                           : []
licensed                                : true
org_id                                  : "[your organization identifier]"
...
  • healthy: verificare che Defender per endpoint sia stato distribuito e operativo correttamente.
  • health_issues: indica i problemi che hanno causato la falsità dello stato integro.
  • licensed: conferma che il dispositivo è associato all'organizzazione.
  • orgId: identificatore dell'organizzazione di Defender per endpoint.

Risolvere i problemi di installazione

Se si verificano problemi durante l'installazione, provare la procedura di risoluzione automatica dei problemi seguenti:

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

  2. Per altre informazioni sui problemi di installazione comuni, vedere Problemi di installazione

  3. Se l'integrità del dispositivo è false, fare riferimento a MDE problemi di integrità dell'agente

  4. Per i problemi di prestazioni del prodotto, vedere Risolvere i problemi di prestazioni, ottimizzazione delle prestazioni

  5. Per i problemi di connettività e proxy, vedere Risolvere i problemi di connettività cloud

Per ottenere supporto da Microsoft, generare un ticket di supporto e fornire i file di log usando l'analizzatore client

Come configurare i criteri per Microsoft Defender in Linux

È possibile configurare le impostazioni antivirus ed EDR sugli endpoint usando i metodi seguenti:

Aggiornamenti del sistema operativo

Quando si aggiorna il sistema operativo a una nuova versione principale, è prima necessario disinstallare Defender per endpoint in Linux, installare l'aggiornamento e quindi riconfigurare Defender per endpoint in Linux nel dispositivo.

Disinstallazione

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

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.