Auditd est un outil qui permet de logger des événements intervenu sur l'OS.
Ensemble de variable qui permettent de configurer le daemon auditd.
Se trouve dans /etc/audit/auditd.conf
.
Régles qui seront chargées au démarrage du daemon auditd.
Se trouve dans /etc/audit/audit.rules
.
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 -s
$ auditctl -l
$ auditctl -R /etc/audit/audit.rules
$ auditctl -D
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
/etc/passwd
:
$ auditctl -a exit,always -F path=/etc/passwd -F perm=wa
/etc
:
$ auditctl -w /etc
Permet de rechercher dans les logs d'auditd.
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
33
et crée un rapport sur les fichiers qu'il a ouvert :
$ ausearch --start today --loginuid 33 --raw | aureport -f --summary
$ 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
$ 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'
Affiche des rapports.
$ 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
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
Une sorte d'équivalent à strace :
$ autrace /bin/ls /tmp
Similaire à la commande lastlog
mais utilise auditd.
Similaire à la commande last
mais utilise auditd.