alpine-linux gsecurity 安全

Posted alpine-enterprise

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了alpine-linux gsecurity 安全相关的知识,希望对你有一定的参考价值。

      gsecurity 是 Linux 内核的一组修补程序, 重点是增强安全性。除其他外, 它允许系统管理员为系统定义最小特权策略, 在该策略中, 每个进程和用户只有运行所需的最低权限。典型应用是在Web服务器和系统中接受来自不受信任位置的远程连接,例如为其用户提供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的含义。

 

以上是关于alpine-linux gsecurity 安全的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security 的 ACL 配置问题

由于弹簧安全性,@Controller 被忽略

如何使用 Spring Security 3 检索 UserDetails?

在 Alpine Linux 上安装 Pillow 时没有这样的文件或目录“limits.h”

使用spring security时无法访问jsf页面,出现403

如何从 Spring Security 中的 java 代码登录用户?