(云服务安全)遇到点奇怪的安全问题,有没有大佬来指点一下? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
thinkershare
V2EX    问与答

(云服务安全)遇到点奇怪的安全问题,有没有大佬来指点一下?

  •  
  •   thinkershare 2023-12-12 11:24:30 +08:00 1619 次点击
    这是一个创建于 669 天前的主题,其中的信息可能已经有所发展或是发生改变。

    云务器厂商: 腾讯云 操作系统:Ubuntu(22.04)

    禁用了密码登录,禁用了 root 远程登录,删除了默认的 ubuntu 用户,新建了一个用户,只允许 ssh 连接。

    docker(root 模式)下安装了一个 mysql, 测试的时候,将 root 的 host 修改为了%, 然后修改了 root 密码为 128 位的随机复杂密码,可以确保只有我一个人有密码信息,但是服务器开放一天后,所有数据库全部被黑了,全部被替换了加密地址表。虽然没啥有用的信息,毕竟只是临时开出的一个测试服务器。

    想要问一下,这个环境有哪些薄弱的安全环节导致 mysql 被人搞定了。docker 容器镜像是官方最新的版本。

    16 条回复    2023-12-14 11:13:36 +08:00
    ajiangstudy
        1
    ajiangstudy  
       2023-12-12 13:50:14 +08:00
    如果数据库对外开放,感觉像是数据库的问题吧,数据库有指定过允许登录 IP 吗?
    fredcc
        2
    fredcc  
       2023-12-12 13:56:06 +08:00
    云防火墙入站策略怎么配的
    thinkershare
        3
    thinkershare  
    OP
       2023-12-12 14:01:05 +08:00
    @ajiangstudy 没有限制 IP 地址,任何 IP 地址都可以访问。
    thinkershare
        4
    thinkershare  
    OP
       2023-12-12 14:02:20 +08:00
    @fredcc 防火墙开了 3306 的入站端口,我难以理解,这是操作系统的密码存在漏洞,还是 mysql 数据库的密码系统存在安全漏洞,按道理来说,我随机生成的 128 位的密码,是不可能通过撞库来破解的。
    qiaorenzhi
        5
    qiaorenzhi  
       2023-12-12 17:26:28 +08:00
    docker 或者数据库是不是存在版本上的漏洞
    daxin945
        6
    daxin945  
       2023-12-12 17:35:09 +08:00
    查一下 mysql 的版本是多少,找一找有没有对应版本的已知漏洞
    有可能是直接通过 mysql 漏洞进去的,不是撞库
    用 docker 的话 你在宿主机上开一个 30000 之后的端口,最好奇怪些,然后映射到 docker 内的 3306
    限制一下网络请求,最次也要把境外的 IP 封了
    防火墙开着
    thinkershare
        7
    thinkershare  
    OP
       2023-12-12 17:50:56 +08:00
    @daxin945 就是感觉很奇怪,就第一次公网 3306 没改端口,而且用的还是复杂密码,不到一天就被人给破了,主要是镜像还是上周五拉取的 docker hub 上的 mysql@latest 镜像。幸好上面没有任何有用的数据, 虽然有很多个数据库,但里面的数据都是伪造的垃圾数据。我本来想要设置一个足够复杂的密码,应该没啥大问题,我也就做多开一周,结果周五开的,周一来看,就被人给全部办了,看来公网果然还是危险。
    blackeeper
        8
    blackeeper  
       2023-12-12 22:14:54 +08:00
    你这个环境的 MySQL 服务器安全性应该是没有问题的,毕竟你的服务器系统文件是正常的,数据库服务也是正常的,只不过数据库表被加密了,按照这个被黑的情况,问题点可能在于你的应用
    1 ,你的 web 应用可能被挂马,或者有后门
    2 ,连接 MySQL 的客户端工具有问题
    thinkershare
        9
    thinkershare  
    OP
       2023-12-12 23:16:39 +08:00
    @blackeeper 我的应用使用的不是 root 用户,权限很低,不可能修改其它数据库。而且我的应用理论上来说就不可能有 SQL 注入漏洞,因为没有任何语句支持动态 SQL 。我感觉只有可能是密码被爆破了,不过这个机器本来就是随便开来做一次性单元测试的,有点想不通到底是那个环节出错了。
    yw9381
        10
    yw9381  
       2023-12-13 03:58:55 +08:00 via Android
    两个方向
    1. 腾讯云的 aksk 是否泄露。aksk 的权限是否可以管理 vm 。如果可以。那通过应用泄露的 aksk 拿到 vm 权限进而勒索 mysql 就顺理成章了
    2. 从服务角度。ssh mysql 自身应该都不存在安全问题。那么只能考虑密码泄露。或是应用层问题。你的应用是否存在安全问题。比如任意文件读取。配置信息泄露等等问题

    抛开应用和场景只说环境安全其实是比较片面的。个人觉得楼主的关注方向可以放在应用
    如果方便的话可以把应用发出来。或是咱俩私下沟通。可以顺手帮你看看安全问题(不那么耗精力的话可以免费)
    rc5ayc
        11
    rc5ayc  
       2023-12-13 07:53:23 +08:00
    查日志看看吧
    daxin945
        12
    daxin945  
       2023-12-13 09:35:41 +08:00   1
    @thinkershare
    即使你啥也不部属,就绑定了公网 IP ,网卡上的流量也会蹭蹭的涨
    要是愿意折腾,你就在你的机器上用 tcpdump 抓点流量包,或者用类似 suricata 的 IDS 抓些流量日志看看到底咋回事。
    看不懂没事,把公网 IP 拿出来 去微步/VirusTotal 这些威胁情报站查,但凡黑 IP 都给它封了
    可以参考这个差缺补漏,我觉得基本面是没问题的 https://github.com/guanhui07/blog/issues/360
    blackeeper
        13
    blackeeper  
       2023-1213 15:07:02 +08:00
    @thinkershare
    额,为啥你会认为我说的被挂马或者有后门是:SQL 注入漏洞。
    你给的信息太少,不确定你是 root 账户泄露了,还是 web 应用的数据账户泄露了。
    如果只有 web 应用的数据库被加密了,那么就是 web 数据库账户被泄露了,有很多中方式可以获取你 web 的数据库配置文件
    1 ,查你的 web 应用是否多了什么文件或者脚本,我猜你的应用应该是 PHP 写的
    2 ,128 位的密码爆破?没有人愿意做这个事情,其实就是账户密码被 hacker 获取了,具体是哪里泄露的有可能是 web 应用,你的 IDE ,或者你电脑的破解版 MySQL 连接客户端
    3 ,你可以查看 MySQL 的 binlog 和 log ,可以查到相关的信息
    thinkershare
        14
    thinkershare  
    OP
       2023-12-13 15:34:55 +08:00
    @blackeeper 这些地方都没有可能性,因为数据库被攻破的时候,我的应用是停止状态,另外我的引用也全部是容器化的,msyql 工具用的是官方下载的 MySQL Workbench 8.0 CE ,密码除了通过微信发给过我自己,没有任何人知道。
    blackeeper
        15
    blackeeper  
       2023-12-14 10:12:17 +08:00
    @thinkershare
    我想告诉你:数据库被攻破的时候,应用是停止状态,不代表数据库配置文件没有泄露,加密数据库表不需要走你的应用去攻击,因为你的 mysql 是可以公网访问的
    thinkershare
        16
    thinkershare  
    OP
       2023-12-14 11:13:36 +08:00
    @blackeeper 数据库配置文件根本没有被请求的可能性,数据库配置是通过环境变量注入到应用的(一次性环境变量),数据库被入侵的时候应用容器组都是停止状态)。我远程的 root ssh 都是关闭了的,而且 root 的密码也是修改过的,默认用的也不是 root 账号,整个环境除了存在 0day 我实在想不通到底是哪里导致问题的,我现在甚至怀疑微信发送消息是不是会被泄露,因为整个流程我只有通过微信自己给自己(文件助手)发送过 mysql 密码,密码除了我的微信上有,我自己甚至都记不住。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2673 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 02:24 PVG 10:24 LAX 19:24 JFK 22:24
    Do have faith in what you're doing.
    ubao 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