Compartilhar via


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

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

Introdução

Implemente Microsoft Defender para Ponto de Extremidade em Servidores Linux com o Ansible para automatizar o processo de implementação para máquinas virtuais em escala. Seguem-se os dois métodos para automatizar:

  • Utilize o script do instalador (recomendado). Este método simplifica consideravelmente o processo de automatização e ajuda a instalar o agente do Defender para Endpoint e a integrar o dispositivo no portal do Microsoft Defender com apenas alguns passos sem ter de configurar para diferentes distribuições separadamente.

  • Configure manualmente repositórios para cada distribuição. Este método permite-lhe automatizar o processo de implementação ao configurar manualmente repositórios, instalar o agente e integrar o dispositivo para cada distribuição. Este método proporciona um controlo mais granular sobre o processo de implementação.

Pré-requisitos e requisitos de sistema aplicáveis a ambos os métodos

Antes de começar, consulte a página main Defender para Endpoint no Linux para obter uma descrição dos pré-requisitos e requisitos de sistema.

Além disso, para a implementação do Ansible, tem de estar familiarizado com as tarefas de administração do Ansible, ter o Ansible configurado e saber como implementar manuais de procedimentos e tarefas. O Ansible tem muitas formas de concluir a mesma tarefa. Estas instruções assumem a disponibilidade de módulos do Ansible suportados, como apt e unarchive 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 Ansible.

  • O Ansible tem de ser instalado em, pelo menos, um computador (o Ansible chama a este computador o nó de controlo).

  • O SSH tem de ser configurado para uma conta de administrador entre o nó de controlo e todos os nós geridos (dispositivos com o Defender para Endpoint instalado) e recomenda-se que seja configurado com a autenticação de chave pública.

  • O software seguinte tem de ser instalado em todos os nós geridos:

    • curl
    • python-apt (se estiver a implementar em distribuições com apt como gestor de pacotes)
  • Todos os nós geridos têm de estar listados no seguinte formato no /etc/ansible/hosts ficheiro ou relevante:

    [servers]
    host1 ansible_ssh_host=10.171.134.39
    host2 ansible_ssh_host=51.143.50.51
    
  • Teste de ping:

    ansible -m ping all
    

Transferir o pacote de inclusão aplicável a ambos os métodos

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 Transferir pacote de inclusão

  4. Numa linha de comandos, verifique se tem o ficheiro. Extraia o conteúdo do arquivo:

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

Implementar o Defender para Endpoint com mde_installer.sh com o Ansible

Antes de começar, certifique-se de que transfere o pacote de inclusão e cumpre os pré-requisitos para implementar o Defender para Endpoint no Linux com o script bash do instalador.

Transferir 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

Criar ficheiros YAML do Ansible

Crie o ficheiro YAML de instalação. Também pode transferir o ficheiro diretamente a partir do GitHub

- name: Install and Onboard MDE
  hosts: servers
  tasks:
   - name: Create a directory if it does not exist
     ansible.builtin.file:
       path: /tmp/mde_install
       state: directory
       mode: '0755'

   - name: Copy Onboarding script
     ansible.builtin.copy:
       src: "{{ onboarding_json }}"
       dest: /tmp/mde_install/mdatp_onboard.json
   - name: Install MDE on host
     ansible.builtin.script: "{{ mde_installer_script }} --install --channel {{ channel | default('insiders-fast') }} --onboard /tmp/mde_install/mdatp_onboard.json"
     register: script_output
     args:
       executable: sudo

   - name: Display the installation output
     debug:
       msg: "Return code [{{ script_output.rc }}] {{ script_output.stdout }}"

   - name: Display any installation errors
     debug:
       msg: "{{ script_output.stderr }}"

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 através do seguinte comando:./mde_installer.sh --help

Aplicar o manual de procedimentos

Aplique o manual de procedimentos com o seguinte comando, substituindo os caminhos e o canal correspondentes de acordo com os seus requisitos:

ansible-playbook -i  /etc/ansible/hosts /etc/ansible/playbooks/install_mdatp.yml --extra-vars "onboarding_json=<path to mdatp_onboard.json > mde_installer_script=<path to mde_installer.sh> channel=<channel to deploy for: insiders-fast / insiders-slow / prod> "

