如何在 web terminal 中限制用户的一些行为? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhoudaiyu
V2EX    问与答

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

  •  
  •   zhoudaiyu
    PRO
    2020-07-11 13:25:50 +08:00 via iPhone 2369 次点击
    这是一个创建于 1931 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我们的容器平台有个在 web 端进入到 pod 里的功能,其实跟在阿里云 web 页面连虚拟机一个意思。现在想禁止一些危险的操作,比如 mv rm cp sh bash 等,我的思路是连 pod 时,直接 alias 禁止一些危险操作,后来发现可以通过使用绝对路径绕过去,比如 /use/bin/rm xxx 这样就可以绕过 alias rm=“echo denied”。最好这种限制对容器没有侵入,比如不要改 /etc/profile 或者.bash_profile 等,而且最好退出容器这个限制就消失,不要影响别的用户。大家有啥思路?
    14 条回复    2020-07-12 08:54:12 +08:00
    visitant
        1
    visitant  
       2020-07-11 13:48:13 +08:00
    为什么不每个用户起个新的容器
    ipwx
        2
    ipwx  
       2020-07-11 13:52:16 +08:00
    每个用户新的容器。。?
    zhoudaiyu
        3
    zhoudaiyu  
    OP
    PRO
       2020-07-11 14:14:12 +08:00 via iPhone
    @visitant
    @ipwx 资源浪费啊 有时候就是去容器里看日志
    ipwx
        4
    ipwx  
       2020-07-11 14:32:52 +08:00
    setuid setgid? 好像这俩 posix 调用可以从 root 进程降权。
    aapeli
        5
    aapeli  
       2020-07-11 14:40:35 +08:00 via iPhone
    定制一个 shell
    zhoudaiyu
        6
    zhoudaiyu  
    OP
    PRO
       2020-07-11 14:40:43 +08:00 via iPhone
    @ipwx 进去的时候是就是普通用户,但是还是能乱搞出一些问题,虽然说容器可以随时销毁重建吧,但是也是有可能搞事情
    zhoudaiyu"
        7
    zhoudaiyu  
    OP
    PRO
       2020-07-11 14:41:30 +08:00 via iPhone
    @aapeli 是有这样的想法,但是涉及到改造有些麻烦
    dingwen07
        8
    dingwen07  
       2020-07-11 15:13:08 +08:00 via iPhone
    破坏的骚操作可多了 比如限制了删除那就重定向覆盖
    所以可以试试看从保护文件入手 限制权限和配置 ACL 之类的 而不只是阻止用户
    zhoudaiyu
        9
    zhoudaiyu  
    OP
    PRO
       2020-07-11 15:19:41 +08:00 via iPhone
    @dingwen07 确实要玩骚的太难防了 TAT,太灵活了主要是
    abowloflrf
        10
    abowloflrf  
       2020-07-11 15:39:10 +08:00 via iPhone
    一个思路,进入容器不直接在那个容器里启 shell 进程,而是在同一节点新启动一个容器然后指定要 attach 到目标容器的哪些 namespace,还可以另外指定运行 user 等,达到一些隔离或者权限限制的目的。当然还要看你具体需求,进入容器的需求和具体限制什么操作。
    tolerance
        11
    tolerance  
       2020-07-11 17:26:55 +08:00
    搞个不存在危险指令的容器(容器里把 mv 、rm 、cp 这些删除),用户登录启动这个容器
    rmb1222
        12
    rmb1222  
       2020-07-11 17:51:42 +08:00 via Android
    只要是正常的 shell 都无解 就算你把 bin 下的文件全删了 echo 一个 busybox 就能直接复活。。。
    zmxnv123
        13
    zmxnv123  
       2020-07-11 20:14:27 +08:00
    构建一个没有这些执行文件的镜像?
    melkor
        14
    melkor  
       2020-07-12 08:54:12 +08:00 via iPhone
    @zhoudaiyu 如果只是看日志,那就提供看日志的页面好了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     862 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 21:24 PVG 05:24 LAX 14:24 JFK 17:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86