Implementar Microsoft Defender para Endpoint no Linux com o Puppet

Quer experimentar o Defender para Ponto Final? Inscrever-se para uma avaliação gratuita.

Este artigo descreve como implementar o Defender para Endpoint no Linux com o Puppet. Uma implementação bem-sucedida requer a conclusão de todas as seguintes tarefas:

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 para a versão atual do software, veja a página principal do Defender para Endpoint 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. Veja a documentação do Puppet para obter detalhes.

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 do 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 Transferir pacote de inclusão. Guarde o ficheiro como WindowsDefenderATPOnboardingPackage.zip.

    A opção para transferir o pacote integrado

  4. Numa linha de comandos, verifique se tem o ficheiro.

    ls -l
    
    total 8
    -rw-r--r-- 1 test  staff  4984 Feb 18 11:22 WindowsDefenderATPOnboardingPackage.zip
    
  5. Extraia o conteúdo do arquivo.

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

Criar um manifesto do Puppet

Tem de criar um manifesto do Puppet para implementar o Defender para Endpoint no Linux em dispositivos geridos por um servidor Puppet. Este exemplo disponibiliza módulos e yumrepo a apt partir de puppetlabs e pressupõe que os módulos foram instalados no seu servidor Puppet.

  1. Crie as pastas install_mdatp/files e install_mdatp/manifests , na pasta módulos da instalação do Puppet. Normalmente, esta pasta 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
    

Conteúdo de install_mdatp/manifests/init.pp

O Defender para Endpoint no Linux pode ser implementado a partir de um dos seguintes canais:

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 insider-fast são os primeiros a receber atualizações e novas funcionalidades, seguidos posteriormente por insiders-slow e, por último, por prod.

Para pré-visualizar as novas funcionalidades e fornecer feedback antecipado, recomenda-se que configure alguns dispositivos na sua empresa para utilizarem insiders fast ou insiders-slow.

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.

Anote a sua distribuição e versão e identifique a entrada mais próxima da mesma https://packages.microsoft.com/config/[distro]/em .

Nos comandos abaixo, substitua [distro] e [versão] pelas informações que identificou:

Nota

No caso de RedHat, Oracle Linux, Amazon Linux 2 e CentOS 8, substitua [distro] por '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.") }
  }
}

Implementação

Inclua o manifesto acima 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 e políticas de configuração assim que forem detetados.

Monitorizar a implementação do Puppet

No dispositivo do agente, também pode verificar o estado de inclusão ao executar:

mdatp health
...
licensed                                : true
org_id                                  : "[your organization identifier]"
...
  • licenciado: isto confirma que o dispositivo está associado à sua organização.

  • orgId: este é o identificador da organização do Defender para Endpoint.

Verificar o estado de inclusão

Pode verificar se os dispositivos foram corretamente integrados através da criação de um script. Por exemplo, o script seguinte verifica o estado de inclusão dos dispositivos inscritos:

mdatp health --field healthy

O comando acima será impresso 1 se o produto estiver integrado e a funcionar conforme esperado.

Importante

Quando o produto é iniciado pela primeira vez, transfere as definições antimalware mais recentes. Consoante a sua ligação à Internet, esta ação pode demorar alguns minutos. Durante este período, o comando acima devolve um valor de 0.

Se o produto não estiver em bom estado de funcionamento, o código de saída (que pode ser verificado echo $?) indica o problema:

  • 1 se o dispositivo ainda não estiver integrado.
  • 3 se não for possível estabelecer a ligação ao daemon.

Problemas de instalação de registos

Para obter mais informações sobre como encontrar o registo gerado automaticamente que é criado pelo instalador quando ocorre um erro, veja Problemas de instalação de registos.

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, por fim, 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',
    }
}

Sugestão

Quer saber mais? Engage com a comunidade de Segurança da Microsoft na nossa Comunidade Tecnológica: Microsoft Defender para Endpoint Tech Community.