Verificar se a implementação foi efetuada com êxito

  1. No portal Microsoft Defender, abra o inventário de dispositivos. O dispositivo poderá demorar entre 5 a 20 minutos a aparecer no portal.

  2. Execute as seguintes verificações pós-instalação, que incluem verificações como estado de funcionamento, conectividade, antivírus e testes de deteção EDR para garantir a implementação com êxito e o funcionamento do Defender para Endpoint.


- name: Run post-installation basic MDE test
  hosts: myhosts
  tasks:
    - name: Check health
      ansible.builtin.command: mdatp health --field healthy
      register: health_status

    - name: MDE health test failed
      fail: msg="MDE is not healthy. health status => \n{{ health_status.stdout       }}\nMDE deployment not complete"
      when: health_status.stdout != "true"

    - name: Run connectivity test
      ansible.builtin.command: mdatp connectivity test
      register: connectivity_status

    - name: Connectivity failed
      fail: msg="Connectivity failed. Connectivity result => \n{{ connectivity_status.stdout }}\n MDE deployment not complete"
      when: connectivity_status.rc != 0

    - name: Check RTP status
      ansible.builtin.command: mdatp health --field real_time_protection_enabled
      register: rtp_status

    - name: Enable RTP
      ansible.builtin.command: mdatp config real-time-protection --value enabled
      become: yes
      become_user: root
      when: rtp_status.stdout != "true"

    - name: Pause for 5 second to enable RTP
      ansible.builtin.pause:
        seconds: 5

    - name: Download EICAR
      ansible.builtin.get_url:
        url: https://secure.eicar.org/eicar.com.txt
        dest: /tmp/eicar.com.txt

    - name: Pause for 5 second to detect eicar 
      ansible.builtin.pause:
        seconds: 5

    - name: Check for EICAR file
      stat: path=/tmp/eicar.com.txt
      register: eicar_test

    - name: EICAR test failed
      fail: msg="EICAR file not deleted. MDE deployment not complete"
      when: eicar_test.stat.exists

    - name: MDE Deployed
      debug:
      msg: "MDE succesfully deployed"


Como desinstalar Microsoft Defender para Ponto de Extremidade em Servidores Linux

Primeiro, crie um ficheiro YAML de desinstalação (por exemplo: /etc/ansible/playbooks/uninstall_mdatp.yml) que utilize mde_installer.sh. Também pode transferir o ficheiro diretamente a partir do GitHub


- name: Uninstall MDE
  hosts: myhosts
  tasks:
   - name: Uninstall MDE
     ansible.builtin.script: "{{ mde_installer_script }} --remove"
     register: script_output
     args:
       executable: sudo


- name: Display the installation output
  debug:
    msg: "Return code [{{ script_output.rc }}] {{ script_output.stdout }}"

- name: Display any installation errors
  debug:
    msg: "{{ script_output.stderr }}"

Execute o seguinte comando para desinstalar o Defender para Endpoint com o manual de procedimentos:

ansible-playbook -i  /etc/ansible/hosts /etc/ansible/playbooks/uninstall_mdatp.yml --extra-vars "mde_installer_script=<path to mde_installer.sh>"

Implementar o Defender para Endpoint com o Ansible ao configurar repositórios manualmente

Siga os passos nesta secção depois de transferir o pacote de inclusão e os pré-requisitos de reunião para implementar o Defender para Endpoint ao configurar manualmente os repositórios para cada distribuição do Linux.

Criar ficheiros YAML do Ansible

