Planifier les mises à jour du renseignement de sécurité pour Microsoft Defender for Endpoint sur Linux

Pour exécuter une mise à jour sur Microsoft Defender pour point de terminaison sur Linux, consultez Déployer des mises à jour pour Microsoft Defender pour point de terminaison sur Linux.

Linux et Unix disposent d’un outil appelé crontab (similaire au planificateur de tâches) pour pouvoir exécuter des tâches planifiées.

Prerequisites

Remarque

Pour obtenir la liste de tous les fuseaux horaires, exécutez la commande suivante : timedatectl list-timezones

Exemples de fuseaux horaires :

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

Configurer la tâche cron

Utilisez les commandes suivantes :

Sauvegarder les entrées crontab

Utilisez la commande suivante pour sauvegarder les entrées crontab actuelles avant d’apporter des modifications :

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

Remarque

Dans notre exemple, 201118 == YYMMDD.

Conseil

Sauvegardez vos entrées crontab avant de les modifier ou de les supprimer.

Pour modifier le crontab de l’utilisateur racine et ajouter un nouveau travail :

sudo crontab -e

Remarque

L’éditeur par défaut est VIM.

Vous pouvez voir :

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

Et

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

Pour obtenir des instructions sur la création d’un travail d’analyse antivirus planifiée, consultez Planification des analyses avec Microsoft Defender for Endpoint (Linux).

Appuyez sur « Insérer »

Ajoutez les entrées suivantes. Utilisez le CRON_TZ paramètre pour vous assurer que les travaux cron planifiés s’exécutent dans le fuseau horaire prévu :

CRON_TZ=America/Los_Angeles

#! RHEL et variantes (CentOS et Oracle Linux)

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

#! SLES et variantes

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

#! Systèmes Ubuntu et Debian

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

Remarque

Dans les entrées Cron RHEL, SLES, Ubuntu et Debian, 0 6 * * sun spécifie 00 minutes, 6 h (heure au format 24 heures), tous les jours du mois, tous les mois, les dimanches. [$(date +\%d) -le 15] ne s’exécute pas, sauf s’il est inférieur ou égal au 15e jour (troisième semaine). L’entrée cron complète signifie que la tâche s’exécute à 6 h chaque dimanche, mais seulement si le jour du mois est le 15 ou avant.

Appuyez sur « Échap »

Tapez «:wq» sans les guillemets doubles.

Remarque

w == écrire, q == quitter

Pour afficher vos travaux cron, tapez sudo crontab -l

mettre à jour Defender pour point de terminaison sur Linux.

Pour vérifier que les travaux cron liés à Defender sont exécutés, recherchez dans le journal cron les mdatp entrées :

sudo grep mdatp /var/log/cron

Pour ouvrir le fichier journal et consulter les résultats des tâches planifiées de mise à jour de Defender :

sudo nano mdatp_cron_job.log

Configurer des mises à jour planifiées avec Ansible, Chef ou Puppet

Utilisez les commandes suivantes :

Pour définir des travaux cron dans Ansible

Utilisez le module cron d’Ansible pour gérer les travaux cron :

cron - Manage cron.d and crontab entries

Si vous souhaitez plus d’informations, consultez https://docs.ansible.com/ansible/latest.

Pour définir crontabs dans Chef

Utilisez la ressource cron de Chef pour gérer les travaux cron :

cron resource

Si vous souhaitez plus d’informations, consultez https://docs.chef.io/resources/cron/.

Pour définir des travaux cron dans Puppet

Type de ressource : cron

Si vous souhaitez plus d’informations, consultez https://puppet.com/docs/puppet/5.5/types/cron.html.

Automatisation avec Puppet : tâches cron et tâches planifiées

Si vous souhaitez plus d’informations, consultez https://puppet.com/blog/automating-puppet-cron-jobs-and-scheduled-tasks/.

Commandes et exemples crontab courants

Les commandes suivantes couvrent les tâches crontab courantes telles que la liste, la sauvegarde, la modification et la suppression d’entrées cron.

Pour obtenir de l’aide avec crontab

Exécutez la commande suivante pour afficher la page manuelle crontab :

man crontab

Pour obtenir la liste du fichier crontab de l’utilisateur actuel

Exécutez la commande suivante pour répertorier les entrées crontab de l’utilisateur actuel :

crontab -l

Pour obtenir la liste du fichier crontab d’un autre utilisateur

Exécutez la commande suivante pour répertorier les entrées crontab d’un autre utilisateur :

crontab -u username -l

Pour sauvegarder les entrées crontab

Utilisez la commande suivante pour sauvegarder les entrées crontab actuelles :

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

Conseil

Effectuez cette opération avant de modifier ou de supprimer.

Pour restaurer les entrées crontab

Exécutez la commande suivante pour restaurer les entrées crontab à partir d’un fichier de sauvegarde :

crontab /var/tmp/cron_backup.dat

Pour modifier le crontab et ajouter un nouveau travail en tant qu’utilisateur racine

Utilisez la commande suivante pour modifier le crontab de l’utilisateur racine et ajouter un nouveau travail :

sudo crontab -e

Pour modifier le crontab et ajouter un nouveau travail

Exécutez la commande suivante pour modifier le crontab de l’utilisateur actuel et ajouter un nouveau travail :

crontab -e

Pour modifier les entrées crontab d’un autre utilisateur

Exécutez la commande suivante pour modifier les entrées crontab d’un autre utilisateur :

crontab -u username -e

Pour supprimer toutes les entrées crontab

Warning

Cette commande supprime toutes les entrées crontab pour l’utilisateur actuel sans demander de confirmation. Sauvegardez d’abord votre crontab avec crontab -l > /var/tmp/cron_backup.dat si vous avez besoin de la restaurer.

Utilisez la commande suivante pour supprimer toutes les entrées crontab pour l’utilisateur actuel :

crontab -r

Pour supprimer les entrées crontab d’autres utilisateurs

Warning

Cette commande supprime définitivement toutes les entrées crontab pour l’utilisateur spécifié sans demander de confirmation. Sauvegardez le crontab de l’utilisateur avant d’exécuter cette commande.

Utilisez la commande suivante pour supprimer toutes les tâches planifiées pour un utilisateur spécifique en supprimant les entrées crontab de cet utilisateur :

crontab -u username -r

Référence de champ d’expression Cron

Le diagramme suivant explique les champs d’une expression cron :

+—————- minute (valeurs : 0 - 59) (caractères spéciaux : , - * /) 
| +————- heure (valeurs : 0 - 23) (caractères spéciaux : , - * /)
| | +———- jour du mois (valeurs : 1 - 31) (caractères spéciaux : , - * / L W C)
| | | +——- mois (valeurs : 1 - 12) (caractères spéciaux : ,- * / )
| | | | +—- jour de la semaine (valeurs : 0 - 6) (dimanche =0 ou 7) (caractères spéciaux : , - * / L W C)
| | | | |*****command to be executed