Compartir a través de


Implementación de Microsoft Defender para punto de conexión en Linux con Puppet

Se aplica a:

¿Quiere experimentar Defender para punto de conexión? Regístrese para obtener una prueba gratuita.

En este artículo se describe cómo implementar Defender para punto de conexión en Linux mediante Puppet.

Importante

Este artículo contiene información sobre herramientas de terceros. Esto se proporciona para ayudar a completar escenarios de integración; sin embargo, Microsoft no proporciona compatibilidad con la solución de problemas para herramientas de terceros.
Póngase en contacto con el proveedor de terceros para obtener soporte técnico.

Requisitos previos y requisitos del sistema

Para obtener una descripción de los requisitos previos y los requisitos del sistema, consulte Microsoft Defender para punto de conexión en Linux.

Además, para la implementación de Puppet, debe estar familiarizado con las tareas de administración de Puppet, tener Puppet configurado y saber cómo implementar paquetes. Puppet tiene muchas maneras de completar la misma tarea. Estas instrucciones asumen la disponibilidad de los módulos de Puppet compatibles, como apt para ayudar a implementar el paquete. Su organización podría usar un flujo de trabajo diferente. Para obtener más información, consulte la documentación de Puppet.

Descarga del paquete de incorporación

Descargue el paquete de incorporación desde Microsoft Defender portal.

Advertencia

Volver a empaquetar el paquete de instalación de Defender para punto de conexión no es un escenario compatible. Esto puede afectar negativamente a la integridad del producto y dar lugar a resultados adversos, incluidos, entre otros, el desencadenamiento de alertas de manipulación y la no aplicación de actualizaciones.

  1. En el portal de Microsoft Defender, vaya a Configuración>Puntos de conexión>Administración de> dispositivosIncorporación.

  2. En el primer menú desplegable, seleccione Servidor Linux como sistema operativo. En el segundo menú desplegable, seleccione La herramienta de administración de configuración de Linux preferida como método de implementación.

  3. Seleccione Descargar el paquete de incorporación Guarde el archivo como WindowsDefenderATPOnboardingPackage.zip.

    Opción para descargar el paquete incorporado.

  4. Extraiga el contenido del archivo.

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

Creación de una estructura de directorios

Debe crear una estructura de directorios para implementar Defender para punto de conexión en Linux en dispositivos administrados por un servidor de Puppet. En este ejemplo se hace uso de los apt módulos y yumrepo disponibles desde puppetlabsy se supone que los módulos están instalados en el servidor de Puppet.

  1. En la carpeta modules si la instalación de Puppet, cree las carpetas install_mdatp/files y install_mdatp/manifests. La carpeta modules se encuentra normalmente en el /etc/puppetlabs/code/environments/production/modules servidor de Puppet.

  2. Copie el mdatp_onboard.json archivo creado anteriormente en la install_mdatp/files carpeta .

  3. Cree un init.pp archivo que contenga las instrucciones de implementación:

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

Creación de un manifiesto de Puppet

Hay dos maneras de crear un archivo de manifiesto:

  • Use un script del instalador; o
  • Configure los repositorios manualmente.

Creación de un manifiesto para implementar Defender para punto de conexión mediante un script del instalador

  1. Descargue el script de Bash del instalador. Extraiga el script de Bash del instalador del repositorio de Microsoft GitHub o use el siguiente comando para descargarlo.
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. Agregue el siguiente contenido al install_mdatp/manifests/init.pp archivo. También puede descargar el archivo directamente desde 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:

El script del instalador también admite otros parámetros, como el canal, la protección en tiempo real, la versión, etc. Para seleccionar en la lista de opciones disponibles, consulte la ayuda. ./mde_installer.sh --help

Creación de un manifiesto para implementar Defender para punto de conexión mediante la configuración manual de repositorios

Agregue el siguiente contenido al install_mdatp/manifests/init.pp archivo. También puede descargarlo desde 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 para punto de conexión en Linux se puede implementar desde uno de los siguientes canales: insiders-fast, insiders-slow, prod. Cada canal corresponde a un repositorio de software linux. La elección del canal determina el tipo y la frecuencia de las actualizaciones que se ofrecen al dispositivo. Los dispositivos de son los primeros en insiders-fast recibir actualizaciones y nuevas características en versión preliminar, seguidos de y, por insiders-slowúltimo, de prod. Anote la distribución y la versión e identifique la entrada más cercana en https://packages.microsoft.com/config/[distro]/[version].

Advertencia

Cambiar el canal después de la instalación inicial requiere que se vuelva a instalar el producto. Para cambiar el canal del producto: desinstale el paquete existente, vuelva a configurar el dispositivo para que use el nuevo canal y siga los pasos de este documento para instalar el paquete desde la nueva ubicación.

Incluir el manifiesto dentro del archivo site.pp

Incluya el manifiesto descrito anteriormente en este artículo en el site.pp archivo:

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

Los dispositivos de agente inscritos sondean periódicamente Puppet Server e instalan nuevos perfiles de configuración y directivas en cuanto se detectan.

Supervisión de la implementación de Puppet

En el dispositivo del agente, también puede comprobar el estado de la implementación ejecutando el siguiente comando:

mdatp health
...
healthy                                 : true
health_issues                           : []
licensed                                : true
org_id                                  : "[your organization identifier]"
...
  • healthy: confirme que Defender para punto de conexión está implementado y operativo correctamente.
  • health_issues: indica los problemas que provocaron que el estado correcto se convierta en false.
  • licensed: confirma que el dispositivo está asociado a su organización.
  • orgId: identificador de la organización de Defender para punto de conexión.

Solucionar de problemas de instalación y actualización

Si tiene problemas durante la instalación, pruebe estos pasos de solución de problemas:

  1. Consulte Problemas de instalación de registros para obtener más información sobre cómo buscar el registro generado automáticamente que crea el instalador cuando se produce un error.

  2. Consulte Problemas de instalación para obtener más información sobre los problemas de instalación que se producen habitualmente.

  3. Si el estado del dispositivo es false, consulte MDE problemas de estado del agente.

  4. Para conocer los problemas de rendimiento del producto, consulte Solución de problemas de rendimiento, optimización del rendimiento

  5. Para ver los problemas de proxy y conectividad, consulte Solución de problemas de conectividad en la nube.

Para obtener soporte técnico de Microsoft, genere una incidencia de soporte técnico y proporcione archivos de registro mediante el analizador de cliente.

Configuración de directivas para Microsoft Defender en Linux

Puede configurar los valores de antivirus y EDR en los puntos de conexión. Para más información, consulte los siguientes artículos:

Actualizaciones del sistema operativo

Al actualizar el sistema operativo a una nueva versión principal, primero debe desinstalar Defender para punto de conexión en Linux, instalar la actualización y, a continuación, volver a configurar Defender para punto de conexión en Linux en el dispositivo.

Desinstalación

Cree un módulo remove_mdatp similar a install_mdatp con el siguiente contenido en el init.pp archivo:

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

Sugerencia

¿Desea obtener más información? Engage con la comunidad de seguridad de Microsoft en nuestra comunidad tecnológica: Microsoft Defender para punto de conexión Tech Community.