永久黄网站色视频免费直播,yy6080三理论日本中文,亚洲无码免费在线观看视频,欧美日韩精品一区二区在线播放

無標(biāo)題文檔
wdCP系統(tǒng) (介紹,功能特性,運(yùn)行環(huán)境,安裝說明,演示,常見問題,使用教程) wdCDN系統(tǒng) (介紹,功能特性,運(yùn)行環(huán)境,安裝說明,演示,常見問題,使用手冊)
wdOS系統(tǒng) (介紹,功能特性,運(yùn)行環(huán)境,安裝說明,演示,常見問題,使用教程) wdDNS系統(tǒng) (介紹,功能特性,運(yùn)行環(huán)境,安裝說明,演示,常見問題,使用手冊)
注冊 發(fā)貼 提問 回復(fù)-必看必看 wddns免費(fèi)智能 DNS 開通 本地或虛擬機(jī)使 用wdcp 一鍵包在mysql編 譯時(shí)"卡住"
AI導(dǎo)航網(wǎng)AI應(yīng)用網(wǎng)站大全 wdcp官方技術(shù)支持/服務(wù) 阿里云8折優(yōu)惠券 無敵云 騰訊云優(yōu)惠中,現(xiàn)注冊更有260代金額券贈(zèng)送
返回列表 發(fā)帖
提問三步曲: 提問先看教程/FAQ索引(wdcp,wdcp_v3,一鍵包)及搜索,會(huì)讓你更快解決問題
1 提供詳細(xì),如系統(tǒng)版本,wdcp版本,軟件版本等及錯(cuò)誤的詳細(xì)信息,貼上論壇或截圖發(fā)論壇
2 做過哪些操作或改動(dòng)設(shè)置等

溫馨提示:信息不詳,很可能會(huì)沒人理你!論壇有教程說明的,也可能沒人理!因?yàn)?你懂的

[文檔] RedHat Enterprise Linux 4新安全機(jī)制(SELINUX)

Security Enhanced Linux(以下簡稱為SELinux)是RedHat Enterprise Linux 4(以下簡稱為RHEL4)上新的安全機(jī)制,在以往的RHEL系統(tǒng)中從未使用,這使得很多資深的系統(tǒng)管理員已開始使用RHEL4時(shí)弄得一頭霧水,出現(xiàn)了很多莫名其妙的錯(cuò)誤,隨后尋找?guī)椭虐l(fā)現(xiàn)原來是SELinux弄的。由于SELinux有著嚴(yán)格的安全控制和管理權(quán)使得系統(tǒng)管理員一時(shí)不知如何設(shè)定,索性就關(guān)閉了,很是可惜。究其原因,是當(dāng)一個(gè)事物出現(xiàn)時(shí),如果他給你帶來了麻煩,增加了工作量,便對其產(chǎn)生了厭惡感,這是人之常情。本文暫不探討SELinux 復(fù)雜的內(nèi)部運(yùn)作機(jī)制,只是先讓讀者對SELinux有個(gè)初步的認(rèn)識(shí)和了解,希望能在您的心里對SELinux留下一個(gè)好的印象,并認(rèn)識(shí)到盡管一開始時(shí)有些麻煩,但當(dāng)你熟悉了它以后,系統(tǒng)的管理會(huì)變得更輕松。
二.認(rèn)識(shí)DAC與MAC

在介紹SELinux之前,讀者需要了解兩個(gè)基本的系統(tǒng)訪問控制機(jī)制:

DAC(Discretionary access control,自主訪問控制):DAC機(jī)制就是指對象(比如程序、文件或進(jìn)程等)的的擁有者可以任意的修改或授予此對象相應(yīng)的權(quán)限。例如傳統(tǒng)Linux,Windows等。

MAC(Mandatory Access Control,強(qiáng)制訪問控制):MAC機(jī)制是指系統(tǒng)不再允許對象(比如程序、文件或文件夾等)的擁有者隨意修改或授予此對象相應(yīng)的權(quán)限,而是透過強(qiáng)制的方式為每個(gè)對象統(tǒng)一授予權(quán)限,例如SELinux。


圖1 DAC與MAC的不同(引自 Security Features in Red Hat Enterprise Linux 4)


