Agendar uma análise antivírus com crontab com Microsoft Defender para Ponto de Extremidade no Linux

Para executar uma análise de Linux, veja Comandos suportados.

Para Linux (e Unix), pode utilizar uma ferramenta chamada crontab (semelhante ao Programador de Tarefas no Windows) para executar tarefas agendadas.

Pré-requisito

Observação

Para obter uma lista de todos os fusos horários, execute o seguinte comando: timedatectl list-timezones
Exemplos de fusos horários:

  • America/Los_Angeles
  • America/New_York
  • America/Chicago
  • America/Denver

Definir a tarefa Cron

Para definir a tarefa cron, utilize os comandos neste artigo.

Entradas crontab de cópia de segurança

Dica

Efetue este passo antes de editar ou remover entradas.

sudo crontab -l > /var/tmp/cron_backup_200919.dat

Where 200919 = YYMMDD

Para editar o crontab e adicionar uma nova tarefa como um utilizador raiz:

sudo crontab -e

Observação

O editor predefinido é VIM.

Poderá ver:

0 * * * * /etc/opt/microsoft/mdatp/logrorate.sh

Prima Insert e, em seguida, adicione as seguintes entradas:

CRON_TZ=America/Los_Angeles

0 2 * * sat /usr/bin/mdatp scan quick > ~/mdatp_cron_job.log

Observação

Neste exemplo, definimos como 00 minutos, 2 da manhã (hora em formato 24 horas), qualquer dia do mês, em qualquer mês, aos sábados. Esta definição significa que a tarefa é executada aos sábados às 2:00 da manhã. Pacífico (UTC -8).

Prima Esc e, em seguida, escreva ":wq" sem as aspas duplas.

Observação

w == write, q == quit

Para ver as tarefas cron, escreva sudo crontab -l

Captura de ecrã a mostrar a página linux mdatp.

Para inspecionar execuções de tarefas cron

sudo grep mdatp /var/log/cron

Para inspecionar o mdatp_cron_job.log*

sudo nano mdatp_cron_job.log

Verificar a execução da análise

Linux não fornece uma forma direta de confirmar que foi executada uma análise agendada.

As análises agendadas configuradas através de crontab não aparecem num campo de status ou confirmação dedicada no Microsoft Defender para Ponto de Extremidade no Linux.

Para verificar se foi executada uma análise, execute o seguinte comando:

mdatp scan list

mdatp scan listdevolve um histórico das últimas 7 análises realizadas no dispositivo por Microsoft Defender para Ponto de Extremidade. Para cada entrada de análise, pode ver:

  • Tipo de Análise – Rápido ou Completo
  • Hora de Início da Análise – por exemplo, 05 de janeiro de 2023 às 15:18:39
  • Estado da Análise – por exemplo, Com Êxito, Com Falhas ou Cancelado

Utilize este comando para verificar se as análises agendadas foram executadas na data, hora e frequência esperadas.

A saída abrange apenas as últimas sete análises. Se precisar de marcar se as análises rápidas e completas estão a ser executadas regularmente, monitorize-a ao longo do tempo ou crie um script à volta da mesma.

Também pode verificar a análise executada por:

Executar análises a pedido:

  • Análise rápida

    mdatp scan quick
    
  • Análise completa

     mdatp scan full
    
  • Analisar um caminho específico

    mdatp scan custom --path /home/user/downloads
    

Verificar os resultados da análise

  • Listar todas as ameaças detetadas.

    mdatp threat list
    
  • Obtenha detalhes sobre uma ameaça específica.

    mdatp threat get --id [threat-id]
    

Se estiver a utilizar o Ansible, Chef, Puppet ou SaltStack

Utilize os seguintes comandos:

Para definir tarefas cron no Ansible

cron - Manage cron.d and crontab entries

Para obter mais informações, veja a documentação do Ansible.

Para definir crontabs no Chef

cron resource

Para obter mais informações, veja a documentação do Chef.

Para definir tarefas cron no Puppet

Resource Type: cron

Para obter mais informações, veja Documentação do Puppet: Tipo de Recurso: cron.

Automatizar com o Puppet: Tarefas cron e tarefas agendadas

Para obter mais informações, veja a documentação do Puppet sobre trabalhos e tarefas agendadas.

Para gerir tarefas cron no SaltStack

Resource Type: salt.states.cron

Exemplo:

mdatp scan quick > /tmp/mdatp_scan_log.log:
  cron.present:
    - special: '@hourly'

Para obter mais informações, consulte a documentação Salt.States.Cron.

Informações adicionais

Para obter ajuda com crontab

man crontab

Para obter uma lista de ficheiros crontab para o utilizador atual

crontab -l

Para obter uma lista de ficheiros crontab para outro utilizador

crontab -u username -l

Para fazer uma cópia de segurança das entradas crontab

Dica

Efetue este passo antes de editar ou remover entradas.

crontab -l > /var/tmp/cron_backup.dat

Para restaurar entradas crontab

crontab /var/tmp/cron_backup.dat

Para editar o crontab e adicionar uma nova tarefa como utilizador raiz

sudo crontab -e

Para editar o crontab e adicionar uma nova tarefa

crontab -e

Para editar as entradas crontab de outro utilizador

crontab -u username -e

Para remover todas as entradas crontab

crontab -r

Para remover as entradas crontab de outro utilizador

crontab -u username -r

Explicação

+—————- minute (values: 0 - 59) (special characters: , \- \* /)  <br>
| +————- hour (values: 0 - 23) (special characters: , \- \* /) <br>
| | +———- day of month (values: 1 - 31) (special characters: , \- \* / L W C)  <br>
| | | +——- month (values: 1 - 12) (special characters: , \- \* /)  <br>
| | | | +—- day of week (values: 0 - 6) (Sunday=0 or 7) (special characters: , \- \* / L W C) <br>
| | | | |*****command to be executed

Confira também