安全增强 Linux(SELinux)剖析
来源:互联网 发布:美国原油大非农数据 编辑:程序博客网 时间:2024/05/19 17:50
简介
公共网络(比如 Internet)充满着危险。只要将电脑连接到 Internet(即使只连接很短的时间),您就会感受到这一点。攻击者可以利用不安全性来获得对一个系统的访问,获得对信息的未授权访问,或者对一台计算机进行改造,以利用它发送垃圾邮件或攻击其他高端系统(使用 SYN 泛洪攻击,一种分布式拒绝服务攻击)。
分布式拒绝服务攻击(DDoS)通过 Internet 上的多个系统来实现(所以也称为僵尸电脑),这些系统消耗目标系统上的资源,(利用 TCP 的三向握手)使其不能被合法的用户访问。一种带有 cookie 的四向握手协议(Stream Control Transmission Protocol [SCTP])可以防御这种攻击,更多信息请参见 参考资料 一节。
SELinux 的起源SELinux 是一个面向政府和行业的产品,由 NSA、Network Associates、Tresys 以及其他组织设计和开发。尽管 NSA 将其作为一个补丁集引入,但从 2.6 版开始,它就被加入到 Linux 内核中。
GNU/Linux 非常安全,但它也非常动态:所做的更改会为操作系统带来新的漏洞,这些漏洞可能被攻击者利用,尽管人们都非常关心阻止未授权访问,但是发生入侵后会发生什么呢?
本文将探究 SELinux 背后的思想及其基本架构。关于 SELinux 的完整描述涉及一整本书的内容(参见 参考资料 一节),所以本文只关注其基本原理,使您了解 SELinux 的重要性及其实现过程。
访问控制方法
大多数操作系统使用访问控制来判断一个实体(用户或程序)是否能够访问给定资源。基于 UNIX® 的系统使用一种自主访问控制(discretionary access control,DAC)的形式。此方法通常根据对象所属的分组来限制对对象的访问。例如,GNU/Linux 中的文件有一个所有者、一个分组和一个权限集。权限定义谁可以访问给定文件、谁可以读取它、谁可以向其写入,以及谁可以执行它。这些权限被划分到三个用户集中,分别表示用户(文件所有者)、分组(一个用户组的所有成员)和其他(既不是文件所有者,又不是该分组的成员的所有用户)。
很多这样的访问控制都会带来一个问题,因为所利用的程序能够继承用户的访问控制。这样,该程序就可以在用户的访问层进行操作。与通过这种方式定义约束相比,使用最小特权原则 更安全:程序只能执行完成任务所需的操作。例如,如果一个程序用于响应 socket 请求,但不需要访问文件系统,那么该程序应该能够监听给定的 socket,但是不能访问文件系统。通过这种方式,如果该程序被攻击者利用,其访问权限显然是最小的。这种控制类型称为强制访问控制(MAC)。
另一种控制访问的方法是基于角色的访问控制(RBAC)。在 RBAC 中,权限是根据安全系统所授予的角色来提供的。角色的概念与传统的分组概念不同,因为一个分组代表一个或多个用户。一个角色可以代表多个用户,但它也代表一个用户集可以执行的权限。
SELinux 将 MAC 和 RBAC 都添加到了 GNU/Linux 操作系统中。下一节将探讨 SELinux 实现,以及如何将安全增强透明地添加到 Linux 内核中。
回页首
Linux 安全实现
在早期的 SELinux 中,它还是一个补丁集,它提供了自己的安全性框架。这存在着一些问题,因为它将 GNU/Linux 限制到一个单独的访问控制架构。Linux 内核继承了一种通用框架,将策略从实现中分离了出来,而不是采用单一的方法。该解决方案就是 Linux 安全模块(Linux Security Module,LSM)框架。LSM 提供了一种通用的安全框架,允许将安全模型实现为可载入内核模块(参见图 1)。
本文转自IBM Developerworks中国
请点击此处查看全文
- 安全增强 Linux(SELinux)剖析
- 安全增强 Linux (SELinux) 剖析
- 安全增强 Linux (SELinux) 剖析
- 安全增强 Linux (SELinux) 剖析(socket套接字创建源码分析)
- SElinux:安全增强linux详解
- SELinux实例:使用安全增强的Linux
- Redhat使用了SELinux来增强安全
- Linux关闭selinux安全子系统
- linux 关闭selinux安全验证和iptables
- Selinux安全
- linux服务器安全增强(ssh和iptables)
- 毕业设计:linux入侵检测安全增强实现
- linux 安全增强的经典模型
- linux下的selinux安全阻止问题及解决方案
- 安全 Linux:SELinux 的开发历史、架构和操作原则
- Linux主机安全防护系列(四)selinux关闭
- Linux学习之CentOS(三十)--SELinux安全系统基础
- Security-Enhanced Linux(SELinux)
- 精品教程:创建基于 Ajax 的 IM 客户端(Web development | Ajax 资源中心)
- FSO出错
- Jenabean:将 JavaBeans 轻松绑定到 RDF
- Object oriented analysis and design using UML
- 内存字节对齐详解
- 安全增强 Linux(SELinux)剖析
- pyinstall打包方法
- 数据结构在游戏中的体现
- C语言指针详解
- 如何解决SQLServer占内存过多的问题
- You're my Angle
- 将 .NET 应用从 Visual Studio 迁移到 Eclipse
- 富爸爸经典语录
- SRM399 BinarySum