Programación de actualizaciones de inteligencia de seguridad para Microsoft Defender para punto de conexión en Linux

Para ejecutar una actualización en Microsoft Defender para punto de conexión en Linux, consulte Implementación de actualizaciones para Microsoft Defender para punto de conexión en Linux.

Linux y Unix tienen una herramienta denominada crontab (similar a Programador de tareas) para poder ejecutar tareas programadas.

Prerequisites

Nota:

Para obtener una lista de todas las zonas horarias, ejecute el siguiente comando: timedatectl list-timezones

Ejemplos de zonas horarias:

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

Configurar la tarea cron

Use los siguientes comandos:

Hacer una copia de seguridad de las entradas de crontab

Use el siguiente comando para realizar una copia de seguridad de las entradas crontab actuales antes de realizar cambios:

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

Nota:

En nuestro ejemplo, 201118 == YYMMDD.

Sugerencia

Realice una copia de seguridad de las entradas crontab antes de editarlas o quitarlas.

Para editar la pestaña crontab del usuario raíz y agregar un nuevo trabajo:

sudo crontab -e

Nota:

El editor predeterminado es VIM.

Es posible que vea lo siguiente:

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

And

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

Para obtener instrucciones sobre cómo crear un trabajo de examen antivirus programado, consulte Programación de exámenes con Microsoft Defender para punto de conexión (Linux).

Presione "Insertar"

Agregue las siguientes entradas. Use la CRON_TZ configuración para asegurarse de que los trabajos cron programados se ejecutan en la zona horaria prevista:

CRON_TZ=America/Los_Angeles

#! RHEL y variantes (CentOS y Oracle Linux)

0 6 * * sun [ $(date +\%d) -le 15 ] && sudo yum update mdatp -y >> ~/mdatp_cron_job.log

#! SLES y variantes

0 6 * * sun [ $(date +\%d) -le 15 ] && sudo zypper update mdatp >> ~/mdatp_cron_job.log

#! Sistemas Ubuntu y Debian

0 6 * * sun [ $(date +\%d) -le 15 ] && sudo apt-get install --only-upgrade mdatp >> ~/mdatp_cron_job.log

Nota:

En las entradas cron de RHEL, SLES, Ubuntu y Debian, 0 6 * * sun especifica 00 minutos, 6 a.m. (hora con el formato de 24 horas), cualquier día del mes, cualquier mes, los domingos. [$(date +\%d) -le 15] no se ejecuta a menos que sea igual o menor que el día 15 (tercera semana). La entrada cron completa significa que la tarea se ejecuta a las 6:00 todos los domingos, pero solo si el día del mes es el 15 o anterior.

Presione "Esc"

Escriba ":wq" sin las comillas dobles.

Nota:

w == escribir, q == salir

Para ver los trabajos cron, escriba sudo crontab -l

actualice Defender para punto de conexión en Linux.

Para comprobar que se han ejecutado trabajos cron relacionados con Defender, busque las entradas en el registro mdatp cron:

sudo grep mdatp /var/log/cron

Para abrir el archivo de registro y revisar la salida de las tareas de actualización de Defender programadas:

sudo nano mdatp_cron_job.log

Configuración de actualizaciones programadas con Ansible, Chef o Puppet

Use los siguientes comandos:

Para establecer trabajos cron en Ansible

Use el módulo cron de Ansible para administrar trabajos cron:

cron - Manage cron.d and crontab entries

Vea https://docs.ansible.com/ansible/latest para obtener más información.

Para establecer crontabs en Chef

Use el recurso cron de Chef para administrar trabajos cron:

cron resource

Vea https://docs.chef.io/resources/cron/ para obtener más información.

Para establecer trabajos cron en Puppet

Tipo de recurso: cron

Vea https://puppet.com/docs/puppet/5.5/types/cron.html para obtener más información.

Automatizar con Puppet: tareas de cron y tareas programadas

Vea https://puppet.com/blog/automating-puppet-cron-jobs-and-scheduled-tasks/ para obtener más información.

Comandos y ejemplos comunes de crontab

Los siguientes comandos cubren tareas comunes de crontab, como enumerar, realizar copias de seguridad, editar y quitar entradas cron.

Para obtener ayuda con crontab

Ejecute el siguiente comando para ver la página manual de crontab:

man crontab

Para obtener una lista del archivo crontab del usuario actual

Ejecute el siguiente comando para enumerar las entradas crontab del usuario actual:

crontab -l

Para obtener una lista del archivo crontab de otro usuario

Ejecute el siguiente comando para enumerar las entradas crontab de otro usuario:

crontab -u username -l

Para realizar una copia de seguridad de entradas de crontab

Use el siguiente comando para realizar una copia de seguridad de las entradas crontab actuales:

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

Sugerencia

Haga esto antes de editar o quitar.

Para restaurar entradas de crontab

Ejecute el siguiente comando para restaurar entradas crontab desde un archivo de copia de seguridad:

crontab /var/tmp/cron_backup.dat

Para editar la crontab y agregar un nuevo trabajo como usuario raíz

Use el siguiente comando para editar la tabla crontab del usuario raíz y agregar un nuevo trabajo:

sudo crontab -e

Para editar el crontab y agregar un nuevo trabajo

Ejecute el siguiente comando para editar la tabla crontab del usuario actual y agregar un nuevo trabajo:

crontab -e

Para editar las entradas de crontab de otro usuario

Ejecute el siguiente comando para editar las entradas crontab de otro usuario:

crontab -u username -e

Para quitar todas las entradas de crontab

Warning

Este comando quita todas las entradas crontab del usuario actual sin pedir confirmación. Realice primero una copia de seguridad de la tabla crontab con crontab -l > /var/tmp/cron_backup.dat si es posible que necesite restaurarla.

Use el siguiente comando para quitar todas las entradas crontab para el usuario actual:

crontab -r

Para quitar las entradas de crontab de otro usuario

Warning

Este comando quita permanentemente todas las entradas crontab para el usuario especificado sin pedir confirmación. Realice una copia de seguridad de crontab del usuario antes de ejecutar este comando.

Use el siguiente comando para quitar todas las tareas programadas para un usuario específico mediante la eliminación de las entradas crontab de ese usuario:

crontab -u username -r

Referencia de campo de expresión Cron

En el diagrama siguiente se explican los campos de una expresión cron:

+—————- minuto (valores: 0 - 59) (caracteres especiales: , - * /) 
| +————- hora (valores: 0 - 23) (caracteres especiales: , - * /)
| | +———- día del mes (valores: 1 - 31) (caracteres especiales: , - * / L W C)
| | | +——- mes (valores: 1 - 12) (caracteres especiales: ,- * / )
| | | | +—- día de la semana (valores: 0 - 6) (sunday=0 o 7) (caracteres especiales: , - * / L W C)
| | | | |*****command to be executed