国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 網絡通信 > 正文

GrsecurityACL系統(一)

2019-11-04 21:03:45
字體:
來源:轉載
供稿:網友

  摘要
  ACL(access Control List,訪問控制列表)系統是一種軟件,它能夠為你的計算機提供更好的訪問控制。Grsecurity是眾多linux ACL系統中比較典型和成熟的一種。這個文檔是grsecurity工程的一個官方文檔,是我最近在研究Linux的ACL系統時,順便翻譯的。和lids之類的系統一樣,grsecurity比較復雜,而且文檔里面有很多地方也語焉不詳,所以出現錯誤在所難免。
  
  簡介
  
  1.什么是ACL系統?
  
  ACL(Access Control List,訪問控制列表)系統是一種軟件,它能夠為你的計算機提供更好的訪問控制.
  
  2.為什么需要ACL系統?
  
  訪問控制系統的作用是限制包括root用戶在內的所有用戶對文件、能力、資源或者套接字的訪問。這是一種合法性訪問控制(Mandatory Access Control)模型。隨著對系統安全性的日益關注,出現了很多針對Linux系統的訪問控制系統。這些Linux ACL系統多數是以內核補丁的形勢出現的,Grsecurity是其中比較典型和成熟的一種。使用grsecurity,系統治理員可以賦予進程盡可能小的權限,從而使攻擊者即使獲得了root權限也無法控制整個系統。
  
  3.支持的特征
  
  grsecurity具有以下功能:
  
  基于進程的訪問控制;
  基于進程的資源限制;
  ip訪問控制;
  阻止進程暴力攻擊的限制;
  完全智能的學習模型;
  可讀的配置文件;
  一個智能化的用戶空間治理工具;
  通過include指令,支持附加的ACL配置。參數是一個目錄或者一個文件;
  O(1)搜索算法;
  治理員模式;
  能力和ACL的繼續。
  
  
  
  安裝Grsecurity系統
  
  1.下載grsecurity內核補丁和治理工具gradm
  
  從grsecurity的官方網站http://www.grsecurity.net,我們可以獲得最新版本的grsecurity內核補丁和治理工具gradm的源代碼。本文將以Redhat 7.3和最新版本的Linux-2.4.19內核為例進行討論。
  
  2.安裝grsecurity內核補丁
  
  下載完成之后,我們開始安裝。進入內核源代碼所在的目錄,給內核源代碼打上grsecurity補丁:
  
  [nixe0n@nixe0n nixe0n]$ cd linux-2.4.19
  [nixe0n@nixe0n linux-2.4.19]$ patch -p1 <../grsecurity-1.9.6-2.4.19.patch
  
  
  
  然后在配置菜單中打開grsecurity支持的選項(相關選項的功能稍后將具體介紹),重新編譯內核:
  
  [nixe0n@nixe0n linux-2.4.19]$ make menUConfig
  [root@nixe0n linux-2.4.19]# make dep&&make bzImage&&make modules&&make modules_install
  [root@nixe0n linux-2.4.19]# cp arch/i386/boot/bzImage /boot/GRSecKernel
  
  
  
  最后,使用自己喜歡的編輯器在/boot/grub/menu.lst文件中把GRSecKernel加入啟動菜單。
  
  安裝grsecurity治理工具gradm
  
  Grsecurity系統的治理工具叫做gradm,下載了最新版本的gradm之后,只要使用如下命令就可以完成編譯和安裝:
  
  tar ?zxf gradm-.tar.gz
  cd gradm
  make
  make install
  
  
  
  執行了make install命令時,需要定義一個治理Grsecurity ACL系統的密碼。為了系統的安全性,應該使密碼足夠長,另外不要使這個密碼和root賬戶的密碼相同。
  
  
  Grsecurity的配置
  
  1.Grsecurity ACL的結構
  
  grsecurity ACL規則由主題進程和對象組成。主題進程是被執行的進程;對象是文件、資源、能力(capability)和對IP的訪問控制。系統的主要訪問控制列表文件位于/etc/grsec/acl,假如沒有這個文件,啟動grsecurity系統時就會報錯。
  
  grsecurity ACL規則的結構如下所示:
  
   {
  
        [+-]
  
   connect {
   /:-
   }
        bind {
   /:-
   }
  }
  
  
  
  2.grsecurity ACL規則的一些約定
  
  grsecurity的訪問控制規則包含一些需要注重的問題。使用時一定要記住這些約定,才能準確地利用其加強系統的安全性。這些約定包括:
  
  所有的路徑必須是絕對路徑;
  假如要禁止對某個文件的訪問,只要忽略模式(mode)參數就可以了;
  使用include要害詞,可以在規則中包含已經定義過的規則,例如:
  include
  
  grsecurity訪問控制規則支持注釋,絕大多數UNIX系統的配置文件以及shell等腳本都是用#作為注釋行的開頭,grsecurity規則也是;
  主題和對象不必是文件,他們也可以是有效的目錄;
  主題的模式包括:h、p、v、k和o(稍候我們將具體介紹);
  對象的模式包括:r、w、x、a、h、i和o(稍候我們將具體介紹);
  能力(capabilities)只有i一種模式;
  不管如何配置,都至少需要一個默認的ACL,它的主題是/。假如沒有,在啟動grsecurity ACL系統時,gradm會告訴你缺少默認ACL;
  任何主題進程的ACL規則都應該包含一個/對象;
  CAP_ALL不是一個真正的能力,只是為了方便,讓它表示所有的能力。例如,假如想要去掉CAP_SETUID之外的所有能力,可以使用-CAP_ALL和+CAP_SETUID實現;
  傳統的UNIX中,只有文件系統被賦予了訪問權限才能訪問文件系統上的文件,grsecurity ACL系統也是如此。
  
  
  3.模式及其含義
  
  3.1.主題進程的模式
  
  在grsecurity ACL系統中,主題有如下模式:
  
  h 這個進程是隱藏的,只能夠被具有v模式的進程看到;
  v 具有這個模式的進程擁有察看隱藏進程的能力;
  p 進程是受保護的,這種模式的進程只能被具有k模式的進程殺死;
  k 具有這個模式的進程可以殺死處于保護模式(p)的進程;
  l 為這個進程打開學習模式;
  o 撤銷ACL繼續
  
  3.2.對象的模式
  
  grsecurity訪問控制規則中的對象可以有如下模式:
  
  r 這個對象可以打開閱讀;
  w 這個對象可以打開寫或者添加;
  o 這個對象可以打開添加;
  h 這個對象是隱藏的;
  i 這個模式只用于二進制可執行文件。當這個對象被執行時,它繼續所在主體進程的訪問控制列表;
  
  4.繼續
  
  在grsecurity ACL系統中,存在一個叫做繼續(inheritance)的特征,它和C++種的繼續極為類似。繼續包括兩種方式,第一種和配置文件有關,而第二種和內河對ACL的處理方式有關。除了主題包含o模式的規則以外,所有的ACL規則都可以使用繼續。在ACL配置文件中有一些簡單的規則來控制繼續:
  
  對于當前規則的某個對象,假如父ACL規則中存在對這個對象的訪問控制,grsecurity就會比較兩個規則所作的限制,盡量使當前規則答應的權限不大于父規則答應的權限,除非當前規則的被定義為o模式。
  假如當前ACL規則中沒有對某個對象的限制,grsecurity會自動使用父規則對這個對象的限制。
  
  
  4.1.繼續示例
  
  為了便于理解,我們舉幾個有關繼續的例子:
  
  / {
   / rwx
   /etc rx
   /usr/bin rx
   /tmp rw
  }
  
  /usr/bin/mailman {
   /tmp rwxo
  }
  
  
  
  這兩個涉及到繼續的ACL規則展開后,將是如下形式:
  
  / {
   / rwx
   /etc rx
   /usr/bin rx
   /tmp rw
  }
  
  /usr/bin/mailman {
   / rwx
   /etc rx
   /usr/bin rx
   /tmp rwx
  }
  
  
  
  在/usr/bin/mailman和/兩個規則都包含對/tmp對象的訪問控制。而在/usr/bin/mailman規則中,/tmp對象具有o模式,因此/規則中對/tmp對象所作的限制將被忽略。
  
  grsecurity系統采用的繼續算法不僅僅只計算對父規則的繼續(例如:/bin和/bin/su),它會按照整個路徑計算當前規則對所有祖先規則的繼續。例如,在使用一個以/usr/X11R6/bin/XFree86為主題的訪問控制規則時,grsecurity會自動地計算/usr/X11R6/bin、/usr/X11R6、/usr、/等規則設置的訪問控制。
  
  針對很多可執行文件的訪問控制都有一些共性的設置,為了減少重復設置,grsecurity才引入繼續的特征。在某些非凡的規則中,你可以使用o主題模式,在整個規則的范圍內,禁止繼續父規則的訪問控制;也可以使用o對象模式,僅僅取消對某個對象訪問控制的繼續。
  
  內核對于繼續的處理略有不同,在這個例子中,當執行具有i模式的對象時,內核會包含進去一個主題ACL的拷貝。這樣,你就可以賦予特定進程派生出的進程以非凡的權限。例如:
  
  / {
   / rwx
   /tmp rw
  }
  
  /usr/bin/mozilla {
   /usr/bin/mozilla-bin rxi
   /tmp rwxo
  }
  
  
  
  在這個例子中,假設/usr/bin/mozilla是一個腳本(事實的確如此),通過它執行真正的mozilla程序/usr/bin/mozilla-bin。當/usr/bin/mo


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 紫阳县| 河池市| 浠水县| 四子王旗| 浑源县| 孟村| 兴化市| 灯塔市| 诸城市| 佛山市| 邯郸市| 榆社县| 通化县| 和林格尔县| 赫章县| 元阳县| 荆门市| 襄垣县| 简阳市| 确山县| 永登县| 孟津县| 和政县| 长岛县| 会同县| 江阴市| 辉县市| 耒阳市| 白沙| 无为县| 县级市| 博野县| 翼城县| 阳高县| 莎车县| 周宁县| 民勤县| 正定县| 彭州市| 屯门区| 柞水县|