{{tag>Brouillon Audit Sécurité Syscall}} = 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