gsecurity 是 Linux 内核的一组修补程序, 重点是加强安全性。除其余外, 它容许系统管理员为系统定义最小特权策略, 在该策略中, 每一个进程和用户只有运行所需的最低权限。典型应用是在Web服务器和系统中接受来自不受信任位置的远程链接,例如为其用户提供shell访问的系统。shell
同grsecurity一块儿使用的主要组件是PaX,标记数据存储器,如堆栈上的数据存储器,不可执行,以及程序存储器不可写。 防止可执行内存页被注入的代码覆盖,从而防止利用许多类型的安全漏洞,例如缓冲区溢出。 PaX还提供地址空间布局随机化(ASLR),它随机化重要的内存地址,以阻止依赖这些地址的攻击。 PaX自己不是由grsecurity开发人员开发的,能够独立于grsecurity。 grsecurity的另外一个组成部分是它提供了一个完整的基于角色的访问控制(RBAC)系统。 RBAC旨在限制对一般由Unix访问控制列表提供的系统的访问,目的是建立一个彻底最小权限的系统,其中用户和进程具备正常工做的绝对最小权限,仅此而已。 这样,若是系统受到攻击,攻击者破坏或获取系统上敏感信息的能力能够大大下降。 RBAC经过一系列“角色”进行工做。 每一个角色均可以对他们能作什么或不能作什么有限制,这些角色和限制造成一个“政策”,能够根据须要进行修改。grsecurity以各类方式限制chroot,以防止各类漏洞,特权升级攻击,以及添加额外的检查和平衡。 Chroot修改: 在chroot以外没有附加共享内存,在chroot以外没有kill,在chroot以外没有ptrace(独立架构)。 grsecurity还为内核添加加强的审计(auditing)功能。为审核一个特定用户组,审核设备的安装/卸载,系统时间和日期的更改,chdir日志记录等。其余一些事情容许管理员也记录被拒绝的资源尝试,失败的fork尝试和带参数的exec日志记录。 可信路径执行是另外一个可选功能,可用于防止用户执行非root用户拥有的二进制文件,或者为可写的。这有助于防止用户执行他们本身的恶意二进制文件或意外执行可能已被恶意用户修改的系统二进制文件(可全球写入)。 grsecurity也增强了chroot“jails”工做的方式。可使用chroot的jails将特定进程与系统的其他部分隔开来,若是服务受到损害,可使用chroot监控,完成最小化损坏的可能。 例如将dmesg和netstat命令限制为root用户]。 其余功能和安全性改进: / proc限制不泄漏有关进程全部者的信息;符号连接/硬连接限制,以防止/ tmp比赛;硬连接限制及接到他们不拥有的文件;FIFO /命名管道限制dmesg(8)限制,加强了可信路径执行的实现;基于组的套接字限制。数据库
使用的不一样
术语,其中一些含义相同。咱们在此列出了其中一些术语及其定义。
访问控制列表
“访问控制列表(ACL)是附加到对象的权限列表。该列表指定容许访问对象的人员或内容以及容许对该对象执行的操做。”在这里:ACL用于表示单个角色或主题定义,或整个策略文件。
域
使用域,组合不属于同一组的用户以及组,以便他们共享单个策略。域名就像角色同样工做。
对象
对象是系统上运行的程序使用的系统的一部分。它能够是文件或目录的绝对路径;能力;系统资源;一个PaX标志;网络访问(IP ACL)。
策略
该策略是由grsecurity强制执行的系统范围的规则集。强制访问控制文章中提供了很是好的描述:“任何对象的任何操做都将根据受权规则集(a.k.a. policy)进行测试,以肯定是否容许操做。”
角色
角色是一种抽象,包含存在于Linux发行版中的传统用户和组以及特定于grsecurity的特殊角色。角色可用于将系统管理的职责分解为较小的逻辑责任集,例如“数据库管理员”或“DNS管理员”。将此方法与拥有单个超级用户(例如root)的方法进行比较,该超级用户用于执行系统上的每一个管理任务。
规则集
规则集的使用方式与“访问控制列表”的方式相同。它可能更经常使用于引用角色或主题定义,而不是整个策略文件。
主题
主题使用和访问对象,主题的规则集强制执行它可能使用的对象以及以何种方式使用。在实践中,主题一般是在系统上运行的程序。在grsecurity中,主题被定义为实际程序可执行文件(例如/ sbin / init)或目录(例如/ lib / hal / scripts)的绝对路径。
最简单的方法是经过纠正拼写错误的单词或重构句子或段落来加强现有内容,使其更具可读性。若是您的文本不适合任何其余页面,也欢迎您经过展开正在开发的页面或添加 全新页面来添加新内容。随着grsecurity的积极开发和添加和删除功能,很是感谢帮助保持内容最新。
如何努力
结构安全
结构遵循grsecurity项目的原始文档,该文档有三个主要章节:安装,配置和规范,以及使用gradm和学习模式。配置和规范被从新命名为策略配置。使用gradm和学习模式被从新命名为管理,而且在策略配置以前也被移动,由于在配置策略以前必须知道如何管理grsecurity。这就是最终的核心结构:安装,管理,策略配置。
受益目标
主要适用于可以自行解决各类复杂性的硬件和软件问题以及实际阅读本博客的人员。了解本身最喜欢的Linux发行版,熟悉从源代码配置和构建软件。
目标
目的是提供全面,可靠和最新的grsecurity及相关工具文档。除了知道如何作某事外,还提供了有关最佳实践的信息以及在实践中学到的常见缺陷。这是主要目标。
每章都有其余目标,定义了读者阅读后应该知道的内容。这些目标是在大部分核心内容到位后定义的,所以在撰写本文时,某些章节可能没法实现其全部目标。
简介 - 读者必须从基本层面了解grsecurity是什么,它的目标是什么以及如何实现这些目标。应该大体了解grsecurity的含义。