从原理到实践:深入探索Linux安全机制( 三 )

总的来看,chmod 用于修改文件或目录的权限,而 chown 用于修改文件或目录的所有者 。它们是不同的命令 , 用途和参数也不同 。在实际应用中,我们可以根据需要选择使用 chmod 或 chown 来对文件或目录进行相应的权限和所有者的修改操作 。
SELinuxSELinux(Security-Enhanced Linux)和 AppArmor 都是用于强化 Linux 系统安全性的安全模块,它们提供了额外的安全层来限制程序和进程的权限,以减少系统受到恶意攻击的风险 。
它是由美国国家安全局(NSA)开发的安全模块,旨在提供强大的访问控制机制 , 通过强制访问控制(mac)实现对系统资源的细粒度控制 。SELinux基于安全策略规则 , 可以限制程序、进程和用户对文件、网络资源以及其他系统资源的访问权限 , 从而减少潜在的安全漏洞 。SELinux的灵活性很高,但配置和管理相对复杂,想要熟练掌握有一定难度 。然而这并妨碍你来了解它,如果在使用Linux系统中,遇到一些棘手的问题,这个地方也是一个排查方向 。
这里可以先从以下几个方面来理解一下SELinux的工作原理:

  • 安全策略:
SELinux 使用安全策略来定义系统资源和对象之间的访问规则 。这些安全策略由 SELinux 策略库(Policy)管理,其中包括了对文件、进程、网络端口等各种资源的访问规则定义,以及用户角色和安全上下文等信息 。
  • 安全上下文:
在 SELinux 中 , 每个对象(如文件、进程)都有一个安全上下文 , 用于描述该对象的安全属性 。安全上下文由标签表示,包括了对象的类型(Type)、角色(Role)和用户(User)等信息 。这些安全上下文决定了对象可以执行的操作和被允许的访问权限 。
  • 强制访问控制:
SELinux 引入了强制访问控制(MAC),通过强制执行安全策略来限制系统资源的访问 。即使用户具有足够的权限(如 root),也无法绕过 SELinux 对资源的访问控制 。这种强制控制确保了系统的安全性,减少了恶意软件和攻击的影响范围 。
  • 安全上下文转换:
当进程或程序尝试访问某个资源时 , SELinux 会根据安全上下文进行访问权限的检查 。如果需要访问的资源与进程的安全上下文不匹配,SELinux 可能会进行安全上下文的转换,以确保访问的合法性 。
  • 日志和审计:
SELinux 提供了完善的日志和审计功能,可以记录系统中发生的安全事件和违反安全策略的行为 。这些日志信息对于系统管理员来说是非常有价值的,可以帮助其监控系统的安全状况,并及时采取措施应对潜在的安全威胁 。
以我个人经验来看 , 在日常工作来说,SELinux的安全策略管理是一个非常重要的地方,之前在搭建vsftp服务的时候,遇到的问题就是vsftp的配置正常,但是无法实现匿名用户的访问、文件上传,经过排查发现原因是SELinux的安全策略中,允许匿名用户写入的权限是关闭的,后来把这个权限打开,问题迎刃而解 。因此,我觉得 , 如果能够掌握SELinux安全策略的基本管理,还是比较实用的 。这里就给大家分享一下SELinux安全策略管理常用工具和命令的用法:
1、sestatussestatus命令可以查看当前 SELinux 的状态和基本信息,包括是否启用、当前模式等 。
sestatus
从原理到实践:深入探索Linux安全机制

文章插图
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 策略 。


推荐阅读