成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

應用強制訪問控制管理網絡服務

安全 網站安全
與傳統的自主訪問控制不同,強制訪問控制具有更高的安全性。SELinux是強制訪問控制機制的一個代表,本文將介紹什么是強制訪問控制機制以及如何啟動SELinux

與傳統的自主訪問控制不同,強制訪問控制具有更高的安全性。SELinux是強制訪問控制機制的一個代表,本文將介紹如何應用該機制來管理網絡服務的文件系統訪問權限,并以Fedora 16下的SELinux為例進行實例介紹。

一、強制訪問控制機制簡介

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

而在強制型訪問(mandatory access control,MAC)模型中,數據的擁有者沒有決定誰能訪問這些文件的權力,是由操作系統最后做出決定,并且可能會覆蓋數據擁有者的設置。這種模型更為結構化并更加嚴格,一般基于安全標簽系統來實現。用戶被賦予一個安全級別(秘密、機密、絕密等),且數據也被分成了多個類別。這種分類存儲在資源的安全標簽里面。分類標簽指明了用戶訪問一個文件時必備的可信級別。

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

二、如何啟動和關閉SELinux

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

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

 

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

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

2) 在permissive模式下,策略規則不被強制執行,而只是進行審核。除此之外,SELinux不會影響系統的安全性,這個模式在調試和測試一個策略時非常有用。

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

以下是啟動SELinux的詳細步驟示意:

(1)編輯配置文件

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

 

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

#/usr/sbin/getenforce

#/usr/sbin/sestatus

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

#reboot

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

三、使用SELinux策略目錄

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

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

 #p#

圖1  /etc/selinux/目錄的簡單列表輸出 

如上面所看到的,在系統上安裝了一個策略目錄:targeted。注意目錄和策略子目錄都用selinux_config_t類型進行標記的。

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

每個策略子目錄包括的文件和文件如何標記必須遵守一個規范,這個規范被許多系統實用程序使用,幫助管理策略,通常,任何設計優良的策略源樹都將正確安裝策略文件,下面是targeted策略目錄的列表輸出,它就是一個典型,如圖2所示:

 

如上所示:一個正在運行的系統不需要src/目錄,它包括了安裝的策略源樹,要么是示例策略,要么是應用策略源樹,實際上單片二進制策略文件存儲在.policy/目錄中的policy.[ver]文件中,這里的[ver]就是策略二進制文件的版本號,如policy.19,這就是系統啟動時載入內核的文件。

四、管理網絡服務的文件系統訪問權限

在SELinux中,有一個非常重要的概念稱為布爾變量,它通常用來在運行時改變SELinux的部分策略,而不需要重新定義和改寫策略文件。并且,這些布爾變量在很大程度上也與許多網絡服務的訪問權限相關,比如對網絡文件系統(NFS)的訪問,對FTP的訪問等等。

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

通過列出系統中的布爾變量,可以知道與布爾變量相關的策略的開關情況(on或者是off狀態),從而知道相關網絡服務的訪問權限狀態。可以使用如圖3命令進行羅列:

 

 

圖3  查看系統布爾變量

上述結果中的SELinux boolean列列出了系統中的布爾變量名稱,Description列則給出了該布爾變量的開關狀態。比如,如下的布爾變量表示的意思是阻止ftp用戶訪問用戶目錄:

ftp_home_dir  -> 關   Allow ftp to read and write files in the user home directories

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

#/usr/sbin/getsebool –a

 

 #p#

圖4  顯示布爾變量的開關狀態

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

#/usr/sbin/getsebool allow_console_login

#/usr/sbin/getsebool allow_console_login allow_cvs_read_shadow

使用setsebool命令可以設置布爾變量(改變其開關狀態)。下面給出具體的例子來對其進行詳細介紹,該例子表明如何來對httpd_can_network_connect_db布爾變量來進行狀態設置,該布爾變量控制httpd服務器進程能否連接后臺數據庫系統:

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

# /usr/sbin/getsebool httpd_can_network_connect_db

httpd_can_network_connect_db --> off

(2)使用setsebool命令改變該布爾變量的狀態,從而使得httpd進程能夠訪問數據庫服務器:

#/usr/sbin/setsebool httpd_can_network_connect_db on

