最近踩了 SELinux 这个坑,sshd
在更换了自定义端口后启动失败,最后用 semanage
添加了端口才解决。然而我发现托管在 supervisor
下的 ssserver
使用了一个没有定义在 SELinux 中的端口,然后 ssserver
的进程属性如下
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 9681 ? S 0:05 /usr/bin/python /bin/ssserver -c /etc/ssserver.json
三个属性都是 unconfined
状态,按理来说应该没有权限绑定端口才对啊。
SELinux 的状态为 enforcing
1
jhaohai 2016-05-12 09:24:05 +08:00 via iPhone
为啥不禁用了
|
2
Explorare OP @jhaohai 因为我认同 SELinux 的理念,做好权限管理很重要,最大的问题在人,懒得翻 manpage 直接关掉 FirewallD 和 SELinux 就骗自己解决问题,迟早药丸。
|
3
whatot 2016-05-12 09:30:08 +08:00 via Android
全是 unconfined 就不关 selinux 的事情了
|
4
jhaohai 2016-05-12 09:32:23 +08:00 via iPhone
@Explorare 生产的服务器都看不到几个开 selinux 的,很多软件在安装手册上都建议关闭 selinux 。而且现在都是集中控制访问了,没人会在 host 上折腾 selinux 和 firewall
|
5
Explorare OP @whatot 也就是说 **SELinux** 是不管理 `unconfined` 的进程么?而只会限制配置了属性的进程?那不就违背了 least-privilege 的理念么?说好的默认最小权限呢 ( ´_ゝ`)
|
7
Explorare OP >>>Unconfined processes run in unconfined domains, for example, init programs run in the unconfined initrc_t domain, unconfined kernel processes run in the kernel_t domain, and unconfined Linux users run in the unconfined_t domain. For unconfined processes, SELinux policy rules are applied, but policy rules exist that allow processes running in unconfined domains almost all access. Processes running in unconfined domains fall back to using DAC rules exclusively. If an unconfined process is compromised, SELinux does not prevent an attacker from gaining access to system resources and data, but of course, DAC rules are still used. SELinux is a security enhancement on top of DAC rules – it does not replace them.
--[4.2. Unconfined Processes]( https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Targeted_Policy-Unconfined_Processes.html) RTFM 是解决问题的最佳方法,给自己一嘴巴 ⊂彡☆))∀`) 多谢各位帮助,问题已解决 |
8
Explorare OP 所以说如果实在怕 `ssserver` 被爆破,也许给这个进程配置属性后限制访问比较好?
|
9
whatot 2016-05-12 09:39:32 +08:00 via Android 1
关闭 selinux 以及类似的机制就是欺骗自己。如果 ftp 、 http 这种服务出现漏洞,还有几天前发生的 imagemagic 的漏洞,你怎么限制访问也没用, docker 都能被穿破,除非你去用虚拟机。
|