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 實用程式可以配置為觸發審計事件,使系統管理員能夠監控網路訪問,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/548117.html
標籤:Linux
