SElinux:系统保护[原理,案例,配置]

原理和功能

  1. 安全策略:SELinux的行为由一组详细的安全策略控制,这些策略定义了系统中的对象(如文件、进程)如何互相交互。

  2. 标签:SELinux为系统中的每个对象(包括文件、进程)和主体(用户、进程)分配安全标签。标签通常由类型、角色和级别组成,这允许SELinux精确控制访问权限。

  3. TE(Type Enforcement):类型强制是SELinux策略的核心部分,基于对象和主体的类型来决定访问权限。例如,一个拥有特定类型的进程可能只被允许访问具有特定类型的文件。

  4. RBAC(Role-Based Access Control):基于角色的访问控制允许根据用户的角色分配权限,这意味着用户的访问权限取决于其角色而不是身份。

  5. MLS(Multi-Level Security):多级安全是一种用于处理不同安全级别信息的策略,确保只有授权的用户可以访问特定安全级别的数据。

 总结:用户只分配【需要】的最小权限,进程只访问【需要】的资源,网络服务只能开启需要的端口。

运行模式

SELinux有两种主要的运行模式:

  • Enforcing:在执行模式下,SELinux将强制实施其安全策略,阻止未经授权的访问,并记录所有违反策略的尝试。
  • Permissive:许可模式下,SELinux不会强制实施策略,但会记录所有违反策略的活动,这通常用于调试和创建新的策略规则。 

案例

  1. 防止Web服务器访问敏感文件:假设有一个运行在Apache上的Web服务器,通过SELinux可以配置策略,使得即使Web服务器被黑客入侵,黑客也无法访问位于非公开目录的敏感文件。例如,SELinux可以限制Apache进程只能访问/var/www目录,而不能访问/home/etc目录中的文件。

  2. 限制数据库服务器的网络访问:在数据库服务器上,SELinux可以用来限制数据库服务(如MySQL或PostgreSQL)只能通过特定的网络端口与客户端通信。即使数据库软件存在漏洞,这也可以防止攻击者通过不正当的端口或协议访问数据库服务。

  3. 保护邮件服务器:SELinux可以配置策略来限制邮件服务(如Postfix或Sendmail)的文件访问权限和网络行为。这可以防止邮件服务被利用来执行未授权的操作,如访问或修改不应该访问的文件。

  4. 隔离用户应用:在多用户系统中,SELinux可以用来隔离用户的应用程序,确保它们无法互相干扰或访问彼此的数据。例如,如果一个用户的应用程序被攻击,SELinux可以限制攻击者仅能访问该应用程序的数据,而不能泄露其他用户的信息。

  5. 限制系统服务的权限:SELinux可以用来限制系统服务的权限,如只允许特定服务访问必要的文件和目录。例如,如果一个系统服务被设计用来写日志,SELinux可以确保该服务仅能写入指定的日志文件目录。

命令

        1.检查selinux状态:getenforce

        2.立即切换运行状态:setenforce【0,1】【宽松,强制】

        3.设置开机自动配置:默认为Enforcing状态

                1.修改配置文件:vim /etc/selinux/config

                2.SELINUX=disabled 或 permissive

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值