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

Linux 系统中可以限制 root 的权限?

  •  
  •   TossPig · 2023-11-15 16:19:32 +08:00 · 3919 次点击
    这是一个创建于 376 天前的主题,其中的信息可能已经有所发展或是发生改变。

    又到一年等保季,又是这种狗屁倒灶的事情,前年查我 HTTP 方法

    今年给了新课题,当前服务器仅有 root 账户,无安全管理员、审计管理员,未实现管理用户的权限分离。而且标记为高风险必须整改!

    最后给出的修改建议是,把 root 用户改名,再新建两个用户去权限分离

    ???

    root 改名了,还能改掉UID=0?这种脱了裤子放屁的事为什么要做?

    还是说这样有什么特别意义?感恩有懂得大佬指教一下啊

    36 条回复    2023-11-16 16:41:26 +08:00
    cheng6563
        1
    cheng6563  
       2023-11-15 16:22:17 +08:00   ❤️ 1
    等保就是这样的啊,他说啥是啥就行了
    johnidy
        2
    johnidy  
       2023-11-15 16:22:34 +08:00
    应试,让怎么改就怎么改,给 pass 就行。
    lambdaq
        3
    lambdaq  
       2023-11-15 16:22:54 +08:00
    你新建一个 not_root 加入到 sudoer 禁止 root 登录不就整改完毕了?
    cheng6563
        4
    cheng6563  
       2023-11-15 16:25:04 +08:00
    之前给出一堆运维电脑的整改要求,洋洋洒洒好几页,然而我们运维用的 mac ,就说 mac 已经够安全了什么都不用做。
    iminto
        5
    iminto  
       2023-11-15 16:25:16 +08:00
    当前服务器仅有 root 账户,通常来说确实不合规,也不合理。

    root 的权限也可以限制啊,selinux 不就是嘛,不过是限制了后 root 可以自己解开。
    cheng6563
        6
    cheng6563  
       2023-11-15 16:26:55 +08:00
    服务器也是全容器管理的,就在安装 k8s 时登录过一下,之后服务器就没登录过,还不是得把什么劳什子审计管理员用户建出来
    TossPig
        7
    TossPig  
    OP
       2023-11-15 16:38:43 +08:00   ❤️ 1
    @cheng6563 说到 mac 让我想起了数据库也是,mysql 就需要这调整那修改的,pgsql 不会测就是安全。我们是私有部署,服务器是客户的,他们根本没 k8s

    @johnidy 就很讨厌这种无意义的行为

    @lambdaq 他们测试的时候都是要求 root 权限

    @iminto 实际情况是就一个很边缘的系统,两三年都不会进操作系统一次,

    还有一个讨厌的东西要求 90 天更换所有数据库密码,数据库端口都没外放。。。。

    现在直接用定时脚本改,需要密码的时候再去看配置文件中的密码
    defunct9
        8
    defunct9  
       2023-11-15 16:47:29 +08:00
    真想抽死这帮人,满嘴胡说八道,把 root 改掉,系统还跑的起来么。
    NotFoundEgg
        9
    NotFoundEgg  
       2023-11-15 16:52:13 +08:00
    root 用户改名这个操作真是秀到了
    ruanimal
        10
    ruanimal  
       2023-11-15 17:01:36 +08:00
    SELinux ?
    liuliancao
        11
    liuliancao  
       2023-11-15 17:42:03 +08:00
    搭建个 Jumpserver 吧 配置下用户看看
    euph
        12
    euph  
       2023-11-15 17:55:52 +08:00 via Android
    上面本意是好的,只是下面的人执行歪了(狗头)
    julyclyde
        13
    julyclyde  
       2023-11-15 17:58:39 +08:00
    仅有 root 肯定有问题啊
    后台服务不应该用 root 身份运行
    你应该单独建一个服务用户

    至于说把 root 改名……这建议过于业余
    dengshen
        14
    dengshen  
       2023-11-15 18:21:49 +08:00 via iPhone
    你不能用 Ubuntu 啊我们要求使用 Linux 🐶
    x1aoYao
        15
    x1aoYao  
       2023-11-15 18:41:54 +08:00
    @julyclyde 是的。而且登录也一般是普通账户登录,登录之后再切 root 都可以。
    error451
        16
    error451  
       2023-11-15 18:50:29 +08:00   ❤️ 1
    无安全管理员、审计管理员,未实现管理用户的权限分离
    这个是等保的常见项目啊, 等保天天都在做这玩意。

    但是这个整改的方案都是新增审计用户,开启审计,新增安全管理员,新增普通用户, 然后禁止 root ssh 登录(用普通用户登录,然后 su root 这样是不违规的) 这个方案

    头一回听说要求改 root 用户的。

    请问这是哪一家逗 B 提供的方案?

    说出来好让大家以后避坑啊。
    julyclyde
        17
    julyclyde  
       2023-11-15 18:58:19 +08:00
    @x1aoYao su 命令、sudo 命令、setuid 函数都是用 uid 来表示的,其实 root 用户叫啥名字是无所谓的
    大概能扛一些 login/sshd 的攻击?
    julyclyde
        18
    julyclyde  
       2023-11-15 18:59:00 +08:00
    @error451 要求改 root 用户的审计供应商其实不少
    不知道这个行业怎么能,从行业刚兴起就这么烂
    TossPig
        19
    TossPig  
    OP
       2023-11-15 19:02:57 +08:00
    @julyclyde 服务器上装了宝塔的,默认应用服务是 www 用户在跑,系统是 debian 12 怎么都不可能只有 root 用户

    中间还有个坑,要求 root 也要密码过期,但是我给的是密钥登录,测试的人不会制作密钥,临时开启了密码登录,然后把密码相关都列为非检测项🐶
    TossPig
        20
    TossPig  
    OP
       2023-11-15 19:04:36 +08:00
    真的就我遇到的等保公司,没有一家的测试人员会制作 ssh 密钥🐶
    billlee
        21
    billlee  
       2023-11-15 19:09:38 +08:00
    @iminto SELinux 只是默认策略不限制 root, 真要限制 root 也是解不开的。它的权限体系和基于用户那套是平行的
    IvanLi127
        22
    IvanLi127  
       2023-11-15 19:16:40 +08:00 via Android
    众所周知,搞等保并不是为了安全。
    不过感觉找个有脑子的测评机构至少不会花钱买恶心,有些机构钱真特喵好赚
    lanlanye
        23
    lanlanye  
       2023-11-15 20:01:34 +08:00
    我之前还遇到一个"使用高权限用户的 Token 可以访问高权限的接口"。
    怎么?难道要我给你做个生物识别?
    duzhuo
        24
    duzhuo  
       2023-11-15 20:03:46 +08:00
    @TossPig 这样还能考别人的吗,还在上学的我大开眼界
    yanqiyu
        25
    yanqiyu  
       2023-11-15 20:51:45 +08:00
    @billlee 倒不是默认不限制
    只是默认情况下用户的登录会话都不限制

    [root@karubook]~# id -Z
    unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

    但是对于作为服务启动的程序而言:
    [root@karubook]~# systemd-run --shell --collect --quiet
    [root@karubook]~# id -Z
    system_u:system_r:initrc_t:s0

    虽然还是 root ,但是就受到了 system_u:system_r:initrc_t 这一属性的约束

    要限制传统登录上来的要 semanage ,但是很容易翻车(把自己权限改没了改不回去了)
    yanqiyu
        26
    yanqiyu  
       2023-11-15 20:55:32 +08:00
    毕竟要限制登录上来的 root 的权限,你就要把登录上来的 root 用户设置成不能修改 SELinux 状态...然后改错了就除非设置 kargs 重启不让恢复不了了;)
    ruanimal
        27
    ruanimal  
       2023-11-15 21:19:56 +08:00
    提供一个想法,应该可以糊弄过去
    在 bashrc 里面做一些检测,当识别到 ssh 登陆 root 时,做一些特定的配置(比如屏蔽一些命令)。
    zzznow
        28
    zzznow  
       2023-11-15 22:00:54 +08:00   ❤️ 1
    应该是禁止 root 用户直接登录或远程。平常使用普通用户
    inframe
        29
    inframe  
       2023-11-15 23:18:37 +08:00
    合规而已,适当地糊弄一下算了。这看起来对面也不大专业啊
    SunZm
        30
    SunZm  
       2023-11-16 00:35:07 +08:00
    走个形式而已, 不用太较真, 简单点, 建三个新用户, 然后说给他们权限分离了, 问 root 就说禁了, 他们检查的也是工作而已, 并不会特别较真...
    cwcc
        31
    cwcc  
       2023-11-16 00:43:40 +08:00
    作业指导书的问题,这个问题是从 1.0 延续过来的,2.0 的作业指导书其实已经更新了,但是很多人就还是习惯性的老一套。你可以和他们谈,如果他们不懂,那就是他们不懂。另外,权限没有分离根本判不了高风险,瞎判。
    msg7086
        32
    msg7086  
       2023-11-16 01:13:23 +08:00
    装宝塔搞等保,你在期待什么。
    DeWjjj
        33
    DeWjjj  
       2023-11-16 01:43:01 +08:00
    创个新账户叫 administer=>删掉 root=>就行了吧。
    devopsdogdog
        34
    devopsdogdog  
       2023-11-16 07:09:25 +08:00 via Android
    等保实施人员压根不动技术,都是照本宣科,讨论不了,就改吧,后面恢复就是了
    lyxxxh2
        35
    lyxxxh2  
       2023-11-16 13:06:22 +08:00
    我也是这样做的

    1. 新建两个用户并设置密码
    2. 把用户 a 设置为 root 权限, 编辑 `/etc/passwd` `user_a:x:0:0::/home/user_a:/bin/bash`
    3. 禁用 root 密码, 编辑 `/etc/shadow`, `root:!!$6$JDiFFDS....`

    最后就是:
    root 不可能登录的了
    user_a 有 root 权限
    user_b 运行项目用的
    96368a
        36
    96368a  
       2023-11-16 16:41:26 +08:00
    等保公司的安服仔来说一句,我公司的等保测评人员都是其他行业转过来的,例如会计和商务之类的,表示这种事情见怪不怪
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3435 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 11:42 · PVG 19:42 · LAX 03:42 · JFK 06:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.