零碎办理员的SE通博8888官网指南:这个大题目的42个答案 - 51CTO.COM
|
|
|
|
挪动端

零碎办理员的SE通博8888官网指南:这个大题目的42个答案

平安、巩固、服从性、战略是季世中零碎办理员的四骑士。除了我们的一样平常义务之外 —— 监控、备份、施行、调优、更新等等 —— 我们还需求担任我们的零碎平安。

作者:Alex Callejas泉源:通博8888官网中国|2018-08-09 09:30

技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合讨论小顺序电商实战

获取有关生存、宇宙和除了有关 SE通博8888官网 的紧张题目的答案

“一个紧张而广泛的现实是,事变并不总是你看上去的那样 …” ―Douglas Adams,《银河系遨游指南》

平安、巩固、服从性、战略是季世中零碎办理员的四骑士。除了我们的一样平常义务之外 —— 监控、备份、施行、调优、更新等等 —— 我们还需求担任我们的零碎平安。即便这些零碎是第三方提供商通知我们该禁用加强平安性的零碎。这看起来像《碟中碟》中 Ethan Hunt 的任务一样。

面临这种困境,一些零碎办理员决议去服用蓝色小药丸,由于他们以为他们永久也不会晓得如生命、宇宙、以及别的一些大题目的答案。而我们都晓得,它的答案便是这个 42

