加入收藏 | 设为首页 | 会员中心 | 我要投稿 无锡站长网 (https://www.0510zz.cn/)- 运维、开发、CDN、操作系统、语音技术!
当前位置: 首页 > 建站 > 正文

系统管理员的SELinux指南:这个大问题的42个答案

发布时间:2018-08-14 19:19:42 所属栏目:建站 来源:Alex Callejas
导读:副标题#e# 技术沙龙 | 8月25日与多位资深技术大咖探讨小程序电商实战 获取有关生活、宇宙和除了有关 SELinux 的重要问题的答案 一个重要而普遍的事实是,事情并不总是你看上去的那样 ―Douglas Adams,《银河系漫游指南》 安全、坚固、遵从性、策略是末世中

日志:SELinux 记录的信息全在这些地方:

  • /var/log/messages
  • /var/log/audit/audit.log
  • /var/lib/setroubleshoot/setroubleshoot_database.xml
  • 日志:在审计日志中查找 SELinux 错误:# ausearch -m AVC,USER_AVC,SELINUX_ERR -ts today

  • 针对特定的服务,搜索 SELinux 的访问向量缓存Access Vector Cache(AVC)信息:# ausearch -m avc -c httpd

  • audit2allow 实用工具可以通过从日志中搜集有关被拒绝的操作,然后生成 SELinux 策略允许的规则,例如:

    • 产生一个人类可读的关于为什么拒绝访问的描述:# audit2allow -w -a
    • 查看允许被拒绝的类型强制规则:# audit2allow -a
    • 创建一个自定义模块:# audit2allow -a -M mypolicy,其中 -M 选项将创建一个特定名称的强制类型文件(.te),并编译这个规则到一个策略包(.pp)中:mypolicy.pp mypolicy.te
    • 安装自定义模块:# semodule -i mypolicy.pp
  • 配置单个进程(域)运行在许可模式:# semanage permissive -a httpd_t

  • 如果不再希望一个域在许可模式中:# semanage permissive -d httpd_t

  • 禁用所有的许可域:# semodule -d permissivedomains

  • 启用 SELinux MLS 策略:# yum install selinux-policy-mls。 在 /etc/selinux/config 中:

    1. SELINUX=permissive
    2. SELINUXTYPE=mls

    确保 SELinux 运行在许可模式:# setenforce 0

    使用 fixfiles 脚本来确保在下一次重启时文件将被重新标签化:# fixfiles -F onboot # reboot

  • 创建一个带有特定 MLS 范围的用户:# useradd -Z staff_u john

    使用 useradd 命令,映射新用户到一个已存在的 SELinux 用户(上面例子中是 staff_u)。

  • 查看 SELinux 和 Linux 用户之间的映射:# semanage login -l

  • 为用户定义一个指定的范围:# semanage login --modify --range s2:c100 john

  • 调整用户家目录上的标签(如果需要的话):# chcon -R -l s2:c100 /home/john

  • 列出当前类别:# chcat -L

  • 修改类别或者创建你自己的分类,修改如下文件:/etc/selinux/_<selinuxtype>_/setrans.conf

  • (编辑:无锡站长网)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

  • 推荐文章
      热点阅读