利用SELinux和AppArmor实现强制访问控制
1. SELinux对系统管理员的好处
SELinux是由美国国家安全局开发的免费开源软件项目。理论上它可以安装在任何Linux发行版上,但只有Red Hat类型的发行版默认安装并启用了它。它利用Linux内核模块中的代码以及扩展文件系统属性,确保只有授权的用户和进程才能访问敏感文件或系统资源。SELinux有三种使用方式:
- 防止入侵者利用系统。
- 确保只有具有适当安全许可的用户才能访问带有安全分类标签的文件。
- 除了强制访问控制(MAC),还可以用作基于角色的访问控制。
在实际应用中,最常见的是使用它来防止入侵者利用系统。例如,几年前的Shellshock漏洞,攻击者可以利用Bash shell中的这个漏洞获得root权限并入侵系统。但对于运行SELinux的系统,虽然攻击者仍可能进入系统,但SELinux会阻止他们成功执行攻击代码。
SELinux还能保护用户主目录中的数据。如果你的机器是网络文件系统(NFS)服务器、Samba服务器或Web服务器,SELinux会阻止这些守护进程访问用户主目录,除非你明确配置允许。在Web服务器上,SELinux可以防止恶意CGI脚本或PHP脚本的执行。如果你不需要服务器运行这些脚本,可以在SELinux中禁用它们。此外,在使用Docker时,如果没有MAC,普通用户很容易突破Docker容器并获得主机的root权限,而SELinux可以增强运行Docker容器的服务器的安全性。
不过,SELinux一开始因难以使用而声名狼藉,许多管理员会直接禁用它。但现在情况已经有所改善,它不再应该背负这个坏名声。
SELinux与AppArmor实现强制访问控制
超级会员免费看
订阅专栏 解锁全文
21

被折叠的 条评论
为什么被折叠?



