Di Linux ada RPM audit bernama audit, yang menyediakan layanan auditd untuk memantau proses dan perintah juga. Menggunakan audit RPM kita dapat mengaudit beberapa operasi file sederhana seperti membaca, menulis dan eksekusi. Posting ini akan memperkenalkan metode untuk memantau akses file pada sistem Linux. Seperti “Kapan file dibaca/dimodifikasi?”, “Siapa yang mengedit file tertentu?”.
1. jalankan layanan auditd terlebih dahulu jika tidak berjalan.
# service auditd start ### CentOS/RHEL 6 # systemctl start auditd ### CentOS/RHEL 7
2. gunakan auditctl perintah untuk menentukan file mana yang ingin Anda pantau:
# auditctl -w /etc/hosts -p war -k hostswrap
-w :tentukan file yang ingin Anda audit/tonton.
-p :operasi/izin mana yang ingin Anda audit/tonton, r untuk membaca, w untuk menulis, x untuk mengeksekusi, a untuk menambahkan.
-k :tentukan kata kunci untuk aturan audit ini, saat mencari log audit, Anda dapat mencari dengan kata kunci ini
3. Harap dicatat bahwa perubahan yang dilakukan pada sistem audit yang sedang berjalan dengan menjalankan auditctl pada baris perintah tidak terus-menerus saat sistem dihidupkan ulang. Agar perubahan tetap ada, tambahkan ke /etc/audit/audit.rules file dan, jika saat ini tidak dimuat ke audit, mulai ulang layanan auditd untuk memuat kumpulan aturan yang dimodifikasi.
# vi /etc/audit.rules -w /etc/hosts -p war -k hostswrap
# service auditd restart ### CentOS/RHEL 6 # systemctl restart auditd ### CentOS/RHEL 7
4. Untuk membuat daftar aturan audit saat ini dalam layanan auditd, gunakan opsi “l”.
# auditctl -l No rules AUDIT_WATCH_LIST: dev=8:5, path=/etc/hosts, filterkey=hostswrap, perms=rwa, valid=0
5. periksa log audit untuk akses ke file /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 .....
Log menunjukkan waktu operasi, proses/perintah untuk membaca/menulis file, uid, dll.