Linux操做系統之安全審計功能

內核編譯時,通常打開NET選項就打開AUDIT選項了。
在系統中查看audit是否打開,root 用戶執行:
service auditd status

咱們知道在Linux系統中有大量的日誌文件能夠用於查看應用程序的各類信息,
可是對於用戶的操做行爲(如某用戶修改刪除了某文件)卻沒法經過這些日誌文件來查看,
若是咱們想實現監管企業員工的操做行爲就須要開啓審計功能,也就是auditd。

一、首先執行如下命令開啓auditd服務

service auditd start

二、接着查看看auditd的服務狀態,有兩種方法能夠實現,使用auditctl命令時主要看enabled是否爲1,1爲開啓,0爲關閉
[root@ns-master-c01 ~]# service auditd status
auditd (pid  20594) is running...

[root@ns-master-c01 ~]# auditctl -s
AUDIT_STATUS: enabled=1 flag=1 pid=20594 rate_limit=0 backlog_limit=320 lost=0 backlog=0

三、開啓了auditd服務後,全部的審計日誌會記錄在/var/log/audit/audit.log文件中,
該文件記錄格式是每行以type開頭,
其中紅框處是事件發生的時間(表明從1970年1月1日到如今過了多久,能夠用date命令轉換格式),
冒號後面的數字是事件ID,同一個事件ID是同樣的。

四、audit能夠自定義對指定的文件或命令進行審計(如監視rm命令被執行、/etc/passwd文件內容被改變),
只要配置好對應規則便可,配置規則能夠經過命令行(臨時生效)或者編輯配置文件(永久生效)兩種方式來實現。
 
編輯配置文件(永久生效):

auditd的配置文件爲/etc/audit/audit下的auditd.conf 和audit.rules
auditd.conf 主要是定義了auditd服務日誌和性能等相關配置,
audit.rules纔是定義規則的文件,

 
修改完後重啓服務
service auditd restart
 
 
5.若是直接使用tailf等查看工具進行日誌分析會比較麻煩,
好在audit已經提供了一個更好的事件查看工具——ausearch,使用auserach -h查看下該命令的用法:

這裏列出幾個經常使用的選項:

-a number  #只顯示事件ID爲指定數字的日誌信息,如只顯示926事件:ausearch -a 926

-c  commond  #只顯示和指定命令有關的事件,如只顯示rm命令產生的事件:auserach  -c  rm

-i  #顯示出的信息更清晰,如事件時間、相關用戶名都會直接顯示出來,而再也不是數字形式

-k  #顯示出和以前auditctl -k所定義的關鍵詞相匹配的事件信息
 
 
六、使用auditctl還能夠查看和清空規則

auditctl -l 查看定義的規則
auditctl -D 清空定義的規則

 
-------------------
安裝 auditd

REL/centos默認已經安裝了此套件,若是你使用ubuntu server,則要手工安裝它:
sudo apt-get install auditd
它包括如下內容:
auditctl : 即時控制審計守護進程的行爲的工具,好比如添加規則等等。
/etc/audit/audit.rules : 記錄審計規則的文件。
aureport : 查看和生成審計報告的工具。
ausearch : 查找審計事件的工具
auditspd : 轉發事件通知給其餘應用程序,而不是寫入到審計日誌文件中。
autrace : 一個用於跟蹤進程的命令。
/etc/audit/auditd.conf : auditd工具的配置文件。



Auditd文件和目錄訪問審計

首次安裝 auditd 後, 審計規則是空的。能夠用 sudo auditctl -l 查看規則。文件審計用於保護敏感的文件,如保存系統用戶名密碼的passwd文件,文件訪問審計方法:
sudo auditctl -w /etc/passwd -p rwxa

-w path : 指定要監控的路徑,上面的命令指定了監控的文件路徑 /etc/passwd
-p : 指定觸發審計的文件/目錄的訪問權限
rwxa : 指定的觸發條件,r 讀取權限,w 寫入權限,x 執行權限,a 屬性(attr)

目錄進行審計和文件審計類似,方法以下:
$ sudo auditctl -w /production/
以上命令對/production目錄進行保護。


查看審計日誌
添加規則後,咱們能夠查看 auditd 的日誌。使用 ausearch 工具能夠查看auditd日誌。
sudo ausearch -f /etc/passwd

-f 設定ausearch 調出 /etc/passwd文件的審計內容

查看審計報告

以上命令返回log以下:
time->Mon Dec 22 09:39:16 2016
type=PATH msg=audit(1419215956.471:194): item=0 name="/etc/passwd"
inode=142512 dev=08:01 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL
type=CWD msg=audit(1419215956.471:194): cwd="/home/somebody"
type=SYSCALL msg=audit(1419215956.471:194): arch=40000003 syscall=5
success=yes exit=3 a0=b779694b a1=80000 a2=1b6 a3=b8776aa8 items=1 ppid=2090 pid=2231 auid=4294967295
uid=1000 gid=1000 euid=0 suid=0 fsuid=0 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=4294967295

comm="sudo" exe="/usr/bin/sudo" key=(null)
time : 審計時間。
name : 審計對象
cwd : 當前路徑
syscall : 相關的系統調用
auid : 審計用戶ID
uid 和 gid : 訪問文件的用戶ID和用戶組ID
comm : 用戶訪問文件的命令
exe : 上面命令的可執行文件路徑node

備註:隨筆中內容來源於網上資料整理,僅供參考。ubuntu

相關文章
相關標籤/搜索