三.SELinux的出身

National Security Agency(美國國家安全局,以下簡稱為NSA)一直非常關(guān)注計(jì)算機(jī)操作系統(tǒng)的安全領(lǐng)域。畢竟他們的工作任務(wù)之一就是要確保美國政府使用的計(jì)算機(jī)的安全,保證在其面臨沒完沒了的攻擊時(shí)仍能安全可靠的運(yùn)行。NSA發(fā)現(xiàn)大部分操作系統(tǒng)的安全機(jī)制,包括Windows和大部分UNIX以及Linux系統(tǒng),都是以DAC機(jī)制為安全認(rèn)證基礎(chǔ)的。由于DAC機(jī)制的設(shè)計(jì)很不利于系統(tǒng)安全,NSA便一直致力于開發(fā)出一套好的MAC安全認(rèn)證機(jī)制。

MAC 并不是由NSA發(fā)明的,它很早就出現(xiàn)了,但由于MAC的諸多問題,使得大型系統(tǒng)提供商對于將MAC集成到自己的系統(tǒng)中始終沒有興趣。即使是那些集成了 MAC 的提供商也通常是將其做為可選件提供,而沒有默認(rèn)安裝使用。原因很多,一是因?yàn)镸AC還不夠靈活,二是對于像Windows客戶系統(tǒng)這種面向普通用戶的系統(tǒng)來說,MAC加大了系統(tǒng)管理和使用的復(fù)雜性,得不償失。于是NSA的為了推廣MAC,確立了MAC下一步的研究方向,為使MAC更靈活并且并更容易被嵌入到操作系統(tǒng)。

起初,NSA的MAC系統(tǒng)是在LOCK系統(tǒng)上基于類型增強(qiáng)而且策略靈活的強(qiáng)制訪問控制體系,并且隨后發(fā)展為兩個(gè)基于Mach的系統(tǒng):DTMach和DTOS,后來在猶他大學(xué)的微內(nèi)核操作系統(tǒng)Fluke上實(shí)現(xiàn)出來,并命名為Flask安全體系。NSA希望有操作系統(tǒng)商能支持其開發(fā)的MAC機(jī)制,但由于所有的這些工作都是基于實(shí)驗(yàn)室,極少可以在實(shí)驗(yàn)室之外來進(jìn)行嘗試,以查看這些思想在真實(shí)的應(yīng)用程序的可行性,加之為保密項(xiàng)目,因此很難說服某個(gè)系統(tǒng)商采用,誰也不敢頭一個(gè)吃這個(gè)螃蟹。于是,NSA決定選擇開源代碼的Linux系統(tǒng)為實(shí)際市場試驗(yàn)系統(tǒng)。NSA把Flask安全體系集成到Linux操作系統(tǒng)中,SELinux便孕育而生,為了真正配合SELinux在Linux系統(tǒng)上的應(yīng)用實(shí)施, NSA將SELinux作為一個(gè)開放源碼項(xiàng)目發(fā)布出來,從而能獲得更加廣泛的開發(fā)者和用戶支持。

毫無意外,使用真正的系統(tǒng)讓 NSA 研究人員可以更好的理解SELinux在實(shí)際中的應(yīng)用,而其中體現(xiàn)出的問題是在試驗(yàn)系統(tǒng)中無法找到的。NSA的這一開源措施,在開源界猶如一顆原子彈,業(yè)界普遍對此是歡迎的,但也不能說NSA是為此作出了犧牲,因?yàn)檫@是個(gè)雙贏的舉措,因?yàn)闆]有Linux這個(gè)試驗(yàn)田,NSA的SELinux很難修得正果。另外選擇Linux不是毫無理由的:首先,Linux系統(tǒng)擁有著眾多的使用用戶,而且很多用戶本身具有很高的技術(shù)水平;其次,Linux基于開源,這樣使得 SELinux不屬用任何商業(yè)組織或公司,防止依此來牟利,也不利于SELinux的發(fā)展;最后,對于Linux,它作為新興的操作系統(tǒng),在桌面領(lǐng)域很難打敗Windows,因此它主要面對服務(wù)器領(lǐng)域,而安全就顯得至關(guān)重要,SELinux正好是它所迫切需要的。RedHat 是個(gè)很聰明的公司,F(xiàn)edora是其領(lǐng)導(dǎo)的Linux開源組織。其實(shí)說穿了,F(xiàn)edora就是其企業(yè)發(fā)行版的實(shí)驗(yàn)田。RedHat首先選擇了Fedora Core 2作為第一個(gè)SELinux實(shí)驗(yàn)操作系統(tǒng),但是預(yù)設(shè)為不開啟,但SELinux在其平臺(tái)上的表現(xiàn)還是取得了成功。到了Fedora Core3,SELinux已經(jīng)默認(rèn)為開啟,然后經(jīng)過修改,我們便在RHEL4上也看到SELinux。

