Subsistem "audit" kernel Linux dapat melakukan apa yang Anda butuhkan.
mis. jika Anda menjalankan perintah ini:
auditctl -a exit,always -F arch=b64 -S execve
auditctl -a exit,always -F arch=b32 -S execve
Kemudian setiap peristiwa eksekusi dicatat, dan banyak informasi disediakan tentang itu
misal ini adalah output dari saya berjalan tail /var/log/audit/audit.log
exit=0 a0=7f0e4a21e987 a1=7f0e4a21e6b0 a2=7f0e4a21e808 a3=8 items=2 ppid=906 pid=928 auid=500 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=1 comm="tail" exe="/usr/bin/tail" subj=kernel key=(null)
type=EXECVE msg=audit(1543671660.203:64): argc=2 a0="tail" a1="/var/log/audit/audit.log"
type=CWD msg=audit(1543671660.203:64): cwd="/home/sweh"
type=PATH msg=audit(1543671660.203:64): item=0 name="/usr/bin/tail" inode=266003 dev=fd:03 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=unlabeled objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PATH msg=audit(1543671660.203:64): item=1 name="/lib64/ld-linux-x86-64.so.2" inode=273793 dev=fd:03 mode=0100755 ouid=0 ogid=0 rdev=00:00 obj=unlabeled objtype=NORMAL cap_fp=0000000000000000 cap_fi=0000000000000000 cap_fe=0 cap_fver=0
type=PROCTITLE msg=audit(1543671660.203:64): proctitle=7461696C002F7661722F6C6F672F61756469742F61756469742E6C6F67
Ada beberapa nilai menarik yang bisa dilihat; misalnya "auid" adalah 500, yang merupakan ID login saya, meskipun "uid" adalah nol (karena saya menjalankannya di bawah su
). Jadi meskipun pengguna mungkin telah beralih akun su
atau sudo
kami masih dapat melacak kembali ke "ID audit" mereka
Sekarang auditctl
perintah itu akan hilang pada saat reboot. Anda dapat meletakkannya di file konfigurasi (mis. Dalam /etc/audit/rules.d/
direktori, pada CentOS 7). Lokasi yang tepat akan tergantung pada versi OS Anda. The auditctl
halaman pengguna harus membantu di sini.
Hati-hati, meskipun ... ini akan menyebabkan banyak pesan log dihasilkan. Pastikan Anda memiliki cukup ruang pada disk!
Jika perlu aturan dapat dibatasi untuk pengguna tertentu, atau perintah tertentu.
Dan waspadalah juga; jika pengguna memasukkan kata sandi dalam eksekusi perintah (mis. mysql --user=username --password=passwd
) maka ini akan dicatat.
auditd
merekam argumen baris perintah serta program yang dijalankan? serverfault.com/questions/765179/…