Crie uma subtarefa ou ficheiros de função que contribuam para um manual de procedimentos ou tarefa.

  1. Crie a tarefa de inclusão: onboarding_setup.yml

    - name: Create MDATP directories
      file:
        path: /etc/opt/microsoft/mdatp/
        recurse: true
        state: directory
        mode: 0755
        owner: root
        group: root
    
    - name: Register mdatp_onboard.json
      stat:
        path: /etc/opt/microsoft/mdatp/mdatp_onboard.json
      register: mdatp_onboard
    
    - name: Extract WindowsDefenderATPOnboardingPackage.zip into /etc/opt/microsoft/mdatp
      unarchive:
        src: WindowsDefenderATPOnboardingPackage.zip
        dest: /etc/opt/microsoft/mdatp
        mode: 0600
        owner: root
        group: root
      when: not mdatp_onboard.stat.exists
    
  2. Adicione o repositório do Defender para Endpoint e a chave , add_apt_repo.yml. 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.

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

  4. Nos seguintes comandos, substitua [distro] e [versão] pelas informações que identificou.

    Observação

    No caso do Oracle Linux e do Amazon Linux 2, substitua [distro] por "rhel". Para o Amazon Linux 2, substitua [versão] por "7". Para o Oracle Linux, substitua [versão] pela versão do Oracle Linux.

    - name: Add Microsoft APT key
      apt_key:
        url: https://packages.microsoft.com/keys/microsoft.asc
        state: present
      when: ansible_os_family == "Debian"
    
    - name: Add Microsoft apt repository for MDATP
      apt_repository:
        repo: deb [arch=arm64,armhf,amd64] https://packages.microsoft.com/[distro]/[version]/prod [codename] main
        update_cache: yes
        state: present
        filename: microsoft-[channel]
      when: ansible_os_family == "Debian"
    
    - name: Add Microsoft DNF/YUM key
      rpm_key:
        state: present
        key: https://packages.microsoft.com/keys/microsoft.asc
      when: ansible_os_family == "RedHat"
    
    - name: Add  Microsoft yum repository for MDATP
      yum_repository:
        name: packages-microsoft-[channel]
        description: Microsoft Defender for Endpoint
        file: microsoft-[channel]
        baseurl: https://packages.microsoft.com/[distro]/[version]/[channel]/ 
        gpgcheck: yes
        enabled: Yes
      when: ansible_os_family == "RedHat"
    
  5. Crie os ficheiros YAML de instalação e desinstalação do Ansible.

    • Para distribuições baseadas em apt, utilize o seguinte ficheiro YAML:

      cat install_mdatp.yml
      
      - hosts: servers
         tasks:
           - name: include onboarding tasks
             import_tasks:
               file: ../roles/onboarding_setup.yml
           - name: add apt repository
             import_tasks:
               file: ../roles/add_apt_repo.yml
           - name: Install MDATP
             apt:
               name: mdatp
               state: latest
               update_cache: yes
      
      cat uninstall_mdatp.yml
      
      - hosts: servers
         tasks:
           - name: Uninstall MDATP
             apt:
               name: mdatp
               state: absent
      
    • Para distribuições baseadas em dnf, utilize o seguinte ficheiro YAML:

      cat install_mdatp_dnf.yml
      
      - hosts: servers
         tasks:
           - name: include onboarding tasks
             import_tasks:
               file: ../roles/onboarding_setup.yml
           - name: add apt repository
             import_tasks:
               file: ../roles/add_yum_repo.yml
           - name: Install MDATP
             dnf:
               name: mdatp
               state: latest
               enablerepo: packages-microsoft-[channel]
      
      cat uninstall_mdatp_dnf.yml
      
      - hosts: servers
         tasks:
           - name: Uninstall MDATP
             dnf:
               name: mdatp
               state: absent
      

Aplicar o manual de procedimentos

Neste passo, vai aplicar o manual de procedimentos. Execute os ficheiros de tarefas em /etc/ansible/playbooks/ ou o diretório relevante.

  1. Instalação:

    ansible-playbook /etc/ansible/playbooks/install_mdatp.yml -i /etc/ansible/hosts
    

    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.

  2. Validação/configuração:

    ansible -m shell -a 'mdatp connectivity test' all
    
    ansible -m shell -a 'mdatp health' all
    
  3. Desinstalação:

    ansible-playbook /etc/ansible/playbooks/uninstall_mdatp.yml -i /etc/ansible/hosts
    

Solucionar problemas de instalação

Para a resolução de problemas automática, siga estes passos:

  1. Para obter informações sobre como localizar o registo gerado automaticamente quando ocorre um erro de instalação, veja Problemas de instalação de registos.

  2. Para obter informações sobre problemas comuns de instalação, veja Problemas de instalação.

  3. Se o estado de funcionamento do dispositivo for false, consulte Problemas de estado de funcionamento do agente do Defender para Endpoint.

  4. Para problemas de desempenho do produto, veja Resolver problemas de desempenho.

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

  6. Para obter suporte da Microsoft, abra um pedido de suporte e forneça os ficheiros de registo criados com o analisador de cliente.

Como configurar políticas para Microsoft Defender no Linux

Pode configurar as definições de antivírus ou EDR nos pontos finais com os seguintes métodos:

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.

Confira também

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.