按《银河系遨游指南》的肉体,这里是关于在你的零碎上办理和运用 SE通博8888官网 这个大题目的 42 个答案。

  1. SE通博8888官网 是一个标签零碎,这意味着每个历程都有一个标签。每个文件、目次、以及零碎工具都有一个标签。战略规矩担任控制标签化的历程和标签化的工具之间的拜访。由内核强迫实行这些规矩。
  2. 两个最紧张的观点是:标签化(文件、历程、端口等等)和范例强迫(基于差别的范例断绝差别的的历程)。
  3. 准确的标签款式是 user:role:type:level(可选)。
  4. 多级别平安Multi-Level Security(MLS)强迫的目标是基于它们所运用数据的平安级别,对历程(域)强迫施行控制。比方,一个机密级另外历程是不克不及读取极秘密级另外数据。
  5. 多种别平安Multi-Category Security(MCS)强迫互相维护类似的历程(如假造机、OpenShift gears、SE通博8888官网 沙盒、容器等等)。
  6. 在启动时改动 SE通博8888官网 形式的内核参数有:
    • autorelabel=1 → 强迫给零碎重新标签化
    • selinux=0 → 内核不加载 SE通博8888官网 根底设备的任何局部
    • enforcing=0 → 以答应permissive形式启动
  7. 假如给整个零碎重新标签化:

    1. # touch /.autorelabel
    2. # reboot

    假如零碎标签中有少量的错误,为了可以让 autorelabel 乐成,你可以用答应形式引导零碎。

  8. 反省 SE通博8888官网 能否启用:# getenforce

  9. 暂时启用/禁用 SE通博8888官网:# setenforce [1|0]

  10. SE通博8888官网 形态东西:# sestatus

  11. 设置装备摆设文件:/etc/selinux/config

  12. SE通博8888官网 是怎样任务的?这是一个为 Apache Web Server 标签化的示例:

    • 二进制文件:/usr/sbin/httpdhttpd_exec_t
    • 设置装备摆设文件目次:/etc/httpdhttpd_config_t
    • 日记文件目次:/var/log/httpdhttpd_log_t
    • 内容目次:/var/www/htmlhttpd_sys_content_t
    • 启动剧本:/usr/lib/systemd/system/httpd.servicehttpd_unit_file_d
    • 历程:/usr/sbin/httpd -DFOREGROUNDhttpd_t
    • 端口:80/tcp, 443/tcphttpd_t, http_port_t

    httpd_t 平安上下文中运转的一个历程可以与具有 httpd_something_t 标签的工具交互。

  13. 很多下令都可以接纳一个 -Z 参数去检查、创立、和修正平安上下文:

    • ls -Z
    • id -Z
    • ps -Z
    • netstat -Z
    • cp -Z
    • mkdir -Z

    当文件被创立时,它们的平安上下文会依据它们父目次的平安上下文来创立(能够有某些破例)。RPM 可以在装置进程中设定平安上下文。

  14. 这里有招致 SE通博8888官网 堕落的四个要害缘由,它们将在上面的 15 - 21 条中睁开描绘:

    • 标签化题目
    • SE通博8888官网 需求晓得一些工具
    • SE通博8888官网 战略或许使用有 bug
    • 你的信息能够被破坏
  15. 标签化题目:假如在 /srv/myweb 中你的文件没有被准确的标签化,拜访能够会被回绝。这里有一些修复这类题目的办法:

    • 假如你晓得标签:# semanage fcontext -a -t httpd_sys_content_t '/srv/myweb(/.*)?'
    • 假如你晓得和它有相反标签的文件:# semanage fcontext -a -e /srv/myweb /var/www
    • 规复平安上下文(关于以上两种状况):# restorecon -vR /srv/myweb
  16. 标签化题目:假如你是挪动了一个文件,而不是去复制它,那么这个文件将坚持原始的情况。修复这类题目:

    • 运用标签来改动平安上下文:# chcon -t httpd_system_content_t /var/www/html/index.html
    • 运用参考文件的标签来改动平安上下文:# chcon --reference /var/www/html/ /var/www/html/index.html
    • 规复平安上下文(关于以上两种状况):# restorecon -vR /var/www/html/
  17. 假如 SE通博8888官网 需求晓得 HTTPD 在 8585 端口上监听,运用下列下令通知 SE通博8888官网:# semanage port -a -t http_port_t -p tcp 8585

  18. SE通博8888官网 需求晓得能否容许在运转时改动 SE通博8888官网 战略局部,而无需重写 SE通博8888官网 战略。比方,假如盼望 httpd 去发送邮件,输出:# setsebool -P httpd_can_sendmail 1

  19. SE通博8888官网 需求晓得 SE通博8888官网 设置的封闭或翻开的一系列布尔值:

    • 检查一切的布尔值:# getsebool -a
    • 检查每个布尔值的描绘:# semanage boolean -l
    • 设置某个布尔值:# setsebool [_boolean_] [1|0]
    • 将它设置装备摆设为永世值,添加 -P 标记。比方:# setsebool httpd_enable_ftp_server 1 -P
  20. SE通博8888官网 战略/使用能够有 bug,包罗:

    • 不平凡的代码途径
    • 设置装备摆设
    • 重定向 stdout
    • 泄漏的文件描绘符
    • 可实行内存
    • 错误构建的库

    开一个工单(但不要提交 Bugzilla 陈诉;运用 Bugzilla 没有对应的效劳)

  21. 你的信息能够被破坏了,假设你被限定在某个地区,实验如许做:

    • 加载内核模块
    • 封闭 SE通博8888官网 的强迫形式
    • 写入 etc_t/shadow_t
    • 修正 iptables 规矩
  22. 用于开辟战略模块的 SE通博8888官网 东西:# yum -y install setroubleshoot setroubleshoot-server。装置完成之后重引导呆板或重启 auditd 效劳。

  23. 运用 journalctl 去列出一切与 setroubleshoot 相干的日记:# journalctl -t setroubleshoot --since=14:20

  24. 运用 journalctl 去列出一切与特定 SE通博8888官网 标签相干的日记。比方:# journalctl _SELINUX_CONTEXT=system_u:system_r:policykit_t:s0

  25. 当 SE通博8888官网 错误发作时,运用setroubleshoot 的日记,并实验找到某些能够的处理办法。比方:从 journalctl 中:

    1. Jun 14 19:41:07 web1 setroubleshoot: SE通博8888官网 is preventing httpd from getattr access on the file /var/www/html/index.html. For complete message run: sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
    2.  
    3. # sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
    4. SE通博8888官网 is preventing httpd from getattr access on the file /var/www/html/index.html.
    5.  
    6. 民主* Plugin restorecon (99.5 confidence) suggests 纨绔子弟纨绔子弟
    7.  
    8. If you want to fix the label,
    9. /var/www/html/index.html default label should be httpd_syscontent_t.
    10. Then you can restorecon.
    11. Do
    12. # /sbin/restorecon -v /var/www/html/index.html
  26. 日记:SE通博8888官网 记载的信息全在这些中央:

    • /var/log/messages
    • /var/log/audit/audit.log
    • /var/lib/setroubleshoot/setroubleshoot_database.xml
  27. 日记:在审计日记中查找 SE通博8888官网 错误:# ausearch -m AVC,USER_AVC,SELINUX_ERR -ts today

  28. 针对特定的效劳,搜刮 SE通博8888官网 的拜访向量缓存Access Vector Cache(AVC)信息:# ausearch -m avc -c httpd

  29. audit2allow 适用东西可以经过从日记中搜集有关被回绝的操纵,然后天生 SE通博8888官网 战略容许的规矩,比方:

    • 发生一团体类可读的关于为什么回绝拜访的描绘:# audit2allow -w -a
    • 检查容许被回绝的范例强迫规矩:# audit2allow -a
    • 创立一个自界说模块:# audit2allow -a -M mypolicy,此中 -M 选项将创立一个特命名称的强迫范例文件(.te),并编译这个规矩到一个战略包(.pp)中:mypolicy.pp mypolicy.te
    • 装置自界说模块:# semodule -i mypolicy.pp
  30. 设置装备摆设单个历程(域)运转在答应形式:# semanage permissive -a httpd_t

  31. 假如不再盼望一个域在答应形式中:# semanage permissive -d httpd_t

  32. 禁用一切的答应域:# semodule -d permissivedomains

  33. 启用 SE通博8888官网 MLS 战略:# yum install selinux-policy-mls。 在 /etc/selinux/config 中:

    1. SELINUX=permissive
    2. SELINUXTYPE=mls

    确保 SE通博8888官网 运转在答应形式:# setenforce 0

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

  34. 创立一个带有特定 MLS 范畴的用户:# useradd -Z staff_u john

    运用 useradd 下令,映射新用户到一个已存在的 SE通博8888官网 用户(下面例子中是 staff_u)。

  35. 检查 SE通博8888官网 和 通博8888官网 用户之间的映射:# semanage login -l

  36. 为用户界说一个指定的范畴:# semanage login --modify --range s2:c100 john

  37. 调解用户家目次上的标签(假如需求的话):# chcon -R -l s2:c100 /home/john

  38. 列出以后种别:# chcat -L

  39. 修正种别或许创立你本人的分类,修正如下文件:/etc/selinux/_<selinuxtype>_/setrans.conf

  40. 以某个特定的文件、脚色和用户平安上下文来运转一个下令或许剧本:# runcon -t initrc_t -r system_r -u user_u yourcommandhere

    • -t 是文件平安上下文
    • -r 是脚色平安上下文
    • -u 是用户平安上下文
  41. 在容器中禁用 SE通博8888官网:

    • 运用 Podman:# podman run --security-opt label=disable ...
    • 运用 Docker:# docker run --security-opt label=disable ...
  42. 假如需求给容器提供完全拜访零碎的权限:

    • 运用 Podman:# podman run --privileged ...
    • 运用 Docker:# docker run --privileged ...

就这些了,你曾经晓得了答案。因而请置信我:不必恐慌,去翻开 SE通博8888官网 吧

【编辑引荐】

  1. 通博8888官网局域网路由老手指南:第2局部
  2. 通博8888官网基金会和TODO结合公布中文版企业版开源指南
  3. 开源总监写的“甜蜜指南”:真的,普通人别碰开源项目
  4. 面向零碎办理员的网络办理指南
  5. 通博8888官网零碎办理员的Bash指南,11条Bash理论经历!

【责任编辑:庞桂玉 TEL:(010)68476606】


点赞 0
各人都在看
猜你喜好

读 书 +更多

超等网管员——网络设置装备摆设

本书深化过细地引见了用于构建网络的最紧张的硬件设置装备摆设——交流机、路由器、平安设置装备摆设和无线设置装备摆设,涵盖了原理、参数、分类、实用、计划、接口...

订阅51CTO邮刊

点击这里检查样刊

订阅51CTO邮刊