V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
zhoudaiyu
V2EX  ›  问与答

如何在 web terminal 中限制用户的一些行为?

  •  
  •   zhoudaiyu ·
    PRO
    · Jul 11, 2020 via iPhone · 2591 views
    This topic created in 2116 days ago, the information mentioned may be changed or developed.
    我们的容器平台有个在 web 端进入到 pod 里的功能,其实跟在阿里云 web 页面连虚拟机一个意思。现在想禁止一些危险的操作,比如 mv rm cp sh bash 等,我的思路是连 pod 时,直接 alias 禁止一些危险操作,后来发现可以通过使用绝对路径绕过去,比如 /use/bin/rm xxx 这样就可以绕过 alias rm=“echo denied”。最好这种限制对容器没有侵入,比如不要改 /etc/profile 或者.bash_profile 等,而且最好退出容器这个限制就消失,不要影响别的用户。大家有啥思路?
    14 replies    2020-07-12 08:54:12 +08:00
    visitant
        1
    visitant  
       Jul 11, 2020
    为什么不每个用户起个新的容器
    ipwx
        2
    ipwx  
       Jul 11, 2020
    每个用户新的容器。。?
    zhoudaiyu
        3
    zhoudaiyu  
    OP
    PRO
       Jul 11, 2020 via iPhone
    @visitant
    @ipwx 资源浪费啊 有时候就是去容器里看日志
    ipwx
        4
    ipwx  
       Jul 11, 2020
    setuid setgid? 好像这俩 posix 调用可以从 root 进程降权。
    aapeli
        5
    aapeli  
       Jul 11, 2020 via iPhone
    定制一个 shell
    zhoudaiyu
        6
    zhoudaiyu  
    OP
    PRO
       Jul 11, 2020 via iPhone
    @ipwx 进去的时候是就是普通用户,但是还是能乱搞出一些问题,虽然说容器可以随时销毁重建吧,但是也是有可能搞事情
    zhoudaiyu
        7
    zhoudaiyu  
    OP
    PRO
       Jul 11, 2020 via iPhone
    @aapeli 是有这样的想法,但是涉及到改造有些麻烦
    dingwen07
        8
    dingwen07  
       Jul 11, 2020 via iPhone
    破坏的骚操作可多了 比如限制了删除那就重定向覆盖
    所以可以试试看从保护文件入手 限制权限和配置 ACL 之类的 而不只是阻止用户
    zhoudaiyu
        9
    zhoudaiyu  
    OP
    PRO
       Jul 11, 2020 via iPhone
    @dingwen07 确实要玩骚的太难防了 TAT,太灵活了主要是
    abowloflrf
        10
    abowloflrf  
       Jul 11, 2020 via iPhone
    一个思路,进入容器不直接在那个容器里启 shell 进程,而是在同一节点新启动一个容器然后指定要 attach 到目标容器的哪些 namespace,还可以另外指定运行 user 等,达到一些隔离或者权限限制的目的。当然还要看你具体需求,进入容器的需求和具体限制什么操作。
    tolerance
        11
    tolerance  
       Jul 11, 2020
    搞个不存在危险指令的容器(容器里把 mv 、rm 、cp 这些删除),用户登录启动这个容器
    rmb1222
        12
    rmb1222  
       Jul 11, 2020 via Android
    只要是正常的 shell 都无解 就算你把 bin 下的文件全删了 echo 一个 busybox 就能直接复活。。。
    xe2vherd
        13
    xe2vherd  
       Jul 11, 2020
    构建一个没有这些执行文件的镜像?
    melkor
        14
    melkor  
       Jul 12, 2020 via iPhone
    @zhoudaiyu 如果只是看日志,那就提供看日志的页面好了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2630 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 15:56 · PVG 23:56 · LAX 08:56 · JFK 11:56
    ♥ Do have faith in what you're doing.