另外需要補(bǔ)充說明的是,讀者不要以為僅僅存在SELinux這一個(gè)MAC項(xiàng)目,還有很多其他的MAC實(shí)現(xiàn)項(xiàng)目,用于其他不同的系統(tǒng)中。


四.SELinux原理

在SELinux 中,每個(gè)對象(程序、檔案、進(jìn)程等)都擁有一個(gè)Security Context(安全上下文),它就像標(biāo)簽一樣,貼在每個(gè)對象身上,上面記載著這個(gè)對象所具有的權(quán)限。而我們可以通過制定Security Policy(安全策略)來定義這些Security Context,從而定義哪種對象具有哪些權(quán)限。當(dāng)一個(gè)對象需要執(zhí)行某個(gè)動(dòng)作時(shí),系統(tǒng)會(huì)依照Security Policy所制定的內(nèi)容來檢查相對應(yīng)的權(quán)限,如果全部權(quán)限都符合的話,系統(tǒng)就會(huì)允許這個(gè)操作的執(zhí)行,否則都將遭到拒絕或失敗。這些過程不會(huì)影響到其它正常運(yùn)行的對象,系統(tǒng)會(huì)保證它們的安全系統(tǒng)結(jié)構(gòu)以及穩(wěn)定運(yùn)行。這里還要說明的是,到目前為止,SELinux系統(tǒng)中的某個(gè)對象需要執(zhí)行某個(gè)動(dòng)作的時(shí),系統(tǒng)權(quán)限認(rèn)證不僅僅單獨(dú)根據(jù)Security Policy所制定的內(nèi)容來檢查,同時(shí)還要根據(jù)傳統(tǒng)DAC來檢測,只有DAC以及SELinux全部認(rèn)證通過了才能進(jìn)行正常操作。

如果讀者了解chroot,那么就能很好的理解SELinux。 chroot 就是把某程序置于文件系統(tǒng)下的某一處,而當(dāng)運(yùn)行的時(shí)候,就不會(huì)離開這個(gè)文件系統(tǒng)的部份,也就是不會(huì)影響整個(gè)的文件系統(tǒng)。就好比如果把所有的對象都分配到不同的domain(域)中。而不同的 domain 卻彼此獨(dú)立,而且如果沒有經(jīng)過授權(quán)的對象就不可以在domain之間傳遞數(shù)據(jù),也就是說對象不能沒有授權(quán)就由domain A 跳到 domain B中,情況就如 chroot 一樣。

在傳統(tǒng)的類Unix中,root擁有著所有權(quán)限,有些用戶使用采用SELinux的Linux時(shí)發(fā)現(xiàn)自己就是root,但為何有些事情卻不允許執(zhí)行。其實(shí)說穿了就是因?yàn)?root 所屬的 domain 沒有授權(quán)可以跳到所需要執(zhí)行某程序的domain下,也就無法做希望的工作了。

在 SELinux系統(tǒng)啟動(dòng)的時(shí)候,會(huì)加載一個(gè)叫做 policy,* 的安全策略權(quán)限文件,這文件內(nèi)中就定義了相關(guān)權(quán)限。如果你之前設(shè)定了 SELinux 是不能在開機(jī)后轉(zhuǎn)回 permissive 模式的話,那你的 root 則可能無法修改當(dāng)中的設(shè)定!也就是說root在SELinux中已經(jīng)不具有默認(rèn)的所有權(quán)限。那到底這有什么好處呢?其實(shí)好處就如 chroot 一樣把系統(tǒng)內(nèi)任何東西都加上一層保護(hù)層。那就算是入侵進(jìn)入了你的計(jì)算機(jī),也只能在他破壞他入侵的這個(gè)domain環(huán)境!

對于RHEL4系統(tǒng),如何檢測是否已經(jīng)安裝了SELinux呢。首先檢查你的Linux系統(tǒng)的核心是否有支持ACL的功能。因?yàn)長inux系統(tǒng)并不是每一個(gè)版本的核心都有支持ACL的功能,而最簡單的方法就是檢查系統(tǒng)目前的核心能否支持:

# cat /boot/config-2.6.9-11.EL | grep ACL
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
注:config-2.6.9-11.EL位置根據(jù)系統(tǒng)的不同而不同,這里用的是RHEL4.1。

此時(shí)如果能看到上面的幾項(xiàng)則表示已經(jīng)編譯到核心中,ext3文件系統(tǒng)已支持ACL功能,這些功能在編譯核心選項(xiàng)中也可以找到。


五.傳統(tǒng)Linux SELinux

傳統(tǒng)Linux的安全認(rèn)證基于內(nèi)核的DAC機(jī)制,這種機(jī)制在遇到一個(gè)有缺陷或是惡意編寫的程序時(shí)就會(huì)導(dǎo)致很大的問題出現(xiàn),尤其是對于 setuid/setgid這種權(quán)限的設(shè)計(jì)。有些程序員在程序設(shè)計(jì)時(shí),當(dāng)需要設(shè)置執(zhí)行權(quán)限的時(shí)候,為了省事就直接用 setuid root,這樣的好處是給予程序最大的用戶權(quán)限r(nóng)oot來運(yùn)行,避免了因權(quán)限引起的問題,大大簡化程序的設(shè)計(jì),但是這種方式是極其危險(xiǎn)的。本文已經(jīng)提及過,類Unix系統(tǒng)中的root擁有絕對的權(quán)限,如果某個(gè)有缺陷的程序以root用戶運(yùn)行,可能會(huì)破壞系統(tǒng)文件甚至系統(tǒng)核心部分。如果是網(wǎng)絡(luò)服務(wù)程序,其漏洞很容易被黑客利用并發(fā)起攻擊,造成不可預(yù)知的后果。

SELinux的安全認(rèn)證基于內(nèi)核外的MAC機(jī)制,這種機(jī)制使得系統(tǒng)管理員可以定義整個(gè)系統(tǒng)的安全策略,這個(gè)策略可以基于其他因素,例如用戶的角色、程序的可信性及預(yù)期使用、程序?qū)⒁褂玫臄?shù)據(jù)的類型等等,來限制對象所具有的權(quán)限。當(dāng)你正確配置了SELinux系統(tǒng),不正常的應(yīng)用程序只會(huì)影響自己權(quán)限內(nèi)的domain,而對其它domain中的對象沒有絲毫影響。其它用戶程序的安全性和他們的后臺(tái)程序仍然可以正常運(yùn)行,并保持著它們的安全系統(tǒng)結(jié)構(gòu)。例如你某個(gè)服務(wù)是以 root 的權(quán)限執(zhí)行的。而此服務(wù)存在著一個(gè)極嚴(yán)重的 bug ,而使得入侵者可以通過這個(gè)服務(wù)的漏洞進(jìn)入系統(tǒng)。但如果你的 Linux 系統(tǒng)有SELinux 保護(hù)的話,那么入侵者仍沒有辦法破壞整個(gè)系統(tǒng),因?yàn)樗贿@個(gè)服務(wù)所屬的 domain 所限制。但是沒有 SELinux 保護(hù)的系統(tǒng),它就可能因此而入侵整個(gè)系統(tǒng),而產(chǎn)生不可預(yù)料的后果。

但是前提是要有好的安全原則,SELinux 最麻煩的就是需要配置一個(gè)好的Policy 才可以讓 SELinux 發(fā)揮效果。制定的太寬松會(huì)使 SELinux 毫無用武之地,而太嚴(yán)格又會(huì)讓使用者連日常工作都變的麻煩至極。NSA讓制定安全原則的工作由系統(tǒng)地發(fā)行者來做,而像Fedora、Redhat、 Novell SUSE 、Debian、Gentoo 等都制定了一套基本的安全原則用于自己的系統(tǒng)。

憑借著SELinux在Linux 上這一個(gè)十分重要技術(shù)的應(yīng)用,使其在加強(qiáng)了安全級別,傳統(tǒng)的Linux 安全級別一直是 C1 級或 C2 級,和 Windows 服務(wù)器的安全級別相同,而 SELinux 把 Linux 的安全級別提升至 B1 級,達(dá)到了基本的軍事級別。

在RHEL4 中,SELinux 與一系列因特網(wǎng)服務(wù)加以整合,包括 BIND、Network Time  Protocol (NTP)、Apache等,使得其優(yōu)點(diǎn)能夠更輕易地拓展。其要求極度安全環(huán)境的組織,可以于更多的應(yīng)用程序上實(shí)作更廣泛的SELinux 功能,甚至為

每一服務(wù)制定嚴(yán)格的SELinux 原則。。比如,傳統(tǒng)的Linux 系統(tǒng)若遭黑客侵入Web Server,可能導(dǎo)致整個(gè)系統(tǒng)的癱瘓;但有了SELinux 的保護(hù),我們可以很容易的建立一個(gè)只能在特定程序及特定的安全系絡(luò)中才能執(zhí)行的 Web 服務(wù)器,盡管Web Server被入侵,那么他也只能破壞這個(gè)Web Server,無法影響到其它的系統(tǒng)區(qū)域,將受害范圍減至最少。


六.SELinux在RHEL4上的安裝

下面對SELinux在RHEL 4上的安裝過程中加以介紹。在安裝過程中,會(huì)出現(xiàn)如圖3 的畫面,詢問是否啟用SELinux,默認(rèn)安裝選項(xiàng)「Active」。


       圖2 安裝時(shí)SELinux 的選項(xiàng)

這3個(gè)選項(xiàng)的不同之處在于:

□ 已禁用:停用SELinux 功能

□ 警告:僅顯示警告訊息

□ 活躍(默認(rèn)值):啟動(dòng)SELinux 功能

系統(tǒng)是否啟用SELinux 的設(shè)定,記錄在/etc/selinux/config文件中(/etc/sysconfig/selinux為此文件的鏈接),安裝完成后,可檢查其中的內(nèi)容,便可得知系統(tǒng)SELinux現(xiàn)在的狀態(tài)。文件內(nèi)容如下:


# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#       enforcing - SELinux security policy is enforced.

#       permissive - SELinux prints warnings instead of enforcing.

#       disabled - SELinux is fully disabled.

SELINUX=enforcing

# SELINUXTYPE= type of policy in use. Possible values are:

#       targeted - Only targeted network daemons are protected.

#       strict - Full SELinux protection.

SELINUXTYPE=targeted


SELINUX 參數(shù)值:有「enforcing、permissive、disabled」分別對應(yīng)安裝時(shí)的

選項(xiàng)「活躍、警告、已禁用」。

SELINUXTYPE 參數(shù)值:有「targeted、strict」兩種

SELINUXTYPE=targeted:保護(hù)網(wǎng)絡(luò)相關(guān)服務(wù)。

SELINUXTYPE=strict:完整的保護(hù)功能,包含網(wǎng)絡(luò)服務(wù)、一般指令及應(yīng)用程序

注:RHEL 4 目前尚未支持strict policy,只提供targeted policy,如果您強(qiáng)行的將SELINUXTYPE=targeted改為strict,系統(tǒng)啟動(dòng)時(shí)將會(huì)出現(xiàn)以下的提示而無法啟動(dòng)。


                         圖3 強(qiáng)行修改機(jī)制導(dǎo)致無法啟動(dòng)

在/etc/selinux/targeted文件夾中定義的就是targeted屬性,它是RHEL 4 巳定義好的policy,這個(gè)targeted policy 的用途可為保護(hù)下列的網(wǎng)絡(luò)服務(wù):

看清提問三步曲及多看教程/FAQ索引(wdcp,v3,一鍵包,wdOS),益處多多.wdcp工具集 阿里云主機(jī)8折優(yōu)惠碼

返回列表