改變成功后,可以繼續使用getsebool命令進行查看:

#/usr/sbin/getsebool httpd_can_network_connect_db

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

#/usr/sbin/setsebool -P httpd_can_network_connect_db on

2.網絡服務對于文件系統的訪問權限管理

對于大多數網絡服務來說,各種網絡服務缺省情況下都能使用具有各自的服務類型的文件,比如nfs服務可以使用nfs_t類型的文件,samba服務可以使用cifs_t類型的文件。然而,由于NFS和CIFS這兩個共享文件系統的特殊性,HTTP服務和FTP服務都不能使用標記這兩個文件系統類型的文件,因此,在實際使用過程中,用戶需要對控制他們的布爾變量進行顯式的狀態修改,如下所示:

(1)對于Apache HTTP服務器

允許訪問NFS文件系統,需要運行如下命令,修改布爾變量:

#/usr/sbin/setsebool –P httpd_use_nfs on

允許訪問Samba文件系統,需要運行如下命令,修改布爾變量:

#/usr/sbin/setsebool –P httpd_use_cifs on

(2)對于Samba服務

允許共享NFS文件系統的文件,需要運行如下命令,修改布爾變量:

#/usr/sbin/setsebool –P samb_share_nfs on

(3)對于FTP服務器

允許訪問NFS文件系統,需要運行如下命令,修改布爾變量:

#/usr/sbin/setsebool –P allow_ftpd_use_nfs on

允許訪問Samba文件系統,需要運行如下命令,修改布爾變量:

#/usr/sbin/setsebool –P llow_ftpd_use_cifs on

(4)對于其他服務

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

查找與NFS相關的布爾變量:

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

查找與Samba相關的布爾變量:

#/usr/sbin/semanage bo

 

【編輯推薦】

  1. 攻擊MAC再出新招 黑客或可控制MAC電腦
  2. 關于域控制器的5大安全建議
  3. 解讀準入控制 保障企業內網安全
  4. iPhone或Android可被遠程控制
  5. 準入控制:讓企業網絡摘掉“公共場所”的帽子
責任編輯:Writer 來源: TechTarget中國
相關推薦

2020-06-03 09:00:20

firewall-cm網絡服務系統運維

2010-09-09 14:46:12

2020-02-28 17:21:39

華為

2010-04-20 13:54:24

Oracle強制訪問

2014-06-26 14:10:44

2009-07-27 13:32:37

2009-02-20 10:11:00

網絡服務網絡管理

2013-12-23 10:14:36

虛擬網絡

2013-12-24 07:17:25

虛擬網絡網絡虛擬化

2011-07-15 10:03:06

網絡服務虛擬應用

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

云計算網絡部署

2012-04-13 16:21:47

亞馬遜云計算CloudSerach

2011-08-22 10:30:29

nagios

2011-12-06 09:55:13

網絡訪問控制NAC

2013-04-28 10:18:42

SDNSDN應用4-7層

2010-04-20 13:44:58

Oracle強制訪問

2011-08-03 10:20:27

網絡智能手機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成人激情 | 最新国产精品视频 | 五月综合久久 | 91久久国产综合久久91精品网站 | 国产精品一区二区三区免费观看 | 国产精品一区二区三 | 欧美老妇交乱视频 | 美国一级黄色片 | 九九热国产精品视频 | 碰碰视频| 在线欧美亚洲 | 视频在线一区二区 | 成人福利影院 | 成人毛片在线视频 | 羞羞色影院| 免费成人高清在线视频 | 暖暖日本在线视频 | 超碰97免费在线 | 久久久久中文字幕 | 自拍中文字幕 | 中文字幕乱码亚洲精品一区 | 国产欧美在线一区 | 久久久久亚洲 | 日韩成人在线播放 | 精品国产欧美一区二区三区成人 | 成人福利在线观看 | 男女一区二区三区 | 国产色| 欧美 日韩 中文 | 91超碰caoporn97人人 | 国产美女视频黄a视频免费 国产精品福利视频 | 国产精品久久久久久久一区探花 | 一区二区福利视频 | 毛片入口| 欧美一级免费看 | www.jizzjizz| 国产欧美日韩精品在线观看 | 久久久精品一区 | 国产精品久久久久999 | 国产成人精品一区 | 国产h视频|