Linux auditd rules generate 通用linux審計規則生成工具DevOps CI/CD持續集成交付 tools

app name gen-audit-rules

linux generate auditd service rules tools Version 1.0

github.com/iotd/gen-au…

中文文檔說明(除基本功能,提供思路實現):
github.com/iotd/gen-au…python

簡介: audit能夠配置規則,此規則主要是給內核模塊下發,內核audit模塊會按照這個規則獲取審計信息,發送給auditd來記錄日誌。 此工具主要是方便在DevOps開發環境下,針對系統和應用,便捷配置Auditd服務規則,自由靈活實現配置管理。linux

python module
import os, json, time
複製代碼

auditd.conf主配置文件重要規則

# 以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"
    },
    ...
}
複製代碼

審計規則構成(合併)

1.[系統默認規則]

conf/audit.rules.defaultgit

2.[自定義規則,無限節點]

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

複製代碼

Built rules file path

gen_audit_rules/audit.rulesweb

centos 6.x path:

/etc/audit/audit.rulesjson

centos 7.x path:

/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

附Github地址:github.com/iotd/gen-au…

相關文章
相關標籤/搜索