RHCE_RHEL6_135 U12 SELinux
SELinux:安全增强型的Linux。保护系统安全。
计算机安全等级:a、b、c、d。开启selinux,linux系统升为b级,没有开启selinux,只是在c级;当然c级也再分为c1 c2…;windows也只不过d级。
Linux文件权限分为2种:
☻ DAC=Discretionary Access Control 传统访问控制。
► 以用户为出发点,来管理权限—-root。DAC缺点:因为root具有最高权限。如:sudo
☻ MAC=Mandatory Access Control (强制)委任式存取控制。
► 以程序为出发点—-http能访问文件的权限,由策略决定的。
一、查看文件和进程SELinux的context值:
► 所有文件和进程都具有安全上下文(context)。服务安装时,策略就被加载!
默认,大部分本地进程没有做定义的。
►根据安全需求,上下文具有多个元素
用户(主体):角色(目标):类型(上下文):敏感度:类别
user_u:object_r:user_tmp_t:s0:c0
上下文如何理解:
用户(主体):身份[root、system_u系统程序、user_u一般使用者]
角色(目标):object_r文件或目录、system_r程序
► 并非所有系统都将显示敏感度s0:类别c0
► 默认targeted策略主要使用类型元素
MAC:程序能否读取一个文件—文件上下文—-关联策略
实例:www —–httpd /var/www/html/index.html—策略
二、更改文件的context值:chcon -t 和 restorecon -vRF
三、配置SELinux:
四、配置sebool:
一般不改策略,太麻烦了,因为还要整合到内核当中。所以,就把策略变成变量,就叫布尔值。改布尔值,也等于改策略了。
SELinux布尔值是更改SELinux策略行为开关。SELinux布尔值是可以启用或禁用的规则。安全管理员可以使用SELinux布尔值来调整策略,以有选择地进行调整。setsebool -a |grep http查看某个服务当前所有的bool值,setsebool -P修改SELinux策略,以永久保留。Semanage boolean -l将显示布尔值是否永久。
五、SELinux排错工具setroubleshoot。sealert -b强制启用:
必须安装setroubleshoot-server包,才能将SELinux消息发送到/etc/log/messages。setroubleshoot-server侦听/etc/log/audit/audit.log中的审核信息并将简短摘要发送至/etc/log/messages。该摘要包括SELinux冲突的唯一标识符(UUID),可用于收集更多信息。sealert -l UUID用于生成特定事件报告。 sealert -a /var/log/audit/audit.log用于在该文件中生成所有事件的报告。
桌面右上角出现这个图标: 如果这个服务没起来,就没有这个图标!
字符界测试:[root@desktop24 ~]# links http://desktop25.exmaple.com
重新一下http服务。tail /var/log/messages才会有相应的报告。
[root@desktop24 ~]# tail /var/log/message 看这个更直观
[root@desktop24 ~]# tail /var/log/audit/autit.log 比较难懂
[root@desktop24 ~]# sealert -l UUID 生成报告
fix commd: 按这个提示的解决方案解决!
SElinux 管理: