GNU/Linux >> Tutoriels Linux >  >> Linux

Règles d'audit pour la surveillance Copier, déplacer, supprimer et tuer les commandes sous Linux

Audit système avec auditd

L'audit du système est une tâche très importante qui devrait faire partie de chaque serveur. Cela nous permet de vérifier les moindres détails liés à ce qui se passe exactement dans le système. auditd est un composant de l'espace utilisateur du système d'audit Linux. Cela signifie que les utilisateurs du système pourront exécuter auditd pour configurer des règles et des alertes pour la fonctionnalité d'audit avec le système Linux.

L'une des meilleures choses à propos d'auditd est qu'il est étroitement intégré au noyau, il nous donne donc le pouvoir de surveiller presque tout ce que nous voulons, vraiment. Afin de permettre aux utilisateurs de voir ce qui se passe, auditd peut enregistrer tous les événements liés à l'audit sur un disque et nous pouvons utiliser divers outils tels que ausearch ou aureport pour parcourir les fichiers journaux.

Par défaut, aucune règle n'est configurée. Nous devons écrire nos règles dans le fichier /etc/audit/audit.rules fichier de configuration qui sera lu et les actions d'audit correspondantes seront appliquées.

Installer Auditd

Maintenant que nous comprenons un peu ce qu'est auditd, continuons et travaillons avec auditd avec le cas d'utilisation précédent :

1. Installez les packages auditd. Les packages auditd font partie des systèmes CentOS 7 d'installation par défaut. Nous pouvons le vérifier avec la commande suivante :

# rpm -qa | grep audit
audit-libs-2.6.5-3.el7_3.1.x86_64
audit-2.6.5-3.el7_3.1.x86_64
audit-libs-python-2.6.5-3.el7_3.1.x86_64

2. Si le package ne fait pas partie de notre système, nous pouvons continuer et l'installer :

# yum install audit

3. Assurez-vous que le démon d'audit est en cours d'exécution. Nous allons utiliser la commande suivante :

# systemctl status auditd
 auditd.service - Security Auditing Service
    Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled;
 vendor preset: enabled)
    Active: active (running) since Wed 2018-10-24 04:33:48 UTC; 4min
 21s ago
    Docs: man:auditd(8)
          https://people.redhat.com/sgrubb/audit/
    Process: 425 ExecStartPost=/sbin/augenrules --load (code=exited,
  status=0/SUCCESS)
 Main PID: 424 (auditd)
     CGroup: /system.slice/auditd.service
            └─424 /sbin/auditd -n

Puisque nous avons un démon d'audit opérationnel, voyons comment nous pouvons utiliser auditd pour réaliser les 4 cas d'utilisation.

Règles d'audit pour copier, déplacer, supprimer et tuer les commandes

1. Effectuez une sauvegarde du fichier de configuration existant (règles auditées) :

# cp /etc/audit/audit.rules /etc/audit/audit.rules.bkp

2. Modifiez le fichier /etc/audit/audit.rules et ajoutez les règles suivantes pour le rendre persistant :

# vi /etc/audit/audit.rules
# Audit Copy, Move, Delete & Create file commands
-a exit,always -F arch=b64 -S execve -F path=/bin/cp -k Copy
-a exit,always -F arch=b64 -S execve -F path=/bin/mv -k Move_Rename
-a exit,always -F arch=b64 -S execve -F path=/bin/rm -k Delete
-a exit,always -F arch=b64 -S execve -F path=/bin/vi -k Create_Edit_View_File

# Audit shutdown & Reboot command
-a exit,always -F arch=b64 -S execve -F path=/sbin/reboot -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/init -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/poweroff -k Reboot
-a exit,always -F arch=b64 -S execve -F path=/sbin/shutdown -k Reboot

# Audit mount unmount commands
-a exit,always -F arch=b64 -S execve -F path=/bin/mount -k mount_device
-a exit,always -F arch=b64 -S execve -F path=/bin/umount -k unmount_device

# Kill Process
-a exit,always -F arch=b64 -S kill -k Kill_Process

3. Redémarrez le service auditd pour appliquer les modifications.

# service auditd restart

4. Répertoriez les règles ajoutées pour vérifier qu'elles sont correctes :

# auditctl -l
Remarque :bash (et de nombreux autres shells) a une commande "kill" intégrée qui n'exécute pas réellement /usr/bin/kill. Donc, si la commande intégrée est exécutée à la place, comm=bash est correct. Il n'y a aucun moyen de forcer le système à utiliser le programme externe /usr/bin/kill. comm=tuer ne se produira pas dans tous les cas, car les shells peuvent appeler l'appel système directement sans exécuter le programme externe nommé "kill"


Linux
  1. Comment ajouter une barre de progression pour copier et déplacer des commandes sous Linux ?

  2. Commandes de gestion de fichiers Linux pour créer, copier, déplacer et supprimer des fichiers

  3. Linux Supprimer des fichiers et des répertoires

  4. Comment installer et configurer Monit sur Linux pour la surveillance des processus

  5. Comment copier/déplacer des fichiers et des répertoires sous Linux avec les commandes "cp" et "mv"

Copie avancée - Ajouter une barre de progression aux commandes cp et mv sous Linux

50 règles IPtables utiles et simples pour l'administrateur Linux

50 commandes dmidecode simples et utiles pour Linux

Les 40 commandes de serveur Linux utiles pour les débutants et les professionnels

40 commandes git utiles pour les administrateurs et les développeurs Linux

17 meilleures commandes de mise en réseau et de dépannage Linux pour les débutants