中文文檔說明(除基本功能,提供思路實現):
github.com/iotd/gen-au…python
簡介: audit能夠配置規則,此規則主要是給內核模塊下發,內核audit模塊會按照這個規則獲取審計信息,發送給auditd來記錄日誌。 此工具主要是方便在DevOps開發環境下,針對系統和應用,便捷配置Auditd服務規則,自由靈活實現配置管理。linux
import os, json, time
複製代碼
# 以MB表示的最大日誌文件容量。當達到這個容量時,會執行max_log_file _action指定的動做
# (文件設置太小,會致使生成大量文件,能夠設置適當大小)
max_log_file = 6
# 當達到max_log_file的日誌文件大小時採起的動做。值必須是IGNORE、SYSLOG、SUSPEND、ROTATE和KEEP_LOGS之 一。
# IGNORE: 則在日誌文件達到max_log_file後不採起動做。
# SYSLOG:則當達到文件容量時會向系統日誌/var /log/messages中寫入一條警告。
# SUSPEND: 則當達到文件容量後不會向日志文件寫入審計消息。
# ROTATE: 則當達 到指定文件容量後會循環日誌文件,可是隻會保存必定數目的老文件,這個數目由num_logs參數指定。
# 舊文件的文件名將爲audit.log.N,其中 N是一個數字。這個數字越大,則文件越老。
# KEEP_LOGS: 則會循環日誌文件,可是會忽略num_logs參數,所以不會刪除日誌文件。
#
# (此配置無需勿動)
max_log_file_action = ROTATE
複製代碼
# 自定義規則配置參考實例(conf/audit_rules_conf.json):
{
"web01":{
"/data/www/web":"-p rwa",
"/data/www/vendor":"-p rwa"
},
"web02":{
"/data/www/web":"-p rwa",
"/data/www/vendor":"-p rwa"
},
"web03":{
"/data/www/web":"-p rwa",
"/data/www/vendor":"-p rwa"
},
"web0N":{
"/data/www/web":"-p rwa",
"/data/www/vendor":"-p rwa"
},
"system":{
"/etc/passwd":"-k PASSWD",
"/etc/my.conf":"-k PASSWD"
},
...
}
複製代碼
conf/audit.rules.defaultgit
conf/audit_rules_conf.jsongithub
# 生成規則實例(rules默認-w)
#### APP NAME Audit Rules Created By DataTime: 2019/01/01 00:00:00 ####
#audit rule block: web
-w /data/www/web -p rwa
-w /data/www/vendor -p rwa
#audit rule block: system
-w /etc/my.conf -k PASSWD
-w /etc/passwd -k PASSWD
複製代碼
gen_audit_rules/audit.rulesweb
/etc/audit/audit.rulesjson
/etc/audit/rules.d/audit.rulescentos
auditctl : 即時控制審計守護進程的行爲的工具,好比如添加規則等等。
aureport : 查看和生成審計報告的工具。
ausearch : 查找審計事件的工具。
auditspd : 轉發事件通知給其餘應用程序,而不是寫入到審計日誌文件中。
autrace : 一個用於跟蹤進程的命令。
#conf file:
/etc/audit/auditd.conf : auditd工具的配置文件。
/etc/audit/audit.rules : 記錄審計規則的文件。
複製代碼
time : 審計時間。
name : 審計對象
cwd : 當前路徑。
syscall : 相關的系統調用。
auid : 審計用戶ID。
uid 和 gid : 訪問文件的用戶ID和用戶組ID。
comm : 用戶訪問文件的命令。
exe : 上面命令的可執行文件路徑。bash