日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

SELinux Linux安全新高度 安全增強(qiáng)Linux 剖析( 三 )


Solaris 10(是受信任的 Solaris)
Solaris 10 操作系統(tǒng)通過其增強(qiáng)了安全性的 Trusted Extensions 組件提供了強(qiáng)制訪問控制 。該功能適用于 MAC 和 RBAC 。Solaris 通過向所有對象添加敏感性標(biāo)簽實(shí)現(xiàn)了這一點(diǎn),使您能夠控制設(shè)備、文件、連網(wǎng)訪問,甚至窗口管理服務(wù) 。Solaris 10 中的 RBAC 的優(yōu)點(diǎn)在于,它通過提供對管理任務(wù)(可在以后進(jìn)行分配)的細(xì)粒度控制最小化了對根訪問的需求 。
TrustedBSD
TrustedBSD 是一個(gè)正在進(jìn)行中的項(xiàng)目,主要開發(fā)可靠的操作系統(tǒng)擴(kuò)展,這些擴(kuò)展最終會(huì)加入 FreeBSD 操作系統(tǒng) 。它包括構(gòu)建在 Flux Advanced Security Kernel (Flask) 安全架構(gòu)之上的強(qiáng)制訪問控制,后者包括以插件模塊形式提供的類型強(qiáng)制和多級安全(MLS) 。TrustedBSD 還合并了來自 Apple Darwin 操作系統(tǒng)的開源 Basic Security Module (BSM) 審計(jì)實(shí)現(xiàn)(BSM 最初由 Sun 引入) 。BSM 是一個(gè)審計(jì) API 和文件格式,它支持普通的審計(jì)跟蹤處理 。TrustedBSD 還構(gòu)成了供 Security Enhanced Darwin (SEDarwin) 使用的框架 。
操作系統(tǒng)虛擬化
增強(qiáng)操作系統(tǒng)內(nèi)部安全性的最后一個(gè)選擇是操作系統(tǒng)虛擬化(也稱為虛擬專用服務(wù)器(virtual private servers)) 。一個(gè)操作系統(tǒng)擁有多個(gè)獨(dú)立的用戶空間實(shí)例,可以實(shí)現(xiàn)功能分離 。操作系統(tǒng)虛擬化對在獨(dú)立用戶空間內(nèi)部運(yùn)行的應(yīng)用程序功能進(jìn)行了限制 。例如,一個(gè)用戶空間實(shí)例也許不能修改內(nèi)核(載入或移除內(nèi)核模塊),也不能掛載或卸載文件系統(tǒng) 。并且不允許修改內(nèi)核參數(shù)(例如,通過 proc 文件系統(tǒng)) 。任何修改其他用戶實(shí)例環(huán)境的操作都是不允許的 。
許多操作系統(tǒng)都能實(shí)現(xiàn)操作系統(tǒng)虛擬化 。GNU/Linux 支持 VServer、Parallels Viruozzo Container 和 OpenVZ 。在其他操作系統(tǒng)中,您可以找到容器(Solaris)和 jail(BSD) 。在 Linux-VServer 中,每個(gè)單獨(dú)的用戶空間實(shí)例稱為一個(gè)安全上下文 。在每個(gè)安全上下文中,會(huì)為專用服務(wù)器實(shí)例啟動(dòng)一個(gè)新的 init 。
結(jié)束語
對于 Linux 內(nèi)核來說,強(qiáng)制訪問控制和基于角色的訪問控制都是相對較新的功能 。隨著 LSM 框架的引入,新的安全模塊將會(huì)出現(xiàn) 。除了對框架的增強(qiáng),還可以堆疊安全模塊,從而允許多個(gè)安全模塊共存,而且最大限度地覆蓋了 Linux 的安全需求 。隨著對操作系統(tǒng)安全性的深入研究,將會(huì)引入新的訪問控制方法 。
上一頁;;[1];[2];[3]
在訪問內(nèi)部對象之前對內(nèi)核代碼進(jìn)行修改,以調(diào)用一個(gè)代表實(shí)施函數(shù)的鉤子,該實(shí)施函數(shù)實(shí)現(xiàn)安全策略 。該函數(shù)根據(jù)預(yù)定義的策略驗(yàn)證操作能否繼續(xù)進(jìn)行 。安全函數(shù)存儲在一個(gè)安全操作結(jié)構(gòu)中,該結(jié)構(gòu)包含必須受到保護(hù)的基本操作 。例如,security_socket_create 鉤子(security_ops->socket_create)在創(chuàng)建新 socket 之前檢查權(quán)限,并考慮協(xié)議集、類型、協(xié)議,以及 socket 是在內(nèi)核中創(chuàng)建還是在用戶空間中創(chuàng)建 。清單 1 提供了 socket.c 中用于創(chuàng)建 socket 的示例代碼 。
清單 1. 創(chuàng)建 socket 的內(nèi)核代碼
;;;;static int __sock_create(int family, int type, int protocol,
struct socket **res, int kern)
{
int err;
struct socket *sock;
/*
* Check protocol is in range
*/
if (family < 0 || family >= NPROTO)
return -EAFNOSUPPORT;
if (type < 0 || type >= SOCK_MAX)
return -EINVAL;
err = security_socket_create(family, type, protocol, kern);
if (err)
return err;
...
security_socket_create 函數(shù)在 ./linux/include/linux/security.h 中定義 。它提供了從 security_socket_create 到 security_ops 結(jié)構(gòu)中動(dòng)態(tài)安裝的函數(shù)的間接調(diào)用(參見清單 2) 。
清單 2. 用于 socket 創(chuàng)建檢查的間接調(diào)用
;;;;static inline int security_socket_create (int family, int type,
int protocol, int kern)

推薦閱讀