Linux報錯:audit: backlog limit exceeded(審計:超出積壓限制) 系統版本:CentOS Linux release 7.6.1810 (Core) 問題現象:一次巡檢中發現業務系統打不開,對應的Linux伺服器ssh連接不上,但是能ping通,於是在VMware v ...
Linux報錯:audit: backlog limit exceeded(審計:超出積壓限制)
系統版本:CentOS Linux release 7.6.1810 (Core)
問題現象:一次巡檢中發現業務系統打不開,對應的Linux伺服器ssh連接不上,但是能ping通,於是在VMware vcenter 遠程式控制制台打開操作系統界面,報錯提示 audit: backlog limit exceeded,嘗試“ctrl+z”中斷報錯未果,只能強行關機,重新開機能正常系統。
問題原因:audit服務記錄的審計事件超出預設(或設置)數量 ,達到或超出容量的審計緩衝區隊列也可能導致實例鎖定或持續無響應狀態。
解決辦法:由於嘗試“ctrl+z”中斷報錯未果,只能強行關機,重新開機才能正常系統,究其原因不採取措施,審計事件再次溢出依舊會出現該問題。
方法一:增加審計緩衝區空間(audit buffer)
註意:增加審計緩衝區會消耗系統的更多記憶體。設置 backlog_limit 參數的大小取決於系統的總記憶體。如果系統有足夠的記憶體,則可以嘗試將現有的 backlog_limit 參數值加倍。
審計積壓所需記憶體的計算公式。使用此計算公式來確定在不對系統造成記憶體壓力的情況下可以設置多大的積壓隊列。
一個審計緩衝區 = 8970 位元組
審計緩衝區的預設數量(backlog_limit 參數)= 320
320 * 8970 = 2870400 位元組(2.7MiB)
在本示例中,我將 backlog_limit 參數值更改為 10000 個緩衝區。根據上述計算公式,10000 個緩衝區等於87MiB 記憶體。您可以根據記憶體計算公式使用任何值。
1、查看當前預設配置:auditctl -s
2、在內核中設置最大現有審計緩衝量:auditctl -b 8192
永久設置,修改規則配置文件:vi /etc/audit/audit.rules
參數說明:
-D 刪除所有規則
-b 設置audit緩衝大小,若緩衝占滿了,則kernel會發出一個失敗標記
-f 0|1|2 設置audit獲取錯誤的等級。有0/1/2三個值。0是不輸出日誌;1為輸出printk日誌;2為最高級、會輸出大量日誌信息
-e 0|1 啟用/禁用audit審核
3、重新啟動 auditd 服務。
service auditd stop
service auditd start
service auditd restart
方法二:禁用aduit審核,不進行審計事件記錄(不建議)
參考鏈接:7.5. 定義審計規則 Red Hat Enterprise Linux 7 | Red Hat Customer Portal
知識拓展:Linux系統審核
Linux Audit 系統提供了一種方式來跟蹤系統中的安全相關信息。根據預配置的規則,審計會生成日誌條目,以記錄有關係統上發生事件的儘可能多的信息。對於關鍵任務環境而言,此信息對於確定安全策略的違反者及其執行的操作至關重要。Audit 不會為您的系統提供額外的安全性,而是可用於發現系統上使用的安全策略違規。通過 SELinux 等其他安全措施可以進一步阻止這些衝突。 以下列表總結了審計可以在其日誌文件中記錄的一些信息:- 事件的日期和時間、類型和結果.
- 主題和對象的敏感度標簽。
- 事件與觸發事件的用戶的身份相關聯。
- 對 Audit 配置的所有修改,並嘗試訪問 Audit 日誌文件。
- 所有身份驗證機制的使用,如 SSH 和 Kerberos 等。
-
對任何受信任資料庫的更改,如
/etc/passwd
. - 嘗試從系統導入或導出信息.
- 根據用戶身份、主題和對象標簽以及其他屬性,包含或排除事件。
- 受控訪問保護配置文件(CAPP)
- 標記的安全保護配置文件(LSPP)
- 規則集基本訪問控制(RSBAC)
- 國家工業安全計劃操作手冊(NISPOM)
- 聯邦信息安全管理法案(FISMA)
- 支付卡行業 - 數據安全標準(PCI-DSS)
- 安全技術實施指南(STIG)
- 由國家信息保障合作伙伴(NIAP)和最佳安全行業(BSI)評估。
- 通過紅帽企業 Linux 5 上的 LSPP/CAPP/RSBAC/EAL4+ 認證.
- 紅帽企業 Linux 6 上經過操作系統保護配置文件/評估保證級別 4+(OSPP/EAL4+)認證.
使用案例
- 監視文件訪問
- 審計可以跟蹤文件或目錄是否已訪問、修改、執行或文件屬性是否已更改。例如,這可用於檢測對重要文件的訪問,併在其中一個文件損壞時提供審計跟蹤。
- 監控系統調用
-
可將審計配置為在每次使用特定系統調用時生成日誌條目。例如,這可用於通過監控
settimeofday、clock_adjtime
和其他時間相關係統調用來跟蹤系統時間的更改。 - 記錄用戶運行的命令
-
審計可以跟蹤文件是否已執行,因此可以定義規則以記錄特定命令的每次執行。例如,可以為
/bin
目錄中的每個可執行文件定義規則。然後,可以按用戶 ID 搜索生成的日誌條目,以生成每個用戶所執行命令的審計跟蹤。 - 記錄系統路徑名稱的執行
- 除了觀察在規則調用時轉換索引節點路徑的文件訪問之外,審計現在還可以觀察路徑的執行,即使路徑在規則調用中不存在,或者在規則調用後替換了文件。這允許規則在升級程式可執行文件或甚至安裝之前繼續運行。
- 記錄安全事件
-
pam_faillock
身份驗證模塊能夠記錄失敗的登錄嘗試。也可以將審計設置為記錄失敗的登錄嘗試,並提供試圖登錄的用戶的附加信息。 - 搜索事件
- Audit 提供 ausearch 實用程式,可用於過濾日誌條目並根據多個條件提供完整的審計跟蹤。
- 運行摘要報告
- aureport 實用程式可用於生成記錄的事件的日常報告等。然後,系統管理員可以分析這些報告,併進一步調查可疑活動。
- 監控網路訪問
- iptables andebtables 實用程式可以配置為觸發審計事件,使系統管理員能夠監控網路訪問。