分享
 
 
 

GrsecurityACL系统(一)

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

摘要

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支持的选项(相关选项的功能稍后将具体介绍),重新编译内核:

[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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有