跳轉到內容

Grsecurity/概述

來自華夏公益教科書
Grsecurity
概述 術語


grsecurity 是一組針對 補丁 Linux 核心,重點在於增強安全性。它通常應用於 Web 伺服器和從不受信任的位置接受遠端連線的系統,例如向用戶提供 Shell 訪問 的系統。

grsecurity 在 GNU 通用公共許可證 下發布,是 自由軟體

grsecurity 的開發始於 2001 年 2 月,作為 Openwall 專案 對 Linux 2.4 的安全增強補丁的移植。grsecurity 的第一個版本是針對 Linux 2.4.1 的。

grsecurity 中捆綁的一個主要元件是 PaX,它是一個補丁,除了其他功能外,它將資料記憶體(例如 堆疊 上的記憶體)標記為不可執行,而將程式記憶體標記為不可寫。其目的是防止可執行記憶體頁面被注入的機器程式碼覆蓋,從而防止利用許多型別的安全漏洞,例如 緩衝區溢位。PaX 還提供 地址空間佈局隨機化 (ASLR),它隨機化重要的記憶體地址,以阻礙依賴於這些地址易於已知的攻擊。PaX 本身不是由 grsecurity 開發人員開發的,並且也可以獨立於 grsecurity 獲得 [1]

基於角色的訪問控制

[編輯 | 編輯原始碼]

grsecurity 的另一個值得注意的元件是它提供了一個完整的 基於角色的訪問控制 (RBAC) 系統。RBAC 旨在比 Unix 訪問控制列表 通常提供的更嚴格地限制對系統的訪問,目的是建立一個完全最小許可權的系統,使用者和程序僅具有正常工作所需的絕對最小許可權,絕不多餘。這樣,如果系統被入侵,攻擊者破壞系統或獲取系統敏感資訊的能力會大大降低。RBAC 透過一組“角色”工作。每個角色可以對其可以或不能執行的操作進行單獨限制,這些角色和限制構成了一個可以根據需要修改的“策略”。

Chroot限制

[編輯 | 編輯原始碼]

grsecurity 以多種方式限制 chroot,以防止各種漏洞、提權攻擊,並新增額外的檢查和平衡。

Chroot 修改

  • 不允許在 chroot 之外附加共享記憶體
  • 不允許kill在 chroot 之外
  • 不允許ptrace在 chroot 之外(體系結構無關)

其他功能

[編輯 | 編輯原始碼]

grsecurity 還為 Linux 核心添加了增強的 審計。它可以被配置為審計特定使用者組,審計 掛載/解除安裝裝置,系統時間和日期的更改,chdir 日誌記錄,等等。這些其他功能中的一些還允許管理員記錄被拒絕的資源嘗試、失敗的 fork 嘗試和帶有引數的 exec 日誌記錄。

可信路徑 執行是另一個可選功能,可用於防止使用者執行不屬於 root 使用者,或者對世界可寫的二進位制檔案。這對於防止使用者執行他們自己的惡意二進位制檔案或意外執行可能被惡意使用者修改的系統二進位制檔案(對世界可寫)很有用。

grsecurity 還強化了 chroot "監獄" 的工作方式。chroot 監獄可用於將特定程序與系統其餘部分隔離開來,這對於最小化潛在的損壞很有用,即使服務被入侵。但是,有一些方法可以“越獄” chroot 監獄。grsecurity 試圖防止這種情況發生。

還有一些其他功能可以提高安全性並防止使用者獲得有關係統的無用資訊,例如限制dmesgnetstat命令對 root 使用者 [2]

其他功能和安全改進列表

  • /proc 限制,不會洩露有關程序所有者的資訊
  • 符號連結/硬連結限制,以防止/tmp 競爭
  • 硬連結限制,以防止使用者硬連結到他們不擁有的檔案
  • FIFO/命名管道 限制
  • dmesg(8)限制
  • 增強版可信路徑執行實現
  • 基於組的套接字限制


下一頁: 術語
主頁: Grsecurity
華夏公益教科書