V Linuxu existuje audit RPM s názvem audit, který poskytuje auditovanou službu pro monitorování procesů a také příkazů. Pomocí auditu RPM můžeme auditovat některé jednoduché operace se soubory, jako je čtení, zápis a provádění. Tento příspěvek představí metodu monitorování přístupu k souborům v systému Linux. Například „Kdy byl soubor přečten/změněn?“, „Kdo upravuje konkrétní soubor?“.
1. Nejprve spusťte auditovanou službu, pokud není spuštěna.
# service auditd start ### CentOS/RHEL 6 # systemctl start auditd ### CentOS/RHEL 7
2. použijte auditctl příkaz k určení, které soubory chcete monitorovat:
# auditctl -w /etc/hosts -p war -k hostswrap
-w :zadejte soubor, který chcete auditovat/sledovat.
-p :kterou operaci/oprávnění chcete auditovat/sledovat, r pro čtení, w pro zápis, x pro provádění, a pro připojení.
-k :zadejte klíčové slovo pro toto pravidlo auditu, při prohledávání protokolu auditu můžete vyhledávat podle tohoto klíčového slova
3. Vezměte prosím na vědomí, že změny provedené v běžícím systému auditu provedením auditctl na příkazovém řádku nejsou trvalé po restartování systému. Aby byly změny trvalé, přidejte je do /etc/audit/audit.rules a pokud nejsou aktuálně načteny do auditu, restartujte auditovanou službu, aby se načetla upravená sada pravidel.
# vi /etc/audit.rules -w /etc/hosts -p war -k hostswrap
# service auditd restart ### CentOS/RHEL 6 # systemctl restart auditd ### CentOS/RHEL 7
4. Chcete-li vypsat aktuální pravidla auditu v auditované službě, použijte volbu „l“.
# auditctl -l No rules AUDIT_WATCH_LIST: dev=8:5, path=/etc/hosts, filterkey=hostswrap, perms=rwa, valid=0
5. zkontrolujte protokol auditu pro případný přístup k souboru /etc/hosts.
# ausearch -f /etc/hosts -i | less type=FS_WATCH msg=audit(05/28/18 11:21:27.216:10) : watch_inode=4313009 watch=hosts filterkey=hostswrap perm=read,write,append perm_mask=read type=SYSCALL msg=audit(05/28/18 11:21:46.251:19) : arch=i386 syscall=open success=yes exit=5 a0=c679b5 a1=0 a2=1b6 a3=0 items=1 pid=16056 aui d=unset uid=oracle gid=dba euid=oracle suid=oracle fsuid=oracle egid=dba sgid=dba fsgid=dba comm=ons exe=/home/oracle/oracle/product/10.2.0/c rs_1/opmn/bin/ons ---- type=PATH msg=audit(05/28/18 11:21:38.697:11) : name=/etc/hosts flags=follow,access inode=4313009 dev=08:05 mode=file,644 ouid=root ogid=root rdev=00:00 type=CWD msg=audit(05/28/18 11:21:38.697:11) : cwd=/newspace/TAR/May type=FS_INODE msg=audit(05/28/18 11:21:38.697:11) : inode=4313009 inode_uid=root inode_gid=root inode_dev=08:05 inode_rdev=00:00 type=FS_WATCH msg=audit(05/28/18 11:21:38.697:11) : watch_inode=4313009 watch=hosts filterkey=hostswrap perm=read,write,append perm_mask=writ e .....
Protokol zobrazuje čas operace, zpracovaný/příkaz ke čtení/zápisu souboru, uid atd.