太原站建设有多长时间,欧美做的爱爱网站有哪些,电影网站建设视频教程,用电脑做服务器搭建php网站SELinux 文章目录 SELinux1、SELinux简介2、SELinux的模式3、管理SELinux上下文4、bool开关 1、SELinux简介
为了保障linux系统的安全#xff0c;除了firewalld防火墙外#xff0c;linux系统管理员通常会控制用户和组的权限#xff0c;这种基于用户和组的安全模型称之为主动…SELinux 文章目录 SELinux1、SELinux简介2、SELinux的模式3、管理SELinux上下文4、bool开关 1、SELinux简介
为了保障linux系统的安全除了firewalld防火墙外linux系统管理员通常会控制用户和组的权限这种基于用户和组的安全模型称之为主动访问控制而SELinux提供了一个额外的系统安全层它是基于对象的安全模型对象可以是文件、目录或端口这样安全模型称之为强制访问控制。 SELinux提供了一组基于进程是否可以访问文件、目录或端口的安全策略。
security enhanced linux–安全加强的linux。是由美国国家安全局开发的以及历史。selinux之前是基于自主存取控制方法DAC只要符合权限即可通过suid和sgid特殊权限存在有一定的安全隐患甚至一些错误的配置就会引发巨大的漏洞被轻易攻击。 selinux是基于强制存取控制方法MAC应用程序或用户必须同时符合DCA既要对应selinux的MAC才能正常操作否则遭到拒绝。
DAC和MAC的比较 DAC:自主访问控制主体是用户访问目标文件由文件本身权限决定的 MAC:强制访问控制主体是程序访问目标文件由文件权限和策略决定。
2、SELinux的模式
SELinux一共有三种模式分别是Enforcing、Permissive和Disabled。
模式功能说明enforcing强制模式主动拒绝SELinux策略限制的访问行为同时会对访问行为进行记录permissive许可模式暂时允许SELinux策略正在限制的访问行为同时会对访问进行记录。该模式一般用于故障排除。disabled禁用模式完全禁用SELinux
强制模式与许可模式之间可以相互切换无需重新启动操作系统。若将模式从强制模式或许可模式更变设置为禁用模式时此时需要重新启动操作系统才能彻底禁用SELinux同样若将模式从禁用模式变更设置为强制模式或许可模式时此时也需要重新启动操作系统才能真正变更模式设置。
命令setenforce命令的设置只会改变SELinux当前的模式并不会影响操作系统启动后SELinux所处的模式。配置文件/etc/selinux/config中SELINUX参数值的修改只会影响操作系统启动后SELinux所处的模式并不会影响SELinux当前的模式。
3、管理SELinux上下文
Linux系统中每个文件、目录和端口都具有特别的安全标签该标签称之为SELinux上下文。SELinux安全策略就是通过SELinux上下文用来确定进程是否可以访问文件、目录或端口。
SELinux标签具有多种上下文依照顺序依次为用户、角色、类型和敏感度。RHEL中的默认策略会根据第三个上下文即类型值上下文来制定规则。类型值的特征非常明显通常以_t结尾。如web服务器的DocumentRoot目录/var/www/html中的文件或目录的类型为httpd_sys_content_t。
初始SELinux上下文
一般情况下文件的初始SELinux上下文由该文件父目录的SELinux上下文决定。当在某个目录中新建文件时父目录的SELinux上下文会分配给新建的文件。
SELinux上下文的更改
文件或目录SELinux上下文的更改由chcon和restorecon这两个命令完成。
命令功能描述chcon将文件或目录的SELinux上下文更改为指定的类型选项”-t”用于指定上下文类型restorecon更改文件或目录的SELinux上下文的首选方式。它使用SELinux策略中的规则来确定文件或目录默认的上下文
查看文件的context值
ll -Z /abc/aa查看目录的context值
ll -ldZ /abc/安全上下文三部分组成用户u、角色r和类型识别符t
chcon -t tmp_t redhat # 更改redhat的context值为tmp_trestorecon -v redhat # 恢复redhat的context值
# 更改路径context值也会发生变化。# 永久修改context值
semanage fcontext -a -t tmp_t /abc(/.*)?
restorecon -RFv /abc/标签换乱时touch /.autorelabel 重打标签 或将selinux配置文件中改为disabled重启再改回来。
4、bool开关
getsebool -a # 查看所有bool开关
setsebool -P # 修改布尔开关例子 临时修改服务器重启后失效
setsebool ftpd_full_access on永久修改
setsebool -P ftpd_full_access on端口标记 添加
semanage port -a -t [端口类型] -p 【tcp/udp】 【端口号】添加端口标签
semanage port -a -t http_port_t -p tcp 8910查询端口标签
semanage port -a | grep 8910修改端口标签
semanage port -m -t pegasus_http_port_t -p tcp 8910删除端口标签
semanage port -d -t pegasus_http_port_t -p tcp 8910
e port -m -t pegasus_http_port_t -p tcp 8910删除端口标签
semanage port -d -t pegasus_http_port_t -p tcp 8910