部署audit監控文件

1案例1:部署audit監控文件

1.1問題

本案例要求熟悉audit書籍工具的基本使用,完成以下任務操作:

  1. 使用audit監控/etc/ssh/sshd_config
  2. 當該文件發生任何變化即記錄日誌
  3. 通過手動和ausearch工具查看日誌內容

1.2方案

審計的目的是基於事先配置的規則生成日誌,記錄可能發生在系統上的事件(正常或非正常行爲的事件),審計不會爲系統提供額外的安全保護,但她會發現並記錄違反安全策略的人及其對應的行爲。
審計能夠記錄的日誌內容:

  • a)日期與事件以及事件的結果
  • b)觸發事件的用戶
  • c)所有認證機制的使用都可以被記錄,如ssh等
  • d)對關鍵數據文件的修改行爲等都可以被記錄

1.3步驟

實現此案例需要按照如下步驟進行。

步驟一:配置audit審計系統

1)安裝軟件包,查看配置文件(確定審計日誌的位置)

[root@proxy ~]# yum -y  install  audit                //安裝軟件包
[root@proxy ~]# cat /etc/audit/auditd.conf            //查看配置文件,確定日誌位置
log_file = /var/log/audit/audit.log                //日誌文件路徑
[root@proxy ~]# systemctl start auditd                //啓動服務
[root@proxy ~]# systemctl enable auditd            //設置開機自啓

2)配置審計規則
可以使用auditctl命令控制審計系統並設置規則決定哪些行爲會被記錄日誌。
語法格式如下:

[root@proxy ~]# auditctl  -s                        //查詢狀態
[root@proxy ~]# auditctl  -l                        //查看規則
[root@proxy ~]# auditctl  -D                        //刪除所有規則

定義臨時文件系統規則:

#語法格式:auditctl  -w  path  -p  permission  -k  key_name
# path爲需要審計的文件或目錄
# 權限可以是r,w,x,a(文件或目錄的屬性發生變化)
# Key_name爲可選項,方便識別哪些規則生成特定的日誌項
[root@proxy ~]# auditctl  -w  /etc/passwd  -p wa  -k  passwd_change
//設置規則所有對passwd文件的寫、屬性修改操作都會被記錄審計日誌
 [root@proxy ~]# auditctl  -w  /etc/selinux/  -p wa  -k  selinux_change
//設置規則,監控/etc/selinux目錄
 [root@proxy ~]# auditctl  -w  /usr/sbin/fdisk  -p x  -k  disk_partition
//設置規則,監控fdisk程序
[root@proxy ~]# auditclt  -w  /etc/ssh/sshd_conf  -p warx  -k  sshd_config
//設置規則,監控sshd_conf文件

如果需要創建永久審計規則,則需要修改規則配置文件:

[root@proxy ~]# vim  /etc/audit/rules.d/audit.rules
-w /etc/passwd -p wa -k passwd_changes
-w /usr/sbin/fdisk -p x -k partition_disks

步驟二:查看分析日誌

1)動手查看日誌
查看SSH的主配置文件/etc/ssh/sshd_conf,查看audit日誌信息

[root@proxy ~]# tailf  /var/log/audit/audit.log
type=SYSCALL msg=audit(1517557590.644:229228): arch=c000003e 
syscall=2 success=yes exit=3 
a0=7fff71721839 a1=0 a2=1fffffffffff0000 a3=7fff717204c0 
items=1 ppid=7654 pid=7808 auid=0 uid=0 gid=0 euid=0 suid=0 
fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts2 ses=3 comm="cat" 
exe="/usr/bin/cat" 
subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key="sshd_config"
.. ..
#內容分析
# type爲類型
# msg爲(time_stamp:ID),時間是date +%s(1970-1-1至今的秒數)
# arch=c000003e,代表x86_64(16進制)
# success=yes/no,事件是否成功
# a0-a3是程序調用時前4個參數,16進制編碼了
# ppid父進程ID,如bash,pid進程ID,如cat命令
# auid是審覈用戶的id,su - test, 依然可以追蹤su前的賬戶
# uid,gid用戶與組
# tty:從哪個終端執行的命令
# comm="cat"            用戶在命令行執行的指令
# exe="/bin/cat"        實際程序的路徑
# key="sshd_config"    管理員定義的策略關鍵字key
# type=CWD        用來記錄當前工作目錄
# cwd="/home/username"
# type=PATH
# ouid(owner's user id)    對象所有者id
# guid(owner's groupid)    對象所有者id

2)通過工具搜索日誌
系統提供的ausearch命令可以方便的搜索特定日誌,默認該程序會搜索/var/log/audit/audit.log,ausearch options -if file_name可以指定文件名。

[root@proxy ~]# ausearch -k sshd_config -i    
//根據key搜索日誌,-i選項表示以交互式方式操作
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章