DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1200|回复: 0
打印 上一主题 下一主题

[待整理] Grsecurity ACL系统

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 13:54:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  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
 
           
  1. [nixe0n@nixe0n nixe0n]$ cd linux-2.4.19
  2. [nixe0n@nixe0n linux-2.4.19]$ patch -p1 <../grsecurity-1.9.6-2.4.19.patch
复制代码
           
  然后在配置菜单中打开grsecurity支持的选项(相关选项的功能稍后将详细介绍),重新编译内核:
           
  1. [nixe0n@nixe0n linux-2.4.19]$ make menuconfig
  2. [root@nixe0n linux-2.4.19]# make dep&&make bzImage&&make modules&&make modules_install
  3. [root@nixe0n linux-2.4.19]# cp arch/i386/boot/bzImage /boot/GRSecKernelh
复制代码
           

  最后,使用自己喜欢的编辑器在/boot/grub/menu.lst文件中把GRSecKernel加入启动菜单。

  安装grsecurity管理工具gradm

  Grsecurity系统的管理工具叫做gradm,下载了最新版本的gradm之后,只要使用如下命令就可以完成编译和安装:
           
  1. tar &ndash;zxf gradm-.tar.gz
  2. cd gradm
  3. make
  4. make install
复制代码
           



  执行了make install命令时,需要定义一个管理Grsecurity ACL系统的密码。为了系统的安全性,应该使密码足够长,另外不要使这个密码和root账户的密码相同。

  Grsecurity的配置

  1.Grsecurity ACL的结构
  grsecurity ACL规则由主题进程和对象组成。主题进程是被执行的进程;对象是文件、资源、能力(capability)和对IP的访问控制。系统的主要访问控制列表文件位于/etc/grsec/acl,如果没有这个文件,启动grsecurity系统时就会报错。

  grsecurity ACL规则的结构如下所示:
           
  1. {
  2. [+|-]
  3. connect {
  4. /:-
  5. }
  6. bind {
  7. /:-
  8. }
  9. }
复制代码
           

  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系统也是如此。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-11-17 02:59 , 耗时 0.090109 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表