Compartilhar via


Implementar Microsoft Defender para Ponto de Extremidade no Linux com o Puppet

Aplica-se a:

Deseja experimentar o Defender para Ponto de Extremidade? Inscreva-se para uma avaliação gratuita.

Este artigo descreve como implementar o Defender para Endpoint no Linux com o Puppet.

Importante

Este artigo contém informações sobre ferramentas de terceiros. Isto é fornecido para ajudar a concluir cenários de integração. No entanto, a Microsoft não fornece suporte de resolução de problemas para ferramentas de terceiros.
Contacte o fornecedor de terceiros para obter suporte.

Pré-requisitos e requisitos de sistema

Para obter uma descrição dos pré-requisitos e requisitos de sistema, veja Microsoft Defender para Ponto de Extremidade no Linux.

Além disso, para a implementação do Puppet, tem de estar familiarizado com as tarefas de administração do Puppet, ter o Puppet configurado e saber como implementar pacotes. O Puppet tem muitas formas de concluir a mesma tarefa. Estas instruções assumem a disponibilidade dos módulos do Puppet suportados, como apt para ajudar a implementar o pacote. A sua organização poderá utilizar um fluxo de trabalho diferente. Para obter mais informações, veja a documentação do Puppet.

Transferir o pacote de inclusão

Transfira o pacote de inclusão a partir do portal Microsoft Defender.

Aviso

Reembalar o pacote de instalação do Defender para Endpoint não é um cenário suportado. Fazê-lo pode afetar negativamente a integridade do produto e levar a resultados adversos, incluindo, mas não se limitando a acionar alertas de adulteração e atualizações que não se aplicam.

  1. No portal Microsoft Defender, aceda a Definições Pontos Finais>Gestão> dedispositivos>Integração.

  2. No primeiro menu pendente, selecione Servidor Linux como o sistema operativo. No segundo menu pendente, selecione A sua ferramenta de gestão de configuração do Linux preferida como método de implementação.

  3. Selecione Baixar pacote de integração. Guarde o ficheiro como WindowsDefenderATPOnboardingPackage.zip.

    A opção para transferir o pacote integrado.

  4. Extraia o conteúdo do arquivo.

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

Criar uma estrutura de diretório

Tem de criar uma estrutura de diretório para implementar o Defender para Endpoint no Linux em dispositivos geridos por um servidor Puppet. Este exemplo disponibiliza os módulos e yumrepo a apt partir do puppetlabse pressupõe que os módulos estão instalados no seu servidor Puppet.

  1. Na pasta módulos , se a instalação do Puppet for concluída, crie as pastas install_mdatp/files e install_mdatp/manifests. Normalmente, a pasta módulos está localizada no /etc/puppetlabs/code/environments/production/modules seu servidor Puppet.

  2. Copie o mdatp_onboard.json ficheiro criado anteriormente para a install_mdatp/files pasta .

  3. Crie um init.pp ficheiro que contenha as instruções de implementação:

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

Criar um manifesto do Puppet

Existem duas formas de criar um ficheiro de manifesto:

  • Utilizar um script do instalador; ou
  • Configure manualmente os repositórios.

Criar um manifesto para implementar o Defender para Endpoint com um script de instalador

  1. Transfira o script bash do instalador. Solicite o script bash do instalador a partir do Repositório do Microsoft GitHub ou utilize o seguinte comando para transferi-lo.
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. Adicione o seguinte conteúdo ao install_mdatp/manifests/init.pp ficheiro. Também pode transferir o ficheiro diretamente a partir do 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
  }

}

Observação

O script do instalador também suporta outros parâmetros, como canal, proteção em tempo real, versão, etc. Para selecionar a partir da lista de opções disponíveis, marcar ajuda. ./mde_installer.sh --help

Criar um manifesto para implementar o Defender para Endpoint ao configurar repositórios manualmente

Adicione o seguinte conteúdo ao install_mdatp/manifests/init.pp ficheiro. Também pode transferi-lo a partir do 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.")}
  }
}

Observação

O Defender para Endpoint no Linux pode ser implementado a partir de um dos seguintes canais: insiders-fast, insiders-slow, prod. Cada canal corresponde a um repositório de software linux. A escolha do canal determina o tipo e a frequência das atualizações que são oferecidas ao seu dispositivo. Os dispositivos no insiders-fast são os primeiros a receber atualizações e novas funcionalidades em pré-visualização, seguidos de insiders-slowe, por último, por prod. Anote a sua distribuição e versão e identifique a entrada mais próxima da mesma https://packages.microsoft.com/config/[distro]/[version]em .

Aviso

Mudar o canal após a instalação inicial requer que o produto seja reinstalado. Para mudar o canal de produto: desinstale o pacote existente, volte a configurar o dispositivo para utilizar o novo canal e siga os passos neste documento para instalar o pacote a partir da nova localização.

Incluir o manifesto no ficheiro site.pp

Inclua o manifesto descrito anteriormente neste artigo no seu site.pp ficheiro:

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

Os dispositivos de agente inscritos consultam periodicamente o Puppet Server e instalam novos perfis de configuração e políticas assim que forem detetados.

Monitorizar a implementação do Puppet

No dispositivo do agente, também pode marcar a implementação status ao executar o seguinte comando:

mdatp health
...
healthy                                 : true
health_issues                           : []
licensed                                : true
org_id                                  : "[your organization identifier]"
...
  • healthy: confirme que o Defender para Endpoint foi implementado com êxito e operacional.
  • health_issues: indica que os problemas que causaram o bom estado de status se tornaram falsos.
  • licensed: confirma que o dispositivo está ligado à sua organização.
  • orgId: o identificador da organização do Defender para Endpoint.

Solucionar problemas de instalação

Se encontrar problemas durante a instalação, experimente estes passos de resolução de problemas:

  1. Veja Problemas de instalação de registos para obter mais informações sobre como localizar o registo gerado automaticamente que é criado pelo instalador quando ocorre um erro.

  2. Veja Problemas de instalação para obter mais informações sobre os problemas de instalação que ocorrem frequentemente

  3. Se o estado de funcionamento do dispositivo for falso, veja MDPE problemas de estado de funcionamento do agente

  4. Para problemas de desempenho do produto, veja Resolver problemas de desempenho, otimização do desempenho

  5. Para problemas de proxy e conectividade, veja Resolver problemas de conectividade da cloud

Para obter suporte da Microsoft, crie um pedido de suporte e forneça ficheiros de registo com o analisador de cliente

Como configurar políticas para Microsoft Defender no Linux

Pode configurar as definições de antivírus e EDR nos pontos finais. Para saber mais, confira os seguintes artigos:

Atualizações do sistema operativo

Ao atualizar o seu sistema operativo para uma nova versão principal, primeiro tem de desinstalar o Defender para Endpoint no Linux, instalar a atualização e, em seguida, reconfigurar o Defender para Endpoint no Linux no seu dispositivo.

Desinstalação

Crie um módulo remove_mdatp semelhante ao install_mdatp dos seguintes conteúdos no init.pp ficheiro:

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

Dica

Você deseja aprender mais? Engage com a comunidade de Segurança da Microsoft na nossa Comunidade Tecnológica: Microsoft Defender para Ponto de Extremidade Tech Community.