核心空間的審核系統

2021-10-10 17:42:26 字數 815 閱讀 4970

《linux一線運維實戰》清華大學出版社 即將出版

24.3.3 核心空間的審核系統

審核系統以模組的方式連入作業系統的核心,然後對作業系統核心中發生的審核資訊做進一步的處理後將這些資訊傳送到它特有的緩衝區,之後通過特定的通訊機制與核心空間審核系統互動並把資訊寫入到特定的日誌檔案系統,而這過程中需要呼叫多種功能不同的函式來完成。

1.核心審核緩衝區機制

核心審核系統在獲取審核資訊後,它就將這些資訊寫入審核用的緩衝區(也稱審核緩衝區)。由於審核資訊是通過netlink機制發往使用者空間審核系統的後台程序,因此審核緩衝區中就需要有sk_buff描述的套接字緩衝區和套接字緩衝區,並通過這兩個緩衝區來儲存被傳送到使用者空間審核系統的審核訊息。

審核套接字緩衝區由組成鍊錶,這些鍊錶是用於存入填充審核訊息的審核套接字緩衝區指標;當鍊表中的緩衝區個數超過上限時,當前程序就需要等待使用者空間的後台程序將審核訊息寫入日誌檔案,直到緩衝區個數小於上限值為止。

核心審核系統還使用空閒審核緩衝區鍊錶audit_freelist存放空閒的審核緩衝區,存放的個數上限由audit_maxfree所設定,這樣就可以維持一定資料的空閒緩衝區數,而對於頻繁操作的審核系統來說,這樣做可以減少緩衝區的分配與釋放次數,從而提高系統效能。

對於審核系統緩衝區的申請,當有緩衝區需求申請時首先檢視鍊錶audit_freelist是否存在空閒的審核緩衝區,如果存在就從鍊錶中取下乙個返回給申請者,否則就再分配乙個審核緩衝區。而對與緩衝區的釋放,則是通過呼叫函式audit_buffer_free來釋放,釋放前首先檢查空閒審核緩衝區鍊錶audit_freelist的空閒審核緩衝區是否超過上限,如果未超過上限時就將審核緩衝區放入鍊錶audit_freeli

LINUX的系統核心空間的保護

看了linux 感 覺其對核心記憶體的保護做得不是很好,還有感覺大家有些地方理解不對 主要是linux的 看起來的樣子和實際的樣子不太一樣 所以談談我對linux 系統核心空間的保護和使用者空間與系統空間資料傳遞的 看法。注意我說的都是i386體系結構,別的體系結構可以看相應的 不敢保證結果是否是如...

原創 SQL審核系統

應公司dba的需求,做了乙個sql審核並可以執行 記錄的系統,整個系統有三種角色 dba 需要管理員手動登記 運維人員 需要管理員手動登記 開發人員 預設註冊後使用者 許可權分配如下 先要感謝前任武大神留下的前端模板,在後續的開發節省了大量的時間,我也就拿過來直接用了。由於是在公司使用的 原始碼不能...

使用者空間與核心空間的介面 proc檔案系統

最早在接觸linux bsp時,專案中有一項規格就是底層需向上層提供硬體pcb及bom資訊。由於在linux的根檔案系統 proc目錄下有硬體cpu 記憶體 儲存器等與硬體相關的資訊,並且在使用者空間通過cat命令就可以輕易獲得,於是有個想法,就是設法將專案中硬體pcb及bom等資訊展現在 proc...