Olayları auditd
kaydetmek için yapılandırmanız gerekir execve
. RHEL5 ile ilgili örnek:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve
WARNING - 32/64 bit syscall mismatch, you should specify an arch
[root@ditirlns01 ~]#
Kemer uyarısını görmezden geliyorum ve önemli değil ama isterseniz -F arch=b64
ya -F arch=b32
da ayarlamak için kullanabilirsiniz .
Yukarıdakilerin sonucu:
[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 ~]#
Açıkçası hızlı ve kirli ama bunu yapmanın temelleri bu. Tam olarak yapmanız gereken şey büyük olasılıkla tam olarak ne yapmaya çalıştığınıza bağlıdır. Komuttaki çeşitli filtreleri kullanarak denetim akışını azaltabilirsiniz, auditctl
ancak bu bilgilerin hiçbirini bilmiyorum, bu yüzden ne ekleyeceğimi bilmiyorum. Daha spesifik bir şeye ihtiyacınız varsa, ya man sayfasını kontrol etmenizi ya da bu cevaba bir yorum göndermenizi öneririm ve biraz daha güncelleyeceğim.
Umarım bu sizi doğru yöne itmeye yardımcı olur.
DÜZENLE:
Sorunuz belirli bir kullanıcıya bakmayı içerdiğinden size şunu gösterebilirim:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve -F euid=16777216
WARNING - 32/64 bit syscall mismatch, you should specify an arch
Yukarıdakilerin aynısı, ancak yalnızca execve
etkin kullanıcı kimliğiyle çalışan biri tarafından 16777216
günlüğe kaydedilir. Kullanıcının loginuid
değerini belirtmeniz gerekiyorsa (sistemde başlangıçta kime giriş yaptıklarını), ardından filtrelemeniz gerekir auid
:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve -F auid=16777216
WARNING - 32/64 bit syscall mismatch, you should specify an arch
AUID / loginuid filtreleri, örneğin kullanıcı bir su
veya sudo
root atacaksa yararlı olacaktır . Bu durumda kök olarak çalışan bir çok şey olacaktır, ancak yalnızca söz konusu kullanıcı tarafından başlatılan şeylerle ilgileniyorsunuz. auditctl
Her iki göre filtreleme yapabilirsiniz böylece de size yığın filtreleri sağlar euid
ve 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"