Audit modification droits systeme de fichier avec auditd

Voir :

Notes auditd

https://access.redhat.com/solutions/10107

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security_guide/sec-searching_the_audit_log_files

https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMFHS-093/Journalisez-les-actions-de-vos-utilisateurs-avec-Auditd

https://gist.github.com/Neo23x0/9fe88c0c5979e017a389b90fd19ddfee

https://www.tecmint.com/query-audit-logs-using-ausearch-tool-on-centos-rhel/

https://www.linux.com/learn/customized-file-monitoring-auditd%20

https://www.digitalocean.com/community/tutorials/how-to-use-the-linux-auditing-system-on-centos-7

https://www.server-world.info/en/note?os=CentOS_7&p=audit&f=3

systemctl status auditd

https://www.dsfc.net/logiciel-libre/linux/centos-linux-logiciel-libre/configurer-auditd-sur-centos-7/

Par défaut, vous ne pourrez pas arrêter ce service lorsqu’il s’exécute. Il y a donc lieu d’éditer le fichier de lancement du service /lib/systemd/system/auditd.service et de modifier la directive RefuseManualStop en la passant à no :

/lib/systemd/system/auditd.service

RefuseManualStop=no

Une fois le fichier modifié, pour le redémarrer, faites :

systemctl daemon-reload systemctl restart auditd

Ajout de règles

Sur CentOS 7, les règles doivent être ajoutées au fichier /etc/audit/rules.d/audit.rules.

/etc/audit/rules.d/audit.rules

#Surveillance du fichier /etc/ssh/sshd_config
-w /etc/ssh/sshd_config -p w -k ssh_configuration_change
#Audit de l'exécution des Commandes 32 et 64 bits
-a exit,always -F arch=b64 -S execve -k root_command_executing
-a exit,always -F arch=b32 -S execve -k root_command_executing
#Audit sur l'exécution de la commande passwd
-w /bin/passwd -p x -k passwd_command_execution

Après redémarrage du service, vous pouvez lister les règles actives en tapant :

auditctl -l

Recherche des événements

Pour trouver les lignes du fichier /var/log/audit/audit.log qui se réfèrent à la ligne concernant la modification de la configuration du fichier /etc/ssh/sshd_config, tapez à partir de l’invite de commandes :

ausearch -f /etc/ssh/sshd_config -i

Vous pouvez aussi disposer du nombre d’occurrences pour chacun des audits effectués sur les fichiers par le démon :

aureport -f -i --summary
ausearch --start 01/12/20 -m user_end --raw | aureport -x --summary

Autres

aureport --start today --event --summary -i

Règle non persistante

Règle non persistante reboot, redémarrage service

auditctl -w /etc/hosts -p warx -k monitor-hosts

Afficher les règles

auditctl -l
ausearch -ts today -k monitor-hosts

Rapport clair

aureport -k

Effacer les règles sauvegardées

systemctl restart auditd

Règle persistante

# First rule - delete all
-D
# Increase the buffers to survive stress events.
# Make this bigger for busy systems
#-b 320
-b 8192
## Set failure mode to panic
-f 2
# Feel free to add below this line. See auditctl man page
-w /tmp/plop1 -p wrxa -k monitor-plop1

Voici un exemple de configuration auditd qui cherche à enregistrer des actions pouvantêtre dignes d’intérêt (source : https://www.ssi.gouv.fr/uploads/2016/01/linux_configuration-fr-v1.2.pdf)

/etc/audit/audit.rules

# Exécution de insmod , rmmod et modprobe
-w /sbin/insmod -p x
-w /sbin/modprobe -p x
-w /sbin/rmmod -p x
# Journaliser les modifications dans /etc/
-w /etc/ -p wa
# Surveillance de montage/démontage
-a exit ,always -S mount -S umount2
# Appels de syscalls x86 suspects
-a exit ,always -S ioperm -S modify_ldt
# Appels de syscalls qui doivent être rares et surveillés de près
-a exit ,always -S get_kernel_syms -S ptrace
-a exit ,always -S prctl
# Rajout du monitoring pour la création ou suppression de fichiers
# Ces règles peuvent avoir des conséquences importantes sur les
# performances du système
-a exit ,always -F arch=b64 -S unlink -S rmdir -S rename
-a exit ,always -F arch=b64 -S creat -S open -S openat -F exit=-EACCESS
-a exit ,always -F arch=b64 -S truncate -S ftruncate -F exit=-EACCESS
# Verrouillage de la configuration de auditd
-e 2

systemctl restart auditd

Pb

Invalid start date

# LANG=C aureport -ts 12-01-2020 10:58:00 -te 12-01-2020 10:59:00 -e -i
Invalid start date (12-01-2020). Month, Day, and Year are required.
# aureport -au |head
Authentication Report
============================================
# date time acct host term exe success event
============================================
1. 22/11/20 09:00:09 ftpng 127.0.0.1 /dev/ftpd17909 /usr/sbin/proftpd no 13931
2. 22/11/20 23:27:41 user1 10.1.5.33 ssh /usr/sbin/sshd yes 27355
3. 23/11/20 09:00:31 ftpng 127.0.0.1 /dev/ftpd10919 /usr/sbin/proftpd no 1425
4. 23/11/20 09:03:48 user1 10.1.5.25 ssh /usr/sbin/sshd yes 1723
5. 23/11/20 09:03:52 user1 10.1.5.24 ssh /usr/sbin/sshd yes 1734
# aureport -ts 01/12/20 10:58:00 -te 01/12/20 10:59:00 -e -i

Failed to restart auditd.service: Operation refused, unit auditd.service may be requested by dependency only.

Voir : https://bugzilla.redhat.com/show_bug.cgi?id=1026648

RedHat 7 & 8

# systemctl restart auditd Failed to restart auditd.service: Operation refused, unit auditd.service may be requested by dependency only.

Solution

service auditd stop systemctl start auditd

Autres

Status

auditctl -s