Agendar uma verificação antivírus no Linux usando o crontab com o Microsoft Defender para Ponto de Extremidade

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

Configurar a tarefa agendada do Cron

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

Backup das entradas do crontab

Dica

Efetue este passo antes de editar ou remover entradas.

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

Onde 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 configuração significa que o trabalho é executado aos sábados às 2:00, no horário do Pacífico (UTC -8).

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

Observação

w == escrever, q == sair

Para ver as tarefas cron, escreva sudo crontab -l

Captura de tela da 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 verificação

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

As análises agendadas configuradas por meio do crontab não exibem um campo de status nem uma confirmação específica 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 list retorna um histórico das últimas 7 verificações realizadas no dispositivo pelo Microsoft Defender para Ponto de Extremidade. Para cada exame de entrada, você pode ver:

  • Tipo de Análise – Rápido ou Completo
  • Horário de início da verificação - por exemplo, 05 de janeiro de 2023 às 15:18:39
  • Status da verificação – Por exemplo, Concluída, Falha ou Cancelada

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 verificações. Se precisar verificar se as análises rápidas e completas estão sendo executadas regularmente, monitore isso ao longo do tempo ou crie um script para isso.

Também pode verificar a verificação executada por:

Executar análises a pedido:

  • Análise rápida

    mdatp scan quick
    
  • Verificação 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 configurar o crontab 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 do 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