Anda harus mengonfigurasi auditd
untuk merekam execve
acara. Contoh pada RHEL5:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve
WARNING - 32/64 bit syscall mismatch, you should specify an arch
[root@ditirlns01 ~]#
Saya mengabaikan peringatan lengkung dan sepertinya tidak masalah tetapi Anda dapat menggunakan -F arch=b64
atau -F arch=b32
mengaturnya jika Anda mau.
Hasil di atas adalah:
[root@ditirlns01 ~]# ls /tmp/whatever
ls: /tmp/whatever: No such file or directory
[root@ditirlns01 ~]# grep whatever /var/log/audit/audit.log
type=EXECVE msg=audit(1386797915.232:5527206): argc=3 a0="ls" a1="--color=tty" a2="/tmp/whatever"
type=EXECVE msg=audit(1386797927.133:5527241): argc=3 a0="grep" a1="whatever" a2="/var/log/audit/audit.log"
[root@ditirlns01 ~]#
Itu jelas cepat dan kotor tetapi itulah dasar bagaimana Anda melakukannya. Apa yang perlu Anda lakukan mungkin sangat bergantung pada apa yang Anda coba lakukan dengan tepat. Anda dapat mengurangi aliran audit menggunakan berbagai filter dalam auditctl
perintah tetapi saya tidak tahu informasi itu sehingga saya tidak tahu apa yang harus dimasukkan. Jika Anda memerlukan sesuatu yang lebih spesifik, saya sarankan Anda memeriksa halaman manual atau mengirim komentar untuk jawaban ini dan saya akan memperbaruinya lagi.
Harapan yang membantu mendorong Anda ke arah yang benar.
EDIT:
Karena pertanyaan Anda melibatkan melihat pengguna tertentu, saya dapat menunjukkan kepada Anda bahwa:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve -F euid=16777216
WARNING - 32/64 bit syscall mismatch, you should specify an arch
Identik dengan yang di atas, tetapi hanya execve
oleh seseorang yang menjalankan dengan ID pengguna efektif yang 16777216
akan dicatat. Jika Anda perlu menentukan nilai pengguna loginuid
(yang awalnya mereka login ke sistem) maka Anda memfilter dengan auid
:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve -F auid=16777216
WARNING - 32/64 bit syscall mismatch, you should specify an arch
Filter AUID / loginuid akan berguna misalnya jika pengguna akan melakukan su
atau sudo
melakukan root. Dalam situasi itu akan ada banyak hal berjalan sebagai root, tetapi Anda hanya peduli dengan hal-hal yang ditendang oleh pengguna yang bersangkutan. auditctl
juga memungkinkan Anda menumpuk filter sehingga Anda dapat memfilter dengan keduanya euid
dan auid
:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve -F auid=16777216 -F euid=0
WARNING - 32/64 bit syscall mismatch, you should specify an arch
[root@ditirlns01 ~]# ls /tmp/nashly -ltar
ls: /tmp/nashly: No such file or directory
[root@ditirlns01 ~]# grep nashly /var/log/audit/audit.log
type=EXECVE msg=audit(1386798635.199:5529285): argc=4 a0="ls" a1="--color=tty" a2="/tmp/nashly" a3="-ltar"
type=EXECVE msg=audit(1386798646.048:5529286): argc=3 a0="grep" a1="nashly" a2="/var/log/audit/audit.log"