selinux的管理

来源:互联网 发布:js geturlparameter 编辑:程序博客网 时间:2024/06/05 00:37

第十单元 selinux的管理

基本 SELINUX安全性概念

SELINUX (安全增强型 Linux )是可保护你系统安全性的额外机制

在某种程度上 ,它可以被看作是与标准权限系统并行的权限系统。在常规模式中 ,以用户身份运行进程 ,并且系统上的文件和其他资源都设置了权限 (控制哪些用户对哪些文件具有哪些访问权 SELINUX 另一个不同之处在于 ,若要访问文件 ,你必须具有普通访

问权限和 SELINUX 访问权限。因此 ,即使以超级用户身份 root 运行进程 ,根据进程以及文件或资源 SELinux 安全性上下文可能拒绝访问文件或资源限)标签

示例:

 

在无 selinux 保护时 ,恶意人员可以尝试利用 web服务器中的安全漏洞强行进入系统。如果成功 , 将会控制以用户 apache身份运行的进程 ,这时再由一个本地安全漏洞就可能使攻击者获得超级用户的访问权限

selinux安全上下文访问规则

WEB 服务器的HTTPD 进程设置了 SELINUX上下文system_u:system_r:httpd_t标签。该上下文的重要部分是第三个用冒号分隔的字段 SELINUX 类型 : httpd_t

系统上的文件和资源也设置了 SELINUX 上下文标签 ,且重要的部分是 SELINUX 类型。例如 , /var/www/html的文件具有类型 httpd_sys_content_t  /tmp  /var/tmp 中的文件通常具有类型 tmp_t

Seliux 策略具有允许以httpd_t身份运行的进程访问标记 httpd_sys_content_t 的文件的规则。没有规则允许这些进程访问标记有 tmp_t 的文件 ,因此将拒绝这些访问 ,使常规文件权限指出应该允许这些访问

SELINUX模式

 

强制模式 : SELINUX 主动拒绝访问尝试读取类型上下文为 tmp_t web服务器。在强制模式中 , SELINXU既记录冲突 ,也强制执行

许可模式 :通常用于对问题进行故障排除。在许可模式下 ,即使没有明确规则 , SELINUX 也允许所有交互 ,并且记录所有被拒绝的交互。此模式可以用于确定你是否有 SELINUX 问题。无需重新引导即可从强制模式转为许可模式 ,或再从许可模式转回强制模式

显示及更改 SELINUX模式

getenforce setenforce 0|1

0表示 permissive #警告1表示 enforcing #强制

更改 selinux的开机状态

vim /etc/sysconfig/selinux

 

更改后重新启动才能生效

显示 SELinux文件上下文

什么确定文件的初始 SELinux 上下文 ?通常是父目录。将父目录的上下文指定给新创建的文件。这对 vimcp  touch命令其作用 ,但是,如果文件是在其他位置创建的并且保留了权( mv  cp -a一样 )则还将保留 SELinux上下文

许多处理文件的命令具有一个用于显示或设置 SELinux 上下文的选项(通常是 -Z )。例如, ps  lscp  mkdir使用 -Z 选项显示或设置 SELinux上下文

显示上下文

ps axZ

ps -ZC

ls -Z

修改 selinux安全上下文

chcon -t  ——次性定制安全上下文,执行 restorecon刷新后还原

semanage fcontext –永久更改文件的上下文

semanage命令

restorecon policycoreutil软件包的一部分

semanage policycoreutil-python软件包的一部分

semanage fcontext 可用与显示或修改restorrecon用来设置默认文件上下文的规则

semanage fcontext使用扩展正则表达式来指定路径和文件名。 fcontext 规则中最常用的扩展正则表达式是 (/.*)?, 表示随意地匹配 /后跟任何数量的字符

semanage fcontext将递归地与在表达式前面列出的目录以及该目录中的所有内容相匹配

 管理 SELinux 布尔值

SELinux 布尔值是更改SELinux 策略行为的开关。 SELinux布尔值是可以启用或禁用的规则。安全管理员可以使用 SELinux布尔值来调整策略 ,以有选择地进行调整

许多软件包都具有 man page *_selinux(8), 其中详细说明了所使用的一些布尔值 ; man -k_selinux可以轻松地找到这些手册

getsebool用于显示布尔值 , setsebool用于修改布尔值

setsebool -P 修改 SELinux策略 ,以永久保留修改。semanage boolean -l将显示布尔值是否永久

 

  SELinux冲突

必须安装 setroubleshoot-server 软件包 ,才能将SELinux 消息发送至/var/log/messages

etroubleshoot-server 侦听/var/log/audit/audit.log中的审核信息并将简短摘发送至 /var/log/messages

摘要包括 SELinux 冲突的唯一标识符 ( UUIDs ),可用于收集更多信息。 Sealert -l UUID用于生成定事件的报告。Sealert -a /var/log/audit/audit.log用于在该文件中生成所有事件的报告

[root@localhost ~]# > /var/log/messages  

[root@localhost ~]# > /var/log/audit/audit.log

 

 

 

 

0 0
原创粉丝点击