警惕! MySQL 成数据勒索新目标 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
QcloudCommunity
V2EX    请不要再发这样的文章

警惕! MySQL 成数据勒索新目标

  •  
  •   QcloudCommunity 2017-03-01 14:44:00 +08:00 8486 次点击
    这是一个创建于 3216 天前的主题,其中的信息可能已经有所发展或是发生改变。

    据最新报道显示,继 MongoDB 和 Elasticsearch 之后, MySQL 成为下个数据勒索目标,从 2 月 12 日凌晨开始,已有成百上千个开放在公网的 MySQL 数据库被劫持,删除了数据库中的存储数据,攻击者留下勒索信息,要求支付比特币以赎回数据。

    问题分析

    遍观 MongoDB Elasticsearch 以及现在的 MySQL 数据库勒索,可以发现都是基线安全问题导致被黑客劫持数据而勒索,原因在于这些服务都开放在公网上,并且存在空密码或者弱口令等使得攻击者可以轻易暴力破解成功,直接连上数据库从而下载并清空数据,特别是不正确的安全组配置导致问题被放大。

    其实类似问题已不是第一次,近期云鼎实验室观测到多起案例,攻击呈现扩大态势,不仅仅是勒索,更多的是服务器被入侵,从而导致数据被下载。基线安全问题已经成了 Web 漏洞之外入侵服务器的主要途径,特别是弱口令等情况。错误的配置可以导致相关服务暴露在公网上,成为黑客攻击的目标,加上采用空密码等弱口令,黑客可以轻易入侵这些服务。

    安全自查

    值此事件爆发之际,建议对自己的服务器进行自查,避免相关数据丢失等问题,具体自查方式可参考如下: 1 、排查服务器开放的端口及对应的服务,如无必要,关闭外网访问;可以使用 NMap 直接执行 nmap 服务器 IP (在服务器外网执行),可得到以下结果即为开放在外网的端口和服务。

    2 、重点针对这些开放在公网上的服务进行配置的检查,检查相关服务是否设置密码,是否弱口令。 3 、如无必要,均不要使用 root 或者其他系统高权限账号启动相关服务。

    安全建议及修复方案

    一、采用正确的安全组或者 iptables 等方式实现访问控制; 二、关闭相关服务外网访问和修改弱密码: 1 、 MongoDB a. 配置鉴权 下面以 3.2 版本为例,给出 MongoDB 设置权限认证,具体步骤如下:

    1. 启动 MongoDB 进程是加上-auth 参数或在 MongoDB 的配置文件中加上 auth = true ;
    2. 带 auth 启动的 MongoDB ,如未创建用户, MongoDB 会允许本地访问后创建管理员用户。创建步骤如下:
    1. 切换到 admin 库; 2. 创建管理员用户,命令如下(user 和 pwd 可以根据需要设置): db.createUser({user: "root",pwd: "password",roles: [ "root" ]}) 3. 使用管理员用户登录后,根据角色创建您需要的用户 

    b. 关闭公网访问 可通过 MongoDB 的 bind_ip 参数进行配置,只需将 IP 绑定为内网 IP 即可,如下:

    1. 启动时增加 bind_ip 参数: mongod --bind_ip 127.0.0.1,10.x.x.x 2. 在配置文件 mongodb.conf 中添加以下内容: bind_ip = 127.0.0.1,10.x.x.x 其中 10.x.x.x 为您机器的内网 IP. 

    2 、 Redis a. 配置鉴权

    1. 修改配置文件,增加 “ requirepass 密码” 项配置(配置文件一般在 /etc/redis.conf )
    2. 在连接上 Redis 的基础上,通过命令行配置, config set requirepass yourPassword

    b. 关闭公网访问

    1. 配置 bind 选项,限定可以连接 Redis 服务器的 IP ,修改 Redis 的默认端口 6379

    c. 其他

    1. 配置 rename-command 配置项 “ RENAME_CONFIG ”,重名 Redis 相关命令,这样即使存在未授权访问,也能够给攻击者使用 config 指令加大难度(不过也会给开发者带来不方便)

    相关配置完毕后重启 Redis-server 服务

    3 、 MySQL

    a. 配置鉴权

    MySQL 安装默认要求设置密码,如果是弱命令,可通过以下几种方式修改密码:

    1. UPDATE USER 语句
      //以 root 登录 MySQL 后, USE mysql ; UPDATE user SET password=PASSWORD('新密码') WHERE user='root'; FLUSH PRIVILEGES; 
    2. SET PASSWORD 语句
      //以 root 登录 MySQL 后, SET PASSWORD FOR root=PASSWORD('新密码'); 
    3. mysqladmin 命令
      mysqladmin -u root -p 旧密码 新密码 

    b. 关闭公网访问

    1. 启动参数或者配置文件中设置 bind-address= IP 绑定内部 IP
    2. 以 root 账号连接数据库,排查 user 表中用户的 host 字段值为%或者非 localhost 的用户,修改 host 为 localhost 或者指定 IP 或者删除没必要用户

    4 、其他服务 请参考以上方式或者官方文档进行配置

    参考链接

    1. 《避免 MongoDB 被勒索详解,腾讯云上更安全》 http://t.cn/RiVUEdY
    2. 《下一个猎杀目标:近期大量 MySQL 数据库遭勒索攻击》 http://t.cn/Ri5ES1T
    3. 《知名搜索引擎 Elasticsearch 成为勒索软件敲诈目标》 http://t.cn/RiVUgFD
    4. 《 Redis 未授权访问配合 SSH key 文件利用分析》 http://t.cn/RUO9UGY

    本文首发腾云阁 警惕!MySQL成数据勒索新目标

    6 条回复    2019-05-30 15:10:23 +08:00
    47jm9ozp
        1
    47jm9ozp  
       2017-03-01 14:48:50 +08:00
    v2ex 标题 uc 化……
    Troevil
        2
    Troevil  
       2017-03-01 14:54:20 +08:00
    震惊! V2EX 标题竟然 UC 化了
    summic
        3
    summic  
       2017-03-01 14:55:11 +08:00
    震惊!男人看了会沉默,女人看了会流泪!不转不是中国人!
    Livid
        4
    Livid  
    MOD
    PRO
       2017-03-01 14:57:43 +08:00   1
    这种标题很恶心。

    Move to /go/pointless
    QcloudCommunity
        5
    QcloudCommunity  
    OP
       2017-03-01 16:30:11 +08:00
    @Livid 谢谢 livid 的建议,这次是我们的问题,本意是给开发者提供一些安全预警和修复建议。看到现在移到无要点节点后无法修改了,能否开放一下 edit 权限,我们立即修改,并且后续注意。谢谢
    yexm0
        6
    yexm0  
       2019-05-30 15:10:23 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2311 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 15:56 PVG 23:56 LAX 07:56 JFK 10:56
    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