偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

應(yīng)用強(qiáng)制訪問控制管理網(wǎng)絡(luò)服務(wù)

安全 網(wǎng)站安全
與傳統(tǒng)的自主訪問控制不同,強(qiáng)制訪問控制具有更高的安全性。SELinux是強(qiáng)制訪問控制機(jī)制的一個(gè)代表,本文將介紹什么是強(qiáng)制訪問控制機(jī)制以及如何啟動(dòng)SELinux

與傳統(tǒng)的自主訪問控制不同,強(qiáng)制訪問控制具有更高的安全性。SELinux是強(qiáng)制訪問控制機(jī)制的一個(gè)代表,本文將介紹如何應(yīng)用該機(jī)制來管理網(wǎng)絡(luò)服務(wù)的文件系統(tǒng)訪問權(quán)限,并以Fedora 16下的SELinux為例進(jìn)行實(shí)例介紹。

一、強(qiáng)制訪問控制機(jī)制簡(jiǎn)介

在傳統(tǒng)的訪問控制機(jī)制中,自主訪問控制模型占主導(dǎo)地位。使用自主訪問控制(discretionary access control,DAC)的系統(tǒng)可以讓資源的擁有者指定哪些主體可以訪問該資源。這種模型稱為“自主型”是因?yàn)閷?duì)訪問的控制是由資源擁有者自主決定的。在DAC模型中,訪問根據(jù)授予用戶的權(quán)限來進(jìn)行限制,這意味著客體的擁有者有權(quán)指定對(duì)這些客體的訪問類型。如果一個(gè)組織采用了DAC模型,那么網(wǎng)絡(luò)管理員可以讓資源的擁有者控制哪些人可以訪問他們的文件。DAC模型中最常見的實(shí)現(xiàn)方式是訪問控制列表(access control list,ACL),這個(gè)列表由用戶指定,由操作系統(tǒng)實(shí)施。我們使用的大多數(shù)操作系統(tǒng)都是基于自主型訪問控制模型的,比如Windows、Macintosh和主流的Unix系統(tǒng)。

而在強(qiáng)制型訪問(mandatory access control,MAC)模型中,數(shù)據(jù)的擁有者沒有決定誰能訪問這些文件的權(quán)力,是由操作系統(tǒng)最后做出決定,并且可能會(huì)覆蓋數(shù)據(jù)擁有者的設(shè)置。這種模型更為結(jié)構(gòu)化并更加嚴(yán)格,一般基于安全標(biāo)簽系統(tǒng)來實(shí)現(xiàn)。用戶被賦予一個(gè)安全級(jí)別(秘密、機(jī)密、絕密等),且數(shù)據(jù)也被分成了多個(gè)類別。這種分類存儲(chǔ)在資源的安全標(biāo)簽里面。分類標(biāo)簽指明了用戶訪問一個(gè)文件時(shí)必備的可信級(jí)別。

當(dāng)系統(tǒng)接到一個(gè)客體訪問請(qǐng)求時(shí),它根據(jù)主體的安全級(jí)別和客體的安全類別作出決策。主體如何訪問數(shù)據(jù)的規(guī)則由管理層制定,由管理員配置和管理,由操作系統(tǒng)來進(jìn)行實(shí)施,由安全技術(shù)支持。安全標(biāo)簽和各個(gè)客體附在一起,所以每一個(gè)文件、目錄和設(shè)備都有其自己的安全標(biāo)簽以及分類信息。一個(gè)用戶可能具有秘密(Secret)的訪問級(jí)別,他要訪問的數(shù)據(jù)具有絕密(Top Secret)的安全標(biāo)簽。這種情況下用戶會(huì)被拒絕訪問,因?yàn)樗陌踩?jí)別不等于或低于客體的安全類別。目前,最常見的MAC系統(tǒng)是由美國(guó)國(guó)家安全局(NSA)和安全計(jì)算(Secure Computing)公司開發(fā)的SELinux。在較高版本的Linux發(fā)行套件中,如Red Hat Enterprise Linux(RHEL)5,RHEL6,F(xiàn)edora 1至Fedora 16等版本中,都包含對(duì)SELinux的支持。

二、如何啟動(dòng)和關(guān)閉SELinux

使用SELinux的前提啟動(dòng)它。啟動(dòng)和禁用SELinux的步驟主要包括:1)修改其配置文件;2)執(zhí)行重啟。

首先需要介紹一下SELinux的主配置文件。主配置文件/etc/selinux/config控制系統(tǒng)下一次啟動(dòng)過程中載入哪個(gè)策略,以及系統(tǒng)運(yùn)行在哪個(gè)模式下,可以使用sestatus命令確定當(dāng)前SELinux的狀態(tài),下面顯示了一個(gè)config文件的例子:

 

SELinux模式(由上述例子中第6行的SELINUX選項(xiàng)確定):可以被設(shè)置為enforcing,permissive或disabled三種:

1) 在enforcing模式下,策略被完整執(zhí)行,這是SELinux的主要模式,應(yīng)該在所有要求增強(qiáng)Linux安全性的操作系統(tǒng)上使用。

2) 在permissive模式下,策略規(guī)則不被強(qiáng)制執(zhí)行,而只是進(jìn)行審核。除此之外,SELinux不會(huì)影響系統(tǒng)的安全性,這個(gè)模式在調(diào)試和測(cè)試一個(gè)策略時(shí)非常有用。

3) 在disabled模式下,SELinux內(nèi)核機(jī)制是完全關(guān)閉的,只有系統(tǒng)啟動(dòng)時(shí)策略載入前系統(tǒng)才會(huì)處于disabled模式,這個(gè)模式和permissive模式有所不同。permissive模式不會(huì)拒絕任何訪問,只是進(jìn)行審核;而在disabled模式下,SELinux將不會(huì)有任何動(dòng)作。特別地,在enforcing和permissive模式或disabled模式之間切換時(shí)要小心,當(dāng)返回enforcing模式時(shí),通常會(huì)導(dǎo)致文件標(biāo)記不一致。SELinux配置文件中的模式設(shè)置由init使用,在它載入初始策略前配置SELinux使用。

以下是啟動(dòng)SELinux的詳細(xì)步驟示意:

(1)編輯配置文件

根據(jù)上面的介紹,編輯確定SELinux的運(yùn)行模式和活動(dòng)策略(見下面配置文件中的黑體部分)即可:

 

(2)使用getenforce命令和sestatus命令查看SELinux的運(yùn)行模式和詳細(xì)上下文信息:

#/usr/sbin/getenforce

#/usr/sbin/sestatus

(3)使用root用戶身份重啟系統(tǒng)即可:

#reboot

同理,禁用SELinux的步驟就是在編輯配置文件時(shí)設(shè)為“SELINUX=diabled”。

三、使用SELinux策略目錄

如上述的例子中,SELinux配置文件中的SELINUXTYPE選項(xiàng)告訴init在系統(tǒng)啟動(dòng)過程中載入哪個(gè)策略,這里設(shè)置的字符串必須匹配用來存儲(chǔ)二進(jìn)制策略版本的目錄名,例如,用戶使用MLS(Multi-Level Security,多級(jí)安全)策略,因此用戶設(shè)置SELINUXTYPE=MLS,確保用戶想要內(nèi)核使用的策略在/etc/selinux/config文件中。在上述例子中,活動(dòng)策略默認(rèn)為目標(biāo)策略(targeted),由第10行給出所示。

SELinux系統(tǒng)上安裝的每個(gè)策略在/etc/selinux/目錄下都它們自己的目錄,子目錄的名字對(duì)應(yīng)于策略的名字(如,strict,targeted,refpolicy等),在SELinux配置文件中就要使用這些子目錄名字,告訴內(nèi)核在啟動(dòng)時(shí)載入哪個(gè)策略,在本章中提到的所有路徑都是相對(duì)域策略目錄路徑/etc/selinux/[policy]/的,圖1是在最新的Fedora 16系統(tǒng)上/etc/selinux/目錄的簡(jiǎn)單列表輸出:

 #p#

圖1  /etc/selinux/目錄的簡(jiǎn)單列表輸出 

如上面所看到的,在系統(tǒng)上安裝了一個(gè)策略目錄:targeted。注意目錄和策略子目錄都用selinux_config_t類型進(jìn)行標(biāo)記的。

semodule和semanage命令管理策略的許多方面,semodule命令管理可載入策略模塊的安裝、更新和移除,它對(duì)可載入策略包起作用,它包括一個(gè)可載入策略模塊和文件上下文消息,semanage工具管理添加、修改和移除用戶、角色、文件上下文、多層安全(MLS)/多范疇安全(MCS)轉(zhuǎn)換、端口標(biāo)記和接口標(biāo)記,關(guān)于這些工具的更多信息在它們的幫助手冊(cè)中。

每個(gè)策略子目錄包括的文件和文件如何標(biāo)記必須遵守一個(gè)規(guī)范,這個(gè)規(guī)范被許多系統(tǒng)實(shí)用程序使用,幫助管理策略,通常,任何設(shè)計(jì)優(yōu)良的策略源樹都將正確安裝策略文件,下面是targeted策略目錄的列表輸出,它就是一個(gè)典型,如圖2所示:

 

如上所示:一個(gè)正在運(yùn)行的系統(tǒng)不需要src/目錄,它包括了安裝的策略源樹,要么是示例策略,要么是應(yīng)用策略源樹,實(shí)際上單片二進(jìn)制策略文件存儲(chǔ)在.policy/目錄中的policy.[ver]文件中,這里的[ver]就是策略二進(jìn)制文件的版本號(hào),如policy.19,這就是系統(tǒng)啟動(dòng)時(shí)載入內(nèi)核的文件。

四、管理網(wǎng)絡(luò)服務(wù)的文件系統(tǒng)訪問權(quán)限

在SELinux中,有一個(gè)非常重要的概念稱為布爾變量,它通常用來在運(yùn)行時(shí)改變SELinux的部分策略,而不需要重新定義和改寫策略文件。并且,這些布爾變量在很大程度上也與許多網(wǎng)絡(luò)服務(wù)的訪問權(quán)限相關(guān),比如對(duì)網(wǎng)絡(luò)文件系統(tǒng)(NFS)的訪問,對(duì)FTP的訪問等等。

1.布爾變量的羅列和配置

通過列出系統(tǒng)中的布爾變量,可以知道與布爾變量相關(guān)的策略的開關(guān)情況(on或者是off狀態(tài)),從而知道相關(guān)網(wǎng)絡(luò)服務(wù)的訪問權(quán)限狀態(tài)??梢允褂萌鐖D3命令進(jìn)行羅列:

 

 

圖3  查看系統(tǒng)布爾變量

上述結(jié)果中的SELinux boolean列列出了系統(tǒng)中的布爾變量名稱,Description列則給出了該布爾變量的開關(guān)狀態(tài)。比如,如下的布爾變量表示的意思是阻止ftp用戶訪問用戶目錄:

ftp_home_dir  -> 關(guān)   Allow ftp to read and write files in the user home directories

如下命令可以僅僅給出布爾變量的開關(guān)狀態(tài),而不給出他們的具體描述信息,如圖4所示:

#/usr/sbin/getsebool –a

 

 #p#

圖4  顯示布爾變量的開關(guān)狀態(tài)

并且,通過該命令可以查看具體的布爾變量(一個(gè)或者多個(gè))的開關(guān)狀態(tài)信息,如下所示:

#/usr/sbin/getsebool allow_console_login

#/usr/sbin/getsebool allow_console_login allow_cvs_read_shadow

使用setsebool命令可以設(shè)置布爾變量(改變其開關(guān)狀態(tài))。下面給出具體的例子來對(duì)其進(jìn)行詳細(xì)介紹,該例子表明如何來對(duì)httpd_can_network_connect_db布爾變量來進(jìn)行狀態(tài)設(shè)置,該布爾變量控制httpd服務(wù)器進(jìn)程能否連接后臺(tái)數(shù)據(jù)庫(kù)系統(tǒng):

(1)使用getsebool命令查看該布爾變量的缺省狀態(tài),表明該變量的缺省狀態(tài)是off,即不允許httpd進(jìn)程訪問后端數(shù)據(jù)庫(kù)服務(wù)器:

# /usr/sbin/getsebool httpd_can_network_connect_db

httpd_can_network_connect_db --> off

(2)使用setsebool命令改變?cè)摬紶栕兞康臓顟B(tài),從而使得httpd進(jìn)程能夠訪問數(shù)據(jù)庫(kù)服務(wù)器:

#/usr/sbin/setsebool httpd_can_network_connect_db on

改變成功后,可以繼續(xù)使用getsebool命令進(jìn)行查看:

#/usr/sbin/getsebool httpd_can_network_connect_db

(3)上述狀態(tài)改變只是暫時(shí)性的,一旦系統(tǒng)重啟,該變量狀態(tài)將改變回初始狀態(tài),因此,可以使用如下命令永久性改變狀態(tài):

#/usr/sbin/setsebool -P httpd_can_network_connect_db on

2.網(wǎng)絡(luò)服務(wù)對(duì)于文件系統(tǒng)的訪問權(quán)限管理

對(duì)于大多數(shù)網(wǎng)絡(luò)服務(wù)來說,各種網(wǎng)絡(luò)服務(wù)缺省情況下都能使用具有各自的服務(wù)類型的文件,比如nfs服務(wù)可以使用nfs_t類型的文件,samba服務(wù)可以使用cifs_t類型的文件。然而,由于NFS和CIFS這兩個(gè)共享文件系統(tǒng)的特殊性,HTTP服務(wù)和FTP服務(wù)都不能使用標(biāo)記這兩個(gè)文件系統(tǒng)類型的文件,因此,在實(shí)際使用過程中,用戶需要對(duì)控制他們的布爾變量進(jìn)行顯式的狀態(tài)修改,如下所示:

(1)對(duì)于Apache HTTP服務(wù)器

允許訪問NFS文件系統(tǒng),需要運(yùn)行如下命令,修改布爾變量:

#/usr/sbin/setsebool –P httpd_use_nfs on

允許訪問Samba文件系統(tǒng),需要運(yùn)行如下命令,修改布爾變量:

#/usr/sbin/setsebool –P httpd_use_cifs on

(2)對(duì)于Samba服務(wù)

允許共享NFS文件系統(tǒng)的文件,需要運(yùn)行如下命令,修改布爾變量:

#/usr/sbin/setsebool –P samb_share_nfs on

(3)對(duì)于FTP服務(wù)器

允許訪問NFS文件系統(tǒng),需要運(yùn)行如下命令,修改布爾變量:

#/usr/sbin/setsebool –P allow_ftpd_use_nfs on

允許訪問Samba文件系統(tǒng),需要運(yùn)行如下命令,修改布爾變量:

#/usr/sbin/setsebool –P llow_ftpd_use_cifs on

(4)對(duì)于其他服務(wù)

可以使用如下命令來查找相關(guān)的布爾變量并根據(jù)上述的例子進(jìn)行同樣修改即可:

查找與NFS相關(guān)的布爾變量:

#/usr/sbin/semanage boolean –l | grep nfs

查找與Samba相關(guān)的布爾變量:

#/usr/sbin/semanage bo

 

【編輯推薦】

  1. 攻擊MAC再出新招 黑客或可控制MAC電腦
  2. 關(guān)于域控制器的5大安全建議
  3. 解讀準(zhǔn)入控制 保障企業(yè)內(nèi)網(wǎng)安全
  4. iPhone或Android可被遠(yuǎn)程控制
  5. 準(zhǔn)入控制:讓企業(yè)網(wǎng)絡(luò)摘掉“公共場(chǎng)所”的帽子
責(zé)任編輯:Writer 來源: TechTarget中國(guó)
相關(guān)推薦

2020-06-03 09:00:20

firewall-cm網(wǎng)絡(luò)服務(wù)系統(tǒng)運(yùn)維

2010-09-09 14:46:12

2020-02-28 17:21:39

華為

2010-04-20 13:54:24

Oracle強(qiáng)制訪問

2014-06-26 14:10:44

2009-07-27 13:32:37

2009-02-20 10:11:00

網(wǎng)絡(luò)服務(wù)網(wǎng)絡(luò)管理

2013-12-23 10:14:36

虛擬網(wǎng)絡(luò)

2013-12-24 07:17:25

虛擬網(wǎng)絡(luò)網(wǎng)絡(luò)虛擬化

2011-07-15 10:03:06

網(wǎng)絡(luò)服務(wù)虛擬應(yīng)用

2011-08-22 11:00:14

nagios

2011-08-22 11:00:17

nagios

2011-08-22 11:00:10

nagios

2023-04-25 10:22:00

云計(jì)算網(wǎng)絡(luò)部署

2012-04-13 16:21:47

亞馬遜云計(jì)算CloudSerach

2011-08-22 10:30:29

nagios

2011-12-06 09:55:13

網(wǎng)絡(luò)訪問控制NAC

2013-04-28 10:18:42

SDNSDN應(yīng)用4-7層

2010-04-20 13:44:58

Oracle強(qiáng)制訪問

2011-08-03 10:20:27

網(wǎng)絡(luò)智能手機(jī)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)