推荐工具
› RoboMongo
推荐书目
› 50 Tips and Tricks for MongoDB Developers
Related Blogs
› Snail in a Turtleneck
corona
V2EX  ›  MongoDB

前几天突然发现,阿里云 ECS 服务器上的 mongodb 数据库数据全部丢失,黑客是怎么做到的?

  •  
  •   corona · Jan 7, 2017 · 13616 views
    This topic created in 3587 days ago, the information mentioned may be changed or developed.

    事情的经过是这样的:

    1. 上个月,在阿里云 ECS 服务器上搭建了一个小系统,技术栈使用: Angular + Express + Mongodb;

    2. mongodb 数据库是创建在 ECS 服务器上的;

    3. 前几天收到阿里云的一个邮件,是这样的:

      http://ww3.sinaimg.cn/mw1024/aede01c6jw1fbic04sgy6j21aa0qa0zm.jpg

    4. 关于数据库的端口,我是用的默认的 27017 ,没有做修改,数据库用户 admin 也只是做了简单设置。

    5. 发现这个问题后,我做了一些措施:修改数据库端口,绑定 IP ,修改用户等。


    有两个疑问:

    1. 想知道,黑客要攻击 mongodb 数据库,一般都是用哪些套路?
    2. 要想让数据库更安全,有什么比较好的措施?
    29 replies  •  2017-04-23 17:02:42 +08:00
    changwei
    changwei
    Jan 7, 2017 via Android
    1
    是不是没有加密码?没有加的话,黑客用那种批量扫描器随随便便就能扫到
    DDMCloud
    DDMCloud
    Jan 7, 2017
    2
    - -数据库没加密码 默认是无需密码的。。。
    xiaoz
    xiaoz
    Jan 7, 2017 via iPhone
    3
    前几天我和楼主收到了同样的漏洞提醒,然后我赶紧把 27017 的公网端口关了,只留了内网放行。
    corona
    corona
    OP
    Jan 7, 2017
    4
    @changwei @DDMCloud 是没有加密码,这是个疏忽。
    corona
    corona
    OP
    Jan 7, 2017
    5
    @xiaoz 恩,我现在就是这样做的。
    PaleCheung
    PaleCheung
    Jan 7, 2017
    6
    mongodb 默认是监听 127.0.0.1 的. 未授权访问是相对安全的.除非对方拿到 shell 权限.

    收到邮件可能是你机器上装了 安骑士吧.

    要不就是开了 外部访问,被阿里扫到了.
    corona
    corona
    OP
    Jan 7, 2017
    7
    @PaleCheung
    我自己没主动安装 安骑士,从邮件来看,是阿里云的“云盾”扫描到的。
    如果关闭外部访问,那还能在公网正常访问系统吗?
    whx20202
    whx20202
    Jan 7, 2017
    8
    我看微博上 左耳朵耗子 说最近 MongoDB 被黑了好多,可能阿里搞了波专项吧
    也可以能是安骑士
    roychan
    roychan
    Jan 7, 2017
    10
    1. Listen 0.0.0.0
    2. 没有启动 auth

    我一直很好奇不做访问控制直接暴露在公网上的数据库都是用来干嘛的。
    billlee
    billlee
    Jan 7, 2017
    11
    如果你自己搞不明白或者懒,那么用发行版提供的包,至少默认配置是安全的
    非要自己手动安装又不会配置就是作死
    BOYPT
    BOYPT
    Jan 7, 2017
    12
    因为很多中文的教程教他们自己编译, 然后监听 0.0.0.0, 之前的 redis 也是同理.
    golmic
    golmic
    Jan 7, 2017 via Android
    14
    我的也被黑了~
    SP00F
    SP00F
    Jan 7, 2017
    15
    没密码默认的不被 delete 掉才怪……
    q397064399
    q397064399
    Jan 8, 2017
    16
    阿里云,我 记得我买来的 vps 一直都是裸着的,端口全暴露在外面
    还有我记得我刚买的那天晚上,同一公网段的 vps 兄弟 暴力了我的 22 整整一晚,
    因为当时阿里云搞活动送 6 个月体验

    一般国外绝大部分云厂商,默认不转发端口,公网是公网 内网是内网,
    你要配置转发才行
    realpg
    realpg
    Jan 8, 2017
    17
    @roychan
    ubuntu server 的 apt , mysql , redis , mongodb 什么的安装好就是默认 127.0.0.1 的
    你要有外网需求再去改

    redhat 系的从来都是 0.0.0.0 的,但是很多人并不知道
    roychan
    roychan
    Jan 8, 2017
    18
    @realpg 是的。但是即便用于外网访问,也要开启认证啊…
    realpg
    realpg
    Jan 8, 2017
    19
    @roychan
    阿里云有很大一部分用户连 yum install XXXX 都是从百度搜到的直接粘贴的 你还要求啥……
    zjqzxc
    zjqzxc
    Jan 8, 2017
    20
    @realpg 我阴谋论以下, rh 系默认监听 0.0.0.0 是不是(人为)增加不安全因素以迫使企业购买 rh 服务或者增加对 rhce 人才的需求呢
    zoues
    zoues
    Jan 8, 2017 via iPhone
    21
    原来 mg 不就是 0.0.0.0 访问吗
    skywayman
    skywayman
    Jan 8, 2017
    22
    裸奔时痛骂别人看光了就是耍流氓....
    type
    type
    Jan 9, 2017
    23
    mongodb 对公网开放了端口
    domty
    domty
    Jan 9, 2017
    24
    https://www.bleepingcomputer.com/news/security/number-of-hijacked-mongodb-databases-is-going-up-as-more-hackers-are-flocking-in/

    不是个例,简单说就是因为某些漏洞,用户的 mongodb 被攻击了,然后所有数据都被删除,接着收到勒索邮件要救支付一定数量的比特币赎回备份数据。
    domty
    domty
    Jan 9, 2017
    25
    @domty
    好吧也谈不上漏洞。。。
    cobola
    cobola
    Mar 28, 2017
    26
    默认只允许本机访问吧
    dven
    dven
    Apr 23, 2017
    27
    @BOYPT
    @realpg
    我们的习惯是通过一个类似 VPN 的东西访问一个特定的 10 段,所有的数据库只在 10 段上跑,这样应该也还可以吧
    BOYPT
    BOYPT
    Apr 23, 2017
    28
    @dven vpn 的话就比全暴露公网安全多了,但是也有内网渗透的风险;看你的环境需要什么级别的安全而已,安全工作是无底洞
    dven
    dven
    Apr 23, 2017
    29
    @BOYPT 127.0.0.1 加 SSH 隧道 /Shadowsocks 穿透呢,我看敏姐 @loveminds 提到过这方法
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3784 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 77ms · UTC 05:29 · PVG 13:29 · LAX 21:29 · JFK 00:29
    ♥ Do have faith in what you're doing.