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

MYSQL 数据库遭比特币勒索。。。

  •  
  •   sunorg · 2017-12-07 17:24:55 +08:00 · 10933 次点击
    这是一个创建于 2547 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨晚 centos7.3 +lnmp1.4 的 mysql 数据库被搞了。

    勒索 0.2 比特币。。。。

    mysql 密码为 10 位数字母组合, 开放远程访问。

    普通方式查看操作记录, 暂无发现服务器被入的痕迹。其他文件都存在。。

    损失的数据库得花 2 天时间才能恢复大约 9 成。。。。 郁闷

    第 1 条附言  ·  2017-12-07 18:11:32 +08:00
    自查方法:

    在数据库存储目录,一般是 path/to/mysql/var 里面
    1. 如果有 WARNING 目录,一般就是被搞了。
    2. tail -f mysql-bin.xxxxx ,如果看到 btc 铁定被 hack 了

    本轮排查,应该是 mysql 的漏洞导致的。。。

    建议大家先做:
    1、先备份一下数据
    2、取消 mysql 的 root 账号中的 % 权限。
    3、改 mysql 端口
    4、改 linux 端口,改证书登陆
    35 条回复    2017-12-21 12:31:39 +08:00
    3dwelcome
        1
    3dwelcome  
       2017-12-07 17:27:48 +08:00
    mysql 版本是多少?怕怕的飘过。
    xzg1993
        2
    xzg1993  
       2017-12-07 17:28:24 +08:00
    0.2 比特币是 2 万块了吧··
    sunorg
        3
    sunorg  
    OP
       2017-12-07 17:29:52 +08:00
    Moorj
        4
    Moorj  
       2017-12-07 17:30:56 +08:00
    关注,什么原因?
    p2pCoder
        5
    p2pCoder  
       2017-12-07 17:31:29 +08:00
    在上个公司,测试服务器,直接把 代码 考走了,勒索 一个比特币
    不过编译后的 java 代码,没啥影响,也没付款
    gouchaoer
        6
    gouchaoer  
       2017-12-07 17:39:13 +08:00
    10 位数字字母组合如果随机性比较好的话很难穷举的,是用这个数据库的应用被人搞到了?
    x86
        7
    x86  
       2017-12-07 17:40:07 +08:00
    给了也未必给你恢复
    anguslg
        8
    anguslg  
       2017-12-07 17:44:58 +08:00
    我也被勒索过 0.1 个比特币, 公司的 mongodb 服务器开放了外网访问. 不过好在数据都有备份, 我给勒索人发了一封嘲讽的邮件, 至今没有收到回复
    yakun4566
        9
    yakun4566  
       2017-12-07 17:45:15 +08:00
    上个公司也碰见过,直接是一个服务器的全部文件都被加密,不过那是一个测试服务器,在阿里云上,当时说是要 7 个还是几个,直接没管它用快照恢复了。
    sunorg
        10
    sunorg  
    OP
       2017-12-07 17:54:12 +08:00
    看自己是否被搞,

    在 mysql/var 目录,有一些 mysqlbinlog-0000xxxx.的文件,

    linux 下,执行 tail -f 这个文件名,就可以看到了。。
    Rice
        11
    Rice  
       2017-12-07 18:01:10 +08:00 via Android
    能否查查是怎么被搞的
    opengps
        12
    opengps  
       2017-12-07 20:27:40 +08:00
    这个,,,是爆破的密码?
    clino
        13
    clino  
       2017-12-07 22:44:01 +08:00 via Android
    没异地备份?
    msg7086
        14
    msg7086  
       2017-12-07 22:50:03 +08:00
    远程访问最好还是限制下 IP ……
    sunorg
        15
    sunorg  
    OP
       2017-12-07 23:26:58 +08:00 via iPhone
    @clino 演示服务器,因为时间关系导致没定时备份
    clino
        16
    clino  
       2017-12-07 23:38:00 +08:00
    @sunorg #15 演示的就是说数据不重要?
    likuku
        17
    likuku  
       2017-12-07 23:40:49 +08:00
    直接开放 mysql 端口远程访问,也真心是胆壮... (多少案例都是即便不开放 db 端口都会被搞)

    有效的备份比啥都重要。
    likuku
        18
    likuku  
       2017-12-07 23:42:17 +08:00
    @clino @sunorg 除非数据和系统永远不会被用到,只是个纯玩具,随时可以被干掉也不会对任何人造成任何伤害,

    那么才可以说“不重要”吧。
    cxbig
        19
    cxbig  
       2017-12-07 23:49:49 +08:00
    如果 app 和 db 不在同一内网,至少要:
    1. 打开 IP 限制
    2. SSL 证书
    3. 32 位密码
    4. fail2ban
    swulling
        20
    swulling  
       2017-12-08 00:14:46 +08:00   ❤️ 2
    MySQL 有如此优秀的安全性设定,支持按照 IP 地址授权,如果严格按照权限最小化的原则,不太可能被入侵。

    Root 只允许 127.0.0.1 ;
    非 Root 只允许特定 IP ;

    可惜大家在 GRANT 的时候喜欢用 『*』
    sunorg
        21
    sunorg  
    OP
       2017-12-08 00:32:10 +08:00
    @clino 一开始是随时可以扔,随着演示的机器越来越多,就重要起来了。

    这 db 我是用来给用户的设备授权的。
    realpg
        22
    realpg  
       2017-12-08 00:47:28 +08:00
    看标题就知道你一定用了 centos
    realpg
        23
    realpg  
       2017-12-08 00:48:51 +08:00
    @swulling #20
    mysql 的官方编译版,官方二进制版,以及我常用的 ubuntu server/debian 的源里面的版本,安装上默认都是监听 127.0.0.1 的,redis 也是
    鬼知道为什么 redhat 系的自带的配置文件都是监听 0.0.0.0 的……
    likuku
        24
    likuku  
       2017-12-08 00:49:09 +08:00
    @cxbig

    “如果 app 和 db 不在同一内网”

    db 就近起一个 HTTPS-API 服务,app 通过 HTTPS-API 与 db 通讯。
    cxbig
        25
    cxbig  
       2017-12-08 07:53:16 +08:00 via iPad
    @likuku
    我们的数据库服务都是纯内网的,需要通过堡垒机,SSH 都是用密钥文件。
    zjqzxc
        26
    zjqzxc  
       2017-12-08 07:59:38 +08:00
    @realpg 我猜的,因为 rh 觉得自己有 selinux 在前面挡着
    然而它并没有考虑到很多随手关掉 selinux
    lerry
        27
    lerry  
       2017-12-08 09:15:55 +08:00 via iPhone
    不使用默认端口好点
    falcon05
        28
    falcon05  
       2017-12-08 09:17:21 +08:00 via iPhone
    难道你们不用防火墙吗?
    cjoke
        29
    cjoke  
       2017-12-08 12:09:06 +08:00
    之前也被勒索过 2 个比特币,还留了个暗网的链接,上面告诉我要发到某某邮箱,然后我就直接重装系统了
    firebroo
        30
    firebroo  
       2017-12-11 11:25:31 +08:00
    如果是公司的服务器,允许监听到公网只能有对外提供 http 和 https 服务的服务。
    raysonx
        31
    raysonx  
       2017-12-11 13:53:16 +08:00
    @realpg 楼主用的 MySQL 软件包明显来自第三方,根本不是 Red Hat 的官方源。因为 RHEL7/CentOS7 的官方源里根本没有 MySQL,取而代之的是 MariaDB。
    此外,MariaDB 安装后的默认策略是只允许本地连接 root 用户。
    楼主提到了 LNMP 1.4,我猜楼主是用所谓的一键安装脚本配置的环境,鬼知道那些脚本做了什么操作。
    sunorg
        32
    sunorg  
    OP
       2017-12-12 02:19:55 +08:00 via iPhone
    @raysonx 那必须的。

    套件用 lnmp.org ,多年生产环境没问题。

    对外开放也是我自己调整的。
    whx20202
        33
    whx20202  
       2017-12-13 10:40:15 +08:00
    请问是什么漏洞呢?
    我得 mysql 也开放在外网了
    sunorg
        34
    sunorg  
    OP
       2017-12-14 11:46:44 +08:00
    @whx20202

    Ï具体信息我不知道哦。
    不过换个复杂的密码, 改个端口,应该还是可以的。
    vforbox
        35
    vforbox  
       2017-12-21 12:31:39 +08:00
    升级 MySQL, 查看日志入侵者是如何怎么进来的,网上搜索此类漏洞 exp, 看是否可以重现。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1132 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:03 · PVG 03:03 · LAX 11:03 · JFK 14:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.