====== Auditd ====== ====== Description ====== Auditd est un outil qui permet de logger des événements intervenu sur l'OS. ====== Configuration ====== ===== auditd.conf ===== Ensemble de variable qui permettent de configurer le daemon auditd. Se trouve dans ''/etc/audit/auditd.conf''. ===== audit.rules ===== Régles qui seront chargées au démarrage du daemon auditd. Se trouve dans ''/etc/audit/audit.rules''. ====== Commandes ====== ===== ausyscall ===== Map un syscall en id ou un id en numéro de syscall : $ ausyscall --exact x86_64 open 2 $ ausyscall i386 2 fork $ ausyscall x86_64 2 open ===== auditctl ===== * Voir si auditd est enabled (status) : $ auditctl -s * Lister les règles chargées : $ auditctl -l * Recharger les régles à partir d'un fichier : $ auditctl -R /etc/audit/audit.rules * Supprimer l'ensemble des régles : $ auditctl -D * Log les syscall ''open'' pour l'utilisateur qui a l'id ''1000'' (on précise qu'on est sur du 64 bits car les sycall peuvent être différents) et aoute la clé gigix-open (utile pour filtrer dans les logs) : $ auditctl -a exit,always -F arch=x86_64 -S open -F auid=1000 -k gigix-open * Log les écritures (w = write / a = append / x = execution / r = read) pour le fichier ''/etc/passwd'' : $ auditctl -a exit,always -F path=/etc/passwd -F perm=wa * Log tout pour le répertoire ''/etc'' : $ auditctl -w /etc ===== ausearch ===== Permet de rechercher dans les logs d'auditd. * Cherche tout ce qui a été exécuté par le binaire ''cat'' dans la journée et donc la clé est ''gigix-open'' : $ ausearch -i -ts today -x cat -k gigix-open ---- type=PROCTITLE msg=audit(18/08/2015 12:05:30.715:144502) : proctitle=cat type=PATH msg=audit(18/08/2015 12:05:30.715:144502) : item=0 name=/etc/passwd inode=131360 dev=08:01 mode=file,644 ouid=root ogid=root rdev=00:00 nametype=NORMAL type=CWD msg=audit(18/08/2015 12:05:30.715:144502) : cwd=/etc/apparmor.d type=SYSCALL msg=audit(18/08/2015 12:05:30.715:144502) : arch=x86_64 syscall=open success=yes exit=3 a0=0x7ffe6bf27e40 a1=O_RDONLY a2=0x20000 a3=0x7ffe6bf26dc0 items=1 ppid=8792 pid=11211 auid=root uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=pts2 ses=2496 comm=cat exe=/bin/cat key=gigix-open * Recherche dans la journée courante tout ce qui est en rapport avec l'uid ''33'' et crée un rapport sur les fichiers qu'il a ouvert : $ ausearch --start today --loginuid 33 --raw | aureport -f --summary * log des login : $ ausearch -m LOGIN --start today -i -ts recent ---- type=LOGIN msg=audit(18/08/2015 13:09:01.324:145008) : pid=13252 uid=root old-auid=4294967295 auid=root old-ses=4294967295 ses=2528 res=yes ---- type=LOGIN msg=audit(18/08/2015 13:10:01.979:145016) : pid=13284 uid=root old-auid=4294967295 auid=root old-ses=4294967295 ses=2529 res=yes * Rechercher un id auditd: $ ausearch -a 95581 ---- time->Thu Aug 13 23:09:01 2015 type=USER_END msg=audit(1439500141.278:95581): pid=1245 uid=0 auid=0 ses=768 msg='op=PAM:session_close acct="root" exe="/usr/sbin/cron" hostname=? addr=? terminal=cron res=success' ===== aureport ===== Affiche des rapports. * Affiche les authentification en échec de la journée : $ aureport --auth --failed -ts today Authentication Report ============================================ # date time acct host term exe success event ============================================ 1. 18/08/2015 00:09:55 ? ? ? /usr/sbin/saslauthd no 141386 2. 18/08/2015 00:09:55 ? ? ? /usr/sbin/saslauthd no 141387 3. 18/08/2015 00:09:56 ? ? ? /usr/sbin/saslauthd no 141388 4. 18/08/2015 00:09:56 ? ? ? /usr/sbin/saslauthd no 141389 5. 18/08/2015 00:09:56 ? ? ? /usr/sbin/saslauthd no 141390 6. 18/08/2015 00:09:56 ? ? ? /usr/sbin/saslauthd no 141391 7. 18/08/2015 00:09:56 ? ? ? /usr/sbin/saslauthd no 141392 8. 18/08/2015 00:09:57 ? ? ? /usr/sbin/saslauthd no 141393 9. 18/08/2015 00:09:57 ? ? ? /usr/sbin/saslauthd no 141394 10. 18/08/2015 00:10:16 shell pepsite.fr ssh /usr/sbin/sshd no 141407 11. 18/08/2015 00:23:52 linux pepsite.fr ssh /usr/sbin/sshd no 141452 12. 18/08/2015 00:37:26 unix pepsite.fr ssh /usr/sbin/sshd no 141503 13. 18/08/2015 00:46:06 data 123.151.22.194 ssh /usr/sbin/sshd no 141542 14. 18/08/2015 01:44:51 www-data 123.151.22.194 ssh /usr/sbin/sshd no 141735 15. 18/08/2015 02:44:10 http 123.151.22.194 ssh /usr/sbin/sshd no 141929 16. 18/08/2015 02:49:05 admin 93.99.96.49 ssh /usr/sbin/sshd no 141946 17. 18/08/2015 03:46:50 httpd 123.151.22.194 ssh /usr/sbin/sshd no 142448 18. 18/08/2015 04:48:28 nobody 123.151.22.194 ssh /usr/sbin/sshd no 142760 19. 18/08/2015 09:24:06 root 138.0.255.113 ssh /usr/sbin/sshd no 143767 20. 18/08/2015 09:29:22 admin 46.72.171.170 ssh /usr/sbin/sshd no 143783 * Affiche les événement en échec de la journée root@ns325358:~# aureport -i -e --failed -ts today Event Report =================================== # date time event type auid success =================================== 1. 18/08/2015 00:09:55 141386 USER_AUTH unset no 2. 18/08/2015 00:09:55 141387 USER_AUTH unset no 3. 18/08/2015 00:09:56 141388 USER_AUTH unset no 4. 18/08/2015 00:09:56 141389 USER_AUTH unset no 5. 18/08/2015 00:09:56 141390 USER_AUTH unset no 6. 18/08/2015 00:09:56 141391 USER_AUTH unset no 7. 18/08/2015 00:09:56 141392 USER_AUTH unset no 8. 18/08/2015 00:09:57 141393 USER_AUTH unset no 9. 18/08/2015 00:09:57 141394 USER_AUTH unset no 10. 18/08/2015 00:10:16 141407 USER_AUTH unset no 11. 18/08/2015 00:23:52 141452 USER_AUTH unset no 12. 18/08/2015 00:37:26 141503 USER_AUTH unset no 13. 18/08/2015 00:46:06 141542 USER_AUTH unset no 14. 18/08/2015 01:44:51 141735 USER_AUTH unset no 15. 18/08/2015 02:44:10 141929 USER_AUTH unset no 16. 18/08/2015 02:49:05 141946 USER_AUTH unset no 17. 18/08/2015 03:46:50 142448 USER_AUTH unset no 18. 18/08/2015 04:48:28 142760 USER_AUTH unset no 19. 18/08/2015 09:24:06 143767 USER_AUTH unset no 20. 18/08/2015 09:29:22 143783 USER_AUTH unset no 21. 18/08/2015 12:05:28 144429 SYSCALL root no 22. 18/08/2015 12:05:28 144430 SYSCALL root no 23. 18/08/2015 12:05:28 144431 SYSCALL root no 24. 18/08/2015 12:05:28 144432 SYSCALL root no * Voir les fichiers de log générés et les dates associées : $ aureport -t Log Time Range Report ===================== /var/log/audit/audit.log.4: 13/08/2015 22:50:14.976 - 13/08/2015 23:04:25.972 /var/log/audit/audit.log.3: 13/08/2015 23:04:26.004 - 13/08/2015 23:37:11.445 /var/log/audit/audit.log.2: 13/08/2015 23:37:50.420 - 14/08/2015 19:58:25.190 /var/log/audit/audit.log.1: 14/08/2015 19:58:28.666 - 16/08/2015 13:18:13.688 /var/log/audit/audit.log: 16/08/2015 13:18:28.396 - 18/08/2015 13:07:08.766 ===== autrace ===== Une sorte d'équivalent à **strace** : $ autrace /bin/ls /tmp ===== aulastlog ===== Similaire à la commande ''lastlog'' mais utilise auditd. ===== aulast ===== Similaire à la commande ''last'' mais utilise auditd.