आपको auditd
रिकॉर्ड execve
घटनाओं को कॉन्फ़िगर करने की आवश्यकता है । RHEL5 पर उदाहरण:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve
WARNING - 32/64 bit syscall mismatch, you should specify an arch
[root@ditirlns01 ~]#
मैं आर्च चेतावनी को अनदेखा करता हूं और यह कोई मायने नहीं रखता है, लेकिन आप चाहें तो इसे इस्तेमाल -F arch=b64
या -F arch=b32
सेट कर सकते हैं।
उपरोक्त का परिणाम है:
[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 ~]#
यह स्पष्ट रूप से त्वरित और गंदा है, लेकिन यह मूल बातें है कि आप इसे कैसे करते हैं। आपको वास्तव में जो करने की कोशिश कर रहे हैं, उस पर बहुत कुछ निर्भर करता है। आप auditctl
कमांड में विभिन्न फिल्टर का उपयोग करके ऑडिट फ्लो को कम कर सकते हैं, लेकिन मुझे उस जानकारी में से कोई भी जानकारी नहीं है इसलिए मुझे नहीं पता कि क्या शामिल करना है। यदि आपको कुछ और विशिष्ट की आवश्यकता है, तो मेरा सुझाव है कि आप या तो मैन पेज की जांच करें या इस उत्तर के लिए एक टिप्पणी पोस्ट करें और मैं इसे कुछ और अपडेट करूंगा।
आशा है कि आपको सही दिशा में धकेलने में मदद करता है।
संपादित करें:
चूंकि आपके प्रश्न में एक विशेष उपयोगकर्ता को देखना शामिल है जो मैं आपको दिखा सकता हूं:
[root@ditirlns01 ~]# auditctl -a always,entry -S execve -F euid=16777216
WARNING - 32/64 bit syscall mismatch, you should specify an arch
उपरोक्त की पहचान, लेकिन execve
प्रभावी उपयोगकर्ता आईडी के साथ चलने वाले किसी व्यक्ति द्वारा केवल 16777216
लॉग इन किया जाएगा। यदि आपको उपयोगकर्ता के loginuid
मूल्य को निर्दिष्ट करने की आवश्यकता है (जो उन्होंने शुरू में सिस्टम में लॉग इन किया था) तो आप auid
इसके बजाय फ़िल्टर करें :
[root@ditirlns01 ~]# auditctl -a always,entry -S execve -F auid=16777216
WARNING - 32/64 bit syscall mismatch, you should specify an arch
उपयोगकर्ता के लिए su
या sudo
रूट करने के लिए AUID / loginuid फ़िल्टर उदाहरण के लिए उपयोगी होगा । उस स्थिति में रूट के रूप में बहुत सारी चीजें चल रही होंगी, लेकिन आप केवल उस सामान से संबंधित हैं जो उपयोगकर्ता द्वारा पूछताछ में बंद कर दिया गया था। auditctl
आपको फ़िल्टर को स्टैक करने देता है ताकि आप दोनों द्वारा फ़िल्टर कर सकें euid
और 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"