Implementar Microsoft Defender para Ponto de Extremidade no Linux com o Ansible
Aplica-se a:
- Servidor do Microsoft Defender para Ponto de Extremidade.
- Microsoft Defender para Servidores
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:
- Pré-requisitos e requisitos de sistema
- Transferir o pacote de inclusão
- Implementar o Defender para Endpoint no Linux com mde_installer.sh com o Ansible
- Implementar o Defender para Endpoint no Linux com o Ansible ao configurar repositórios manualmente
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.
No portal Microsoft Defender, aceda a Definições Pontos Finais>Gestão> dedispositivos>Integração.
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.
Selecione Baixar pacote de integração. Guarde o ficheiro como
WindowsDefenderATPOnboardingPackage.zip
.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
No portal Microsoft Defender, abra o inventário de dispositivos. O dispositivo poderá demorar entre 5 a 20 minutos a aparecer no portal.
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.
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
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:-
insiders-fast, denotado como
[channel]
insiders-slow, denotado como[channel]
-
prod, indicado como
[channel]
utilizando o nome da versão (veja Repositório de Software Linux para Produtos Microsoft)
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.
-
insiders-fast, denotado como
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 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"
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.
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.
Validação/configuração:
ansible -m shell -a 'mdatp connectivity test' all
ansible -m shell -a 'mdatp health' all
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:
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.
Para obter informações sobre problemas comuns de instalação, veja Problemas de instalação.
Se o estado de funcionamento do dispositivo for
false
, consulte Problemas de estado de funcionamento do agente do Defender para Endpoint.Para problemas de desempenho do produto, veja Resolver problemas de desempenho.
Para problemas de proxy e conectividade, veja Resolver problemas de conectividade da cloud.
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:
- Veja Definir preferências para Microsoft Defender para Ponto de Extremidade no Linux.
- Veja Gestão de definições de segurança para configurar as definições no portal do Microsoft Defender.
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
- Adicionar ou remover repositórios YUM
- Gerir pacotes com o gestor de pacotes dnf
- Adicionar e remover repositórios do APT
- Gerir pacotes apt
- Problemas de eventos em falta
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.