当前位置:   article > 正文

从原理到实践:深入探索Linux安全机制(一,从青铜到王者的路线

从原理到实践:深入探索Linux安全机制(一,从青铜到王者的路线
  • 安全策略:

SELinux 使用安全策略来定义系统资源和对象之间的访问规则。这些安全策略由 SELinux 策略库(Policy)管理,其中包括了对文件、进程、网络端口等各种资源的访问规则定义,以及用户角色和安全上下文等信息。

  • 安全上下文:

在 SELinux 中,每个对象(如文件、进程)都有一个安全上下文,用于描述该对象的安全属性。安全上下文由标签表示,包括了对象的类型(Type)、角色(Role)和用户(User)等信息。这些安全上下文决定了对象可以执行的操作和被允许的访问权限。

  • 强制访问控制:

SELinux 引入了强制访问控制(MAC),通过强制执行安全策略来限制系统资源的访问。即使用户具有足够的权限(如 root),也无法绕过 SELinux 对资源的访问控制。这种强制控制确保了系统的安全性,减少了恶意软件和攻击的影响范围。

  • 安全上下文转换:

当进程或程序尝试访问某个资源时,SELinux 会根据安全上下文进行访问权限的检查。如果需要访问的资源与进程的安全上下文不匹配,SELinux 可能会进行安全上下文的转换,以确保访问的合法性。

  • 日志和审计:

SELinux 提供了完善的日志和审计功能,可以记录系统中发生的安全事件和违反安全策略的行为。这些日志信息对于系统管理员来说是非常有价值的,可以帮助其监控系统的安全状况,并及时采取措施应对潜在的安全威胁。

以我个人经验来看,在日常工作来说,SELinux的安全策略管理是一个非常重要的地方,之前在搭建vsftp服务的时候,遇到的问题就是vsftp的配置正常,但是无法实现匿名用户的访问、文件上传,经过排查发现原因是SELinux的安全策略中,允许匿名用户写入的权限是关闭的,后来把这个权限打开,问题迎刃而解。因此,我觉得,如果能够掌握SELinux安全策略的基本管理,还是比较实用的。这里就给大家分享一下SELinux安全策略管理常用工具和命令的用法:

1、sestatus

sestatus命令可以查看当前 SELinux 的状态和基本信息,包括是否启用、当前模式等。

sestatus

sestatus输出信息的解读:

  • ELinux status: enabled

SELinux 状态为启用,这表示 SELinux 安全模块已经启用并正在系统中运行。

  • SELinuxfs mount: /sys/fs/selinux

SELinux 文件系统挂载点的路径为 /sys/fs/selinux,这是 SELinux 内核文件系统所在的路径。

  • SELinux root directory: /etc/selinux

SELinux 根目录的路径为 /etc/selinux,这是 SELinux 配置文件等相关文件存放的位置。

  • Loaded policy name: targeted

加载的策略名称为 targeted,这表示系统当前使用的是针对特定应用的 SELinux 策略。

  • Current mode: enforcing

当前 SELinux 模式为强制执行(enforcing),这意味着 SELinux 将强制执行安全策略,对违反规则的操作进行限制。

  • Mode from config file: enforcing

从配置文件中设置的 SELinux 模式也是强制执行(enforcing),这说明系统会在重启后继续以强制执行模式运行。

  • Policy MLS status: enabled

策略 MLS 状态为启用,这表示多级安全策略(MLS)功能在 SELinux 中是启用的。

  • Policy deny_unknown status: allowed

deny_unknown 策略状态为允许(allowed),这表示 SELinux 允许对未知进程进行访问控制。

  • Max kernel policy version: 31

最大内核策略版本号为 31,这是指内核支持的 SELinux 策略的最大版本号。

2、getenforce

getenforce命令可以查看 SELinux 的强制模式(Enforcing)、警告模式(Permissive)或禁用模式(Disabled)。

3、semanage

semanage命令可以查询和管理 SELinux 策略中的各种对象,如端口、用户、登录名等。比如查询ftp服务相关的布尔值是否处于打开状态,这里多解释一下,在 SELinux 安全策略中,布尔值(Boolean)是一种用于控制特定安全策略行为的开关变量。通过设置这些布尔值,可以启用或禁用特定的安全策略规则,从而调整系统的访问控制行为。

semanage boolean -l | grep ftp

如果semanage指令执行错误,可以是未安装SELinux管理工具包,执行下面的指令进行相关工具包安装,安装后再次执行上述命令:

sudo yum install policycoreutils

4、setsebool

setsebool 用于设置或修改 SELinux 的布尔值(Boolean)。布尔值通常以 on 或 off 的形式存在,用于表示某个特定的安全功能或行为是否启用。通过 setsebool,你可以启用或禁用特定的 SELinux 布尔值,从而调整系统的访问控制行为。

比如,允许vsftpd服务匿名用户写入

setsebool -P ftpd_anon_write on

其中,-P 参数表示永久性地修改该布尔值,而不仅仅是临时性地修改。

5、getsebool

用于查看 SELinux 布尔值的状态。比如,查询允许vsftpd服务匿名用户写入的布尔值:

getsebool ftpd_anon_write

写在最后

非常感谢你能耐心看完我的这篇文章,希望我的分享对你有所帮助。当然,如果你觉得这篇文章对你有所帮助,不妨点击点赞按钮,让更多的人看到这篇优质的技术分享。同时,别忘了将这篇文章收藏起来,也方便日后再次查阅。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

以上网络安全知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
[外链图片转存中…(img-aT8vskOo-1712605981301)]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/630956
推荐阅读
相关标签
  

闽ICP备14008679号