做一个简单调查,各位 V 友说一下自己所在的行业,以及生产服务器 SELinux 的使用情况呗
1
lihongjie0209 2020-01-13 16:22:13 +08:00 9
setenfore 0
vim /etc/config/selinux disable |
2
realpg 2020-01-13 16:22:58 +08:00
个人使用 centos 极少
所有使用的 selinux 都没关 自己配规则 |
3
jasonyang9 2020-01-13 16:29:05 +08:00
搭车问下 cgroup 的使用情况下,或 systemd 的 slice 的使用情况
|
4
dreamusername 2020-01-13 16:45:37 +08:00
ECS CVM CentOS 默认关闭 SELinux 与 Firewalld
|
5
d0m2o08 2020-01-13 16:50:47 +08:00
同一楼 顺便 iptables -F
|
6
dorothyREN 2020-01-13 17:58:41 +08:00
灰产,selinux 自己配置
|
7
sayakafs 2020-01-13 18:25:19 +08:00 via iPhone
装完机就关掉,要不奇奇怪怪的报错太多了。
|
8
qwerthhusn 2020-01-13 18:30:08 +08:00
很早之前第一次,修改 SSH 端口号,修改完之后没问太多,下次重启就连不上了
然后到机房,连键盘显示器,发现 SSH 服务起不来。百度了下是 SELINUX 的问题。 以后就果断关掉 |
9
MeteorCat 2020-01-13 18:41:28 +08:00 via Android
disable,当年年轻不懂事想手动来配置,被狠狠教育一顿,这玩意配置真麻烦
|
10
Nitroethane OP @lihongjie0209 #1
@dreamusername #4 @d0m2o08 #5 @sayakafs #7 @qwerthhusn #8 @MeteorCat #9 讲道理,感觉使用前好好学一下 SELinux 的基本概念和配置,然后前期先设置成 permissive 状态,然后根据日志慢慢调规则,后期再慢慢设置成 enforcing,出现问题的几率应该会小很多吧。 |
11
lihongjie0209 2020-01-13 20:06:46 +08:00 1
@Nitroethane #10 系统上线了, 然后出了问题还要慢慢调?不可能的, 直接关了完事。不需要那么高的安全级别
|
12
CallMeReznov 2020-01-13 20:08:09 +08:00 2
那么多年了,我只在最近工作里看过一个人真的在一台 zabbix 服务器上使用 selinux
结果还因为这个被坑了. |
13
sundong 2020-01-13 20:13:25 +08:00
|
14
cdlnls 2020-01-13 20:28:53 +08:00
每次都是直接 disable,主要原因说实话就是玩不转这个。
准备这周周末学学。 |
15
Nitroethane OP |
16
james122333 2020-01-13 20:47:16 +08:00
安全主要还是在于基础的功能 很多其实都可以实现 当然 selinux 也可以
只是如果是自己的 server 肯定不会用它 |
17
lihongjie0209 2020-01-13 20:50:11 +08:00
@Nitroethane #15 用不着的东西熟悉干嘛?必要的东西也没必要拿出来讨论
|
18
jamry 2020-01-13 20:55:21 +08:00
生产环境关,太忒么难配置了。
|
19
guxingke 2020-01-13 21:13:53 +08:00 via Android
新系统初始化 第一件事就是关闭 selinux
|
20
wdv2ly 2020-01-13 21:38:47 +08:00 via Android 1
别说了,这东西把我害惨了。之前 docker 部署的程序有 50%以上几率客户端 http 连接超时,后来才发现是它搞的鬼。。
|
21
Buges 2020-01-13 21:47:07 +08:00 via Android
非常希望 Windows 这样的桌面系统能有 SELinux 这种针对进程而非用户的权限管理机制,然而服务器上是真的用不到。
|
22
YaakovZiv 2020-01-13 22:58:56 +08:00
运营商,直接关掉,全硬件安全设备,业务主机专注业务
|
23
sc2yml 2020-01-13 23:11:06 +08:00
传统金融行业,直接关掉,全硬件安全设备,小机和 X86 专注业务
|
24
yanqiyu 2020-01-13 23:20:11 +08:00 via Android 1
会自己写 policy,会解决大多数遇到的问题。从 VPS 到家用 NAS 都保证所有服务在 SELinux 的管理之下(偶尔自己写 policy )
虽然大多数情况也就是 audit2allow 然后看一下生成的策略对不对,有问题手改一下然后安装。 |
25
iRiven 2020-01-13 23:22:21 +08:00 via Android
手机有服务器没有⊙.☉
|
26
DANG 2020-01-13 23:36:03 +08:00 via Android
直接关,导致的问题一大堆还没啥用
|
27
MeteorCat 2020-01-14 00:32:08 +08:00 via Android
@Nitroethane 主要项目成型的互联网公司大概率不会启用,你敢在正式服务器乱开你就等着挨喷。测试服务器开权限一般也没这么严,不然整个测试环境还得顺带搞个 selinux 是真的麻烦,再说 docker 直接包个隔离外部的容器也不怕入侵。
|
28
webshe11 2020-01-14 02:20:57 +08:00
不会玩,年轻的时候学了一波现在忘光了。需要权限隔离的地方都用 docker 这种容器或者虚拟机了
|
29
omph 2020-01-14 05:05:27 +08:00
不知道国外的情况怎么样,如果大家都用不了,包括商用及家用,干嘛大家不提出来默认移除或推进简化?
|
30
Mutoo 2020-01-14 05:46:35 +08:00 1
不会用就关掉,这种心态几乎和 chmod 777 没啥两样。
https://wiki.centos.org/zh/HowTos/SELinux |
31
Nitroethane OP @MeteorCat #27
@webshe11 #28 其实 docker 的 container 默认的权限配置也有问题的。docker 以及 k8s 领域的安全问题也是今后研究的重点。 而且也不是说上来直接所有的服务器都 enforcing,应该先在 UAT 环境每个阶段选若干台设置成 permissive 过渡,边看日志边调 @DANG #26 @MeteorCat #27 其实这里的问题在于,CentOS 这种发行版 SELinux 的默认状态是 enforcing,而且以前各个软件对 SELinux 的支持可能不是太好,再加上管理人员对这玩意不熟,所以才导致一大堆坑。 @omph #29 @Mutoo #30 昨天晚上在 hacker news 搜了一下以前的文章,看了评论之后跟咱们这个贴讨论的情况差不多,大多数都是 disable,只有极少数 enforcing。而且 disable 的人基本都是这样一个循环:刚装完系统,有些服务莫名其妙跑不起来 -> 排查了半天没找到原因 -> 将 SELinux 的状态改成 permissive -> 服务成功跑起 -> F*** SELinux |
32
yEhwG10ZJa83067x 2020-01-14 08:34:25 +08:00
我想知道大公司的运维也是一股脑的关掉 selinux 吗?
|
33
MeteorCat 2020-01-14 08:56:40 +08:00 via Android
@Nitroethane 其实后来习惯直接关掉,毕竟这么多年都直接关也没出过大问题,所以现在也成习惯
|
34
dxgundam01 2020-01-14 08:59:20 +08:00
@Buges windows 这么多年努力把蓝屏率降下去,加个这样的功能,估计升回去 98 水平啊
@Mutoo 不会用就关掉就关掉有什么问题,难道不会用还开着等着出一堆问题吗?安全由安全设备来做,各司其职。selinux 这么多年来就是这种火不起来的情况,他自己的定位就应该好好理下才对 @Nitroethane selinux 启用几乎要全部环境都上,要出了问题调试量是多么可观你自己考虑下,工作要考虑投入和产出。安全由安全设备来做,selinux 还是拜拜吧 |
35
openbsd 2020-01-14 09:33:59 +08:00
一直想把这玩意儿整明白
借问 LZ/楼上各大神 有没相关详解的书籍推荐 ? |
36
lc7029 2020-01-14 11:11:35 +08:00
在用 RHEL 和 CentOS,有配置 SElinux 规则。
公司要求强制开启,否则服务器不能接入生产网 |
37
JimmyTinsley 2020-01-14 11:16:11 +08:00
我在自己的 VPS 上装 v2ray 的时候被 SELinux 坑了很久没找到原因, 主要原因还是对这玩意儿不熟, 后来就直接同一楼了.
|
38
xFrank 2020-01-14 11:54:26 +08:00
Android 上早就打开了,用的挺好。
不夸张的说,这玩意是有史以来最强大的漏洞利用缓解措施 |
39
Nitroethane OP @openbsd #35 我最近正在看的文档有:CentOS 的 HowTo: https://wiki.centos.org/HowTos/SELinux,Gentoo 的 wiki: https://wiki.gentoo.org/wiki/SELinux,RedHat 的 wiki: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/index
@xFrank #38 @iRiven #25 Android 上是默认启用的,不过不知道什么时候开始用的 @lc7029 #36 能透露一下是什么行业吗?之前问了在某大银行工作的同学,说他们的生产服务器没有开 SELinux @dxgundam01 #34 SELinux 火不起来的原因主要是不友好,而且本身的机制比较复杂,导致难上手,而且新系统默认 enforcing,从而导致奇怪的问题。安全设备只能承担一部分的安全责任。我前面说了,刚开始的时候肯定不能 enforcing 以及生产服务器全部开启,肯定得有一段过渡期。 |
40
NerverLibis 2020-01-14 12:09:15 +08:00
自带漏洞,必关闭
|
41
Nitroethane OP @NerverLibis #40 说话说一半?好歹说一下自带什么漏洞了?
|
42
lc7029 2020-01-14 13:24:14 +08:00
@Nitroethane 制药,目前的安全方案是由硬件安全设备,服务器上 selinux 设为 enforcing,不能设为 permissive。入网前进行安全检查,合格之后交换机 802.1X 放行,不合格接口 error-disable 不能接入生产网。
|
43
MrUser 2020-01-14 13:24:53 +08:00 1
当然开启,这种像防火墙一样的宝贝怎么能关,你想奔裸么
其实了解一下就会发现自带规则并不用怎么改 不开启也有一定道理,人们貌似都不喜欢复杂的东西 不过有些看似不那么好友的东西学学确实有很大帮助: Firewalld、SELinux、五笔、正则、VIM、Shell 脚本、Hammerspoon…… |
44
gearfox 2020-01-14 13:35:25 +08:00
运营商环境,几十台生产,关闭 selinux
|
45
stanjia 2020-01-14 13:38:08 +08:00
selinux 是个坑货。
|
46
falcon05 2020-01-14 13:40:24 +08:00 via iPhone
关掉了,自从遇到有些莫名其妙的状况半天找不到原因,特别是访问权限的问题。开了不会安全很多,不开可以方便很多。
|
47
cnt2ex 2020-01-14 14:48:33 +08:00
之前看了一下 selinux 本来打算用的,结果开启的时候发现没法一劳永逸,每次装一点新东西就会涉及到 selinux 的一堆问题,网上找答案也得找半天,所以干脆就不用了。
这玩意就跟防火墙一样,你服务器本身就只开几个简单的端口,根本没必要加一堆复杂的防火墙规则,反而规则复杂之后要添加新服务会出一堆问题。 |
48
LokiSharp 2020-01-14 15:51:35 +08:00
关了 SELinux 的服务器不敢开放公网。。。
|
49
julyclyde 2020-01-15 17:39:05 +08:00
热衷于编译式安装软件的肯定都关闭 selinux 了
|
50
xFrank 2020-01-16 11:09:27 +08:00
@Nitroethane 你可以先开 permissive 模式,有 selinux 相关告警,看到就解决了。然后运行一段时间没啥告警了就可以改成 enforcing 了。
Android 从 4.x 开始就有了,不过是 permissive,5.x 开始测用 enforcing |
51
liuxu 2020-01-17 10:17:12 +08:00
有的都开着,该配置的都配置,但是不喜欢用,改个 ssh 端口,又要 firewalld 加端口,又要 semanage port 加端口
|
52
guochao 2020-01-22 10:26:03 +08:00
全部服务器,包括我自己个人的,都是 enforcing。少数自己写的服务,没有 remote execute 风险的都是 permissive,有风险的都写了对应的 module。容器一类的用了 kata container 这种基于 kvm 虚拟化的容器方案,所以容器一类都 permissive 了。
推荐阅读: https://wiki.gentoo.org/wiki/SELinux https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/index |
53
zanelee 2020-01-22 14:40:03 +08:00
这东西整明白的人应该不多,几乎都关掉。国内很多应该还会关 firewalld 用深信服之类的物理防火墙
|
54
smyle 2020-01-22 16:52:50 +08:00
@openbsd 鸟哥的书有一章是专门讲 selinux 的,说实话比网上 95%的资料详细多了,非常适合初学者
http://linux.vbird.org/linux_basic/0440processcontrol.php#selinux |
55
smyle 2020-01-22 17:02:45 +08:00
我看过 red hat 的一部分培训教材,虽然 red hat 是 selinux 的主要开发者之一,但个人觉得,从帮助用户理解的角度而言,鸟哥的文章强于 red hat 的教材。当然 red hat 的教材更偏向于上手直接用、以及帮助学习者考取红帽认证
|