linux監控工具audit


audit是什么?

audit是記錄linux審計信息的內核模塊。
他記錄系統中的各種動作和事件,比如系統調用,文件修改,執行的程序,系統登入登出和記錄所有系統中所有的事件。audit還可以將審計記錄寫入日志文件。

audit怎么用?

audit配置文件

/etc/audit/auditd.conf為audit的配置文件。
簡單講一下幾個常用配置項:

  • log_file:指定log文件存放的位置。
  • max_log_file:指定單個log文件的最大大小,單位是Mbyte。
  • max_log_file_action:當log文件達到max_log_file設定的大小時執行的動作,可選的動作有:ignore/syslog/suspend/rotate。
    ignore表示忽略max_log_file設置的限制,繼續寫log文件。
    syslog表示會向syslog中寫入一條warning。
    suspend表示auditd不再寫log文件,但是auditd繼續運行。
    rotate表示分多個log文件,一個log文件達到上限后在創建一個新的不同名字的log文件。
  • num_logs
    表示保留日志文件的最大個數,只有在max_log_file_action=rotate時該選項該有意義,必須是0~99之間的數。如果設置為小於2,則不會循環日志。如果遞增了日志文件的數目,就可能有必要遞增/etc/audit/audit.rules中的內核backlog設置值,以便留出日志循環的時間。如果沒有設置num_logs值,它就默認為0,意味着從來不循環日志文件。當達到指定文件容量后會循環日志文件,但是只會保存一定數目的老文件,這個數目由num_logs參數指定。老文件的文件名將為audit.log.N,其中 N是一個數字。這個數字越大,則文件越老。
  • space_left:表示log_file文件所在的分區空閑空間少於這個設定的值時,觸發相應的動作,單位是Mbyte。
  • space_left_action:指定space_left觸發后執行的動作,可選的選項有:ignore/syslog/suspend/single/halt,前面三個選項與max_log_file_action相似,single表示audit進程會將系統模式變為單用戶模式,halt表示audit進程將會觸發系統關機。

auditctl

-a [ 列表,動作 | 動作,列表 ]

audit定義了user,task,exclude,exit列表,他們的功能分別為:

  • user:過濾掉用戶空間的事件。
  • task:只有當fork或clone時才使用。
  • exclude:過濾管理員不想看到的事件。
  • exit:從系統調用退出時創建審核事件。

audit定義了always, never動作,他們的含義分別為:

  • always:分配審核上下文,始終在系統調用進入時填寫它,並始終在系統調用退出時寫出一條記錄。
  • never:不生成審計記錄。

-S [ syscall名稱 | all ]

所有的系統調用都可以在/usr/include/asm/unistd_64.h 文件中找到。

-F [ n=v | n!=v | n<v | n>v | n<=v | n>=v | n&v | n&=v ]

定義作用域。
其中n可以是:
pid:進程ID。
uid:用戶ID。
gid:組ID。
...

-w 路徑

-p 權限

權限的動作分為四種:

  • r — 讀取文件或者目錄。
  • w — 寫入文件或者目錄。
  • x — 運行文件或者目錄。
  • a — 改變在文件或者目錄中的屬性。

-k 關鍵字

舉例:

  1. 記錄進程1005所有的系統調用
    auditctl -a exit,always -S all -F pid=1005
  2. 記錄對/etc/shadow進行的寫操作和屬性修改
auditctl -w /etc/shadow -p wa
auditctl -a exit,always -F path=/etc/shadow -F perm=wa

ausearch

建議使用key,如:ausearch -k passwd_changes

總結

audit是一個十分好用的審計工具,以往經常遇到客戶問是誰動過某某文件,如果用audit監控着就不怕說不上來了,auditctl加的規則是一次性的,若要永久,可以加到/etc/audit/audit.rules


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM