V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Nitroethane
V2EX  ›  Linux

简单调查一下 SELinux 的使用情况

  •  
  •   Nitroethane · 2020-01-13 16:18:22 +08:00 · 9945 次点击
    这是一个创建于 1774 天前的主题,其中的信息可能已经有所发展或是发生改变。

    做一个简单调查,各位 V 友说一下自己所在的行业,以及生产服务器 SELinux 的使用情况呗

    55 条回复    2020-01-22 17:02:45 +08:00
    lihongjie0209
        1
    lihongjie0209  
       2020-01-13 16:22:13 +08:00   ❤️ 9
    setenfore 0

    vim /etc/config/selinux disable
    realpg
        2
    realpg  
       2020-01-13 16:22:58 +08:00
    个人使用 centos 极少
    所有使用的 selinux 都没关 自己配规则
    jasonyang9
        3
    jasonyang9  
       2020-01-13 16:29:05 +08:00
    搭车问下 cgroup 的使用情况下,或 systemd 的 slice 的使用情况
    dreamusername
        4
    dreamusername  
       2020-01-13 16:45:37 +08:00
    ECS CVM CentOS 默认关闭 SELinux 与 Firewalld
    d0m2o08
        5
    d0m2o08  
       2020-01-13 16:50:47 +08:00
    同一楼 顺便 iptables -F
    dorothyREN
        6
    dorothyREN  
       2020-01-13 17:58:41 +08:00
    灰产,selinux 自己配置
    sayakafs
        7
    sayakafs  
       2020-01-13 18:25:19 +08:00 via iPhone
    装完机就关掉,要不奇奇怪怪的报错太多了。
    qwerthhusn
        8
    qwerthhusn  
       2020-01-13 18:30:08 +08:00
    很早之前第一次,修改 SSH 端口号,修改完之后没问太多,下次重启就连不上了
    然后到机房,连键盘显示器,发现 SSH 服务起不来。百度了下是 SELINUX 的问题。
    以后就果断关掉
    MeteorCat
        9
    MeteorCat  
       2020-01-13 18:41:28 +08:00 via Android
    disable,当年年轻不懂事想手动来配置,被狠狠教育一顿,这玩意配置真麻烦
    Nitroethane
        10
    Nitroethane  
    OP
       2020-01-13 20:02:00 +08:00
    @lihongjie0209 #1
    @dreamusername #4
    @d0m2o08 #5
    @sayakafs #7
    @qwerthhusn #8
    @MeteorCat #9
    讲道理,感觉使用前好好学一下 SELinux 的基本概念和配置,然后前期先设置成 permissive 状态,然后根据日志慢慢调规则,后期再慢慢设置成 enforcing,出现问题的几率应该会小很多吧。
    lihongjie0209
        11
    lihongjie0209  
       2020-01-13 20:06:46 +08:00   ❤️ 1
    @Nitroethane #10 系统上线了, 然后出了问题还要慢慢调?不可能的, 直接关了完事。不需要那么高的安全级别
    CallMeReznov
        12
    CallMeReznov  
       2020-01-13 20:08:09 +08:00   ❤️ 2
    那么多年了,我只在最近工作里看过一个人真的在一台 zabbix 服务器上使用 selinux
    结果还因为这个被坑了.
    sundong
        13
    sundong  
       2020-01-13 20:13:25 +08:00
    cdlnls
        14
    cdlnls  
       2020-01-13 20:28:53 +08:00
    每次都是直接 disable,主要原因说实话就是玩不转这个。
    准备这周周末学学。
    Nitroethane
        15
    Nitroethane  
    OP
       2020-01-13 20:39:34 +08:00
    @cdlnls #14
    @CallMeReznov #12
    其实还是因为不熟悉 SELinux 的原理以及配置,熟悉了的话排错应该是比较容易的
    james122333
        16
    james122333  
       2020-01-13 20:47:16 +08:00
    安全主要还是在于基础的功能 很多其实都可以实现 当然 selinux 也可以
    只是如果是自己的 server 肯定不会用它
    lihongjie0209
        17
    lihongjie0209  
       2020-01-13 20:50:11 +08:00
    @Nitroethane #15 用不着的东西熟悉干嘛?必要的东西也没必要拿出来讨论
    jamry
        18
    jamry  
       2020-01-13 20:55:21 +08:00
    生产环境关,太忒么难配置了。
    guxingke
        19
    guxingke  
       2020-01-13 21:13:53 +08:00 via Android
    新系统初始化 第一件事就是关闭 selinux
    wdv2ly
        20
    wdv2ly  
       2020-01-13 21:38:47 +08:00 via Android   ❤️ 1
    别说了,这东西把我害惨了。之前 docker 部署的程序有 50%以上几率客户端 http 连接超时,后来才发现是它搞的鬼。。
    Buges
        21
    Buges  
       2020-01-13 21:47:07 +08:00 via Android
    非常希望 Windows 这样的桌面系统能有 SELinux 这种针对进程而非用户的权限管理机制,然而服务器上是真的用不到。
    YaakovZiv
        22
    YaakovZiv  
       2020-01-13 22:58:56 +08:00
    运营商,直接关掉,全硬件安全设备,业务主机专注业务
    sc2yml
        23
    sc2yml  
       2020-01-13 23:11:06 +08:00
    传统金融行业,直接关掉,全硬件安全设备,小机和 X86 专注业务
    yanqiyu
        24
    yanqiyu  
       2020-01-13 23:20:11 +08:00 via Android   ❤️ 1
    会自己写 policy,会解决大多数遇到的问题。从 VPS 到家用 NAS 都保证所有服务在 SELinux 的管理之下(偶尔自己写 policy )
    虽然大多数情况也就是 audit2allow 然后看一下生成的策略对不对,有问题手改一下然后安装。
    iRiven
        25
    iRiven  
       2020-01-13 23:22:21 +08:00 via Android
    手机有服务器没有⊙.☉
    DANG
        26
    DANG  
       2020-01-13 23:36:03 +08:00 via Android
    直接关,导致的问题一大堆还没啥用
    MeteorCat
        27
    MeteorCat  
       2020-01-14 00:32:08 +08:00 via Android
    @Nitroethane 主要项目成型的互联网公司大概率不会启用,你敢在正式服务器乱开你就等着挨喷。测试服务器开权限一般也没这么严,不然整个测试环境还得顺带搞个 selinux 是真的麻烦,再说 docker 直接包个隔离外部的容器也不怕入侵。
    webshe11
        28
    webshe11  
       2020-01-14 02:20:57 +08:00
    不会玩,年轻的时候学了一波现在忘光了。需要权限隔离的地方都用 docker 这种容器或者虚拟机了
    omph
        29
    omph  
       2020-01-14 05:05:27 +08:00
    不知道国外的情况怎么样,如果大家都用不了,包括商用及家用,干嘛大家不提出来默认移除或推进简化?
    Mutoo
        30
    Mutoo  
       2020-01-14 05:46:35 +08:00   ❤️ 1
    不会用就关掉,这种心态几乎和 chmod 777 没啥两样。
    https://wiki.centos.org/zh/HowTos/SELinux
    Nitroethane
        31
    Nitroethane  
    OP
       2020-01-14 08:27:50 +08:00
    @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
    yEhwG10ZJa83067x
        32
    yEhwG10ZJa83067x  
       2020-01-14 08:34:25 +08:00
    我想知道大公司的运维也是一股脑的关掉 selinux 吗?
    MeteorCat
        33
    MeteorCat  
       2020-01-14 08:56:40 +08:00 via Android
    @Nitroethane 其实后来习惯直接关掉,毕竟这么多年都直接关也没出过大问题,所以现在也成习惯
    dxgundam01
        34
    dxgundam01  
       2020-01-14 08:59:20 +08:00
    @Buges windows 这么多年努力把蓝屏率降下去,加个这样的功能,估计升回去 98 水平啊

    @Mutoo 不会用就关掉就关掉有什么问题,难道不会用还开着等着出一堆问题吗?安全由安全设备来做,各司其职。selinux 这么多年来就是这种火不起来的情况,他自己的定位就应该好好理下才对

    @Nitroethane selinux 启用几乎要全部环境都上,要出了问题调试量是多么可观你自己考虑下,工作要考虑投入和产出。安全由安全设备来做,selinux 还是拜拜吧
    openbsd
        35
    openbsd  
       2020-01-14 09:33:59 +08:00
    一直想把这玩意儿整明白
    借问 LZ/楼上各大神 有没相关详解的书籍推荐 ?
    lc7029
        36
    lc7029  
       2020-01-14 11:11:35 +08:00
    在用 RHEL 和 CentOS,有配置 SElinux 规则。
    公司要求强制开启,否则服务器不能接入生产网
    JimmyTinsley
        37
    JimmyTinsley  
       2020-01-14 11:16:11 +08:00
    我在自己的 VPS 上装 v2ray 的时候被 SELinux 坑了很久没找到原因, 主要原因还是对这玩意儿不熟, 后来就直接同一楼了.
    xFrank
        38
    xFrank  
       2020-01-14 11:54:26 +08:00
    Android 上早就打开了,用的挺好。
    不夸张的说,这玩意是有史以来最强大的漏洞利用缓解措施
    Nitroethane
        39
    Nitroethane  
    OP
       2020-01-14 12:08:42 +08:00
    @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 以及生产服务器全部开启,肯定得有一段过渡期。
    NerverLibis
        40
    NerverLibis  
       2020-01-14 12:09:15 +08:00
    自带漏洞,必关闭
    Nitroethane
        41
    Nitroethane  
    OP
       2020-01-14 12:34:44 +08:00
    @NerverLibis #40 说话说一半?好歹说一下自带什么漏洞了?
    lc7029
        42
    lc7029  
       2020-01-14 13:24:14 +08:00
    @Nitroethane 制药,目前的安全方案是由硬件安全设备,服务器上 selinux 设为 enforcing,不能设为 permissive。入网前进行安全检查,合格之后交换机 802.1X 放行,不合格接口 error-disable 不能接入生产网。
    MrUser
        43
    MrUser  
       2020-01-14 13:24:53 +08:00   ❤️ 1
    当然开启,这种像防火墙一样的宝贝怎么能关,你想奔裸么
    其实了解一下就会发现自带规则并不用怎么改
    不开启也有一定道理,人们貌似都不喜欢复杂的东西
    不过有些看似不那么好友的东西学学确实有很大帮助:
    Firewalld、SELinux、五笔、正则、VIM、Shell 脚本、Hammerspoon……
    gearfox
        44
    gearfox  
       2020-01-14 13:35:25 +08:00
    运营商环境,几十台生产,关闭 selinux
    stanjia
        45
    stanjia  
       2020-01-14 13:38:08 +08:00
    selinux 是个坑货。
    falcon05
        46
    falcon05  
       2020-01-14 13:40:24 +08:00 via iPhone
    关掉了,自从遇到有些莫名其妙的状况半天找不到原因,特别是访问权限的问题。开了不会安全很多,不开可以方便很多。
    cnt2ex
        47
    cnt2ex  
       2020-01-14 14:48:33 +08:00
    之前看了一下 selinux 本来打算用的,结果开启的时候发现没法一劳永逸,每次装一点新东西就会涉及到 selinux 的一堆问题,网上找答案也得找半天,所以干脆就不用了。
    这玩意就跟防火墙一样,你服务器本身就只开几个简单的端口,根本没必要加一堆复杂的防火墙规则,反而规则复杂之后要添加新服务会出一堆问题。
    LokiSharp
        48
    LokiSharp  
       2020-01-14 15:51:35 +08:00
    关了 SELinux 的服务器不敢开放公网。。。
    julyclyde
        49
    julyclyde  
       2020-01-15 17:39:05 +08:00
    热衷于编译式安装软件的肯定都关闭 selinux 了
    xFrank
        50
    xFrank  
       2020-01-16 11:09:27 +08:00
    @Nitroethane 你可以先开 permissive 模式,有 selinux 相关告警,看到就解决了。然后运行一段时间没啥告警了就可以改成 enforcing 了。
    Android 从 4.x 开始就有了,不过是 permissive,5.x 开始测用 enforcing
    liuxu
        51
    liuxu  
       2020-01-17 10:17:12 +08:00
    有的都开着,该配置的都配置,但是不喜欢用,改个 ssh 端口,又要 firewalld 加端口,又要 semanage port 加端口
    guochao
        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
    zanelee
        53
    zanelee  
       2020-01-22 14:40:03 +08:00
    这东西整明白的人应该不多,几乎都关掉。国内很多应该还会关 firewalld 用深信服之类的物理防火墙
    smyle
        54
    smyle  
       2020-01-22 16:52:50 +08:00
    @openbsd 鸟哥的书有一章是专门讲 selinux 的,说实话比网上 95%的资料详细多了,非常适合初学者
    http://linux.vbird.org/linux_basic/0440processcontrol.php#selinux
    smyle
        55
    smyle  
       2020-01-22 17:02:45 +08:00
    我看过 red hat 的一部分培训教材,虽然 red hat 是 selinux 的主要开发者之一,但个人觉得,从帮助用户理解的角度而言,鸟哥的文章强于 red hat 的教材。当然 red hat 的教材更偏向于上手直接用、以及帮助学习者考取红帽认证
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5614 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 01:38 · PVG 09:38 · LAX 17:38 · JFK 20:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.