一次 mongodb 未加密导致的惨痛教训,很痛!

2020-03-30 11:07:55 +08:00
 zy5a59

之前做了一些开发,在阿里云上部署了服务,用的是 mongodb,因为有时候会在本地做一些数据的更新,而且我这流量太小,相当于没有,当时也有点懒,就没给 db 加权限控制,结果今天发现数据被删了,要 0.15 个比特币才给恢复。
于是赶紧想了想有什么恢复措施,发现平时根本没做备份,突然想到之前使用过阿里云快照功能,进去一看,居然 17 年以后就开始收费了。。自然也没有自动快照生成。只能在重新录入数据了。又要花费好长时间了。。。

网上搜了下 mongodb 数据勒索的事件,发现以前早就有了,就是利用了 mongodb 不需要身份验证来搞的。
https://yq.aliyun.com/articles/114813

借此机会给广大 v 友提个醒,mongodb 一定要记得加密,最好也能经常备份数据。

顺便求问:mongodb 没有手动备份,有可以恢复数据的方法么。。。

6209 次点击
所在节点    程序员
41 条回复
hantsy
2020-03-30 14:04:00 +08:00
开发环境不要用户认证就罢了,生产环境这么来能怪谁。
tt67wq
2020-03-30 14:04:35 +08:00
标题不太对,者不叫加密,叫鉴权
hyyou2010
2020-03-30 14:10:30 +08:00
我倾向于数据库本身就应该设计为默认需要口令。
wmhx
2020-03-30 14:15:39 +08:00
不要用默认端口, 不要用默认端口, 不要用默认端口
renmu
2020-03-30 14:47:00 +08:00
他们都是用机器来扫的,不会在意你是大的还是小的数据库(我被黑过一次博客,然后就被我关了 2333 )
xcstream
2020-03-30 14:51:16 +08:00
能使用 mysql 的尽量使用 mysql
janxin
2020-03-30 15:15:02 +08:00
你这是没加权限认证🤦‍♂️
no1xsyzy
2020-03-30 15:43:31 +08:00
@zy5a59 #18 大概三年前就看到这种消息了…… 而且被删的数据库查流量会发现没有大上传,上传量连十分之一的数据库都没有,所以根本没留底,只是简单帮你删了然后留段信息。

完全自动化扫过去的,确实没有 “人” 搞你。
Vegetable
2020-03-30 15:47:02 +08:00
@hyyou2010 mongodb 本身设计时 bind 127.0.0.1,这样其实足够了吧,我非常反对像 MySQL 那样还要去日志找密码的设计。
xuanbg
2020-03-30 16:21:14 +08:00
@zy5a59 不是有目的地搞你,是被机器扫到了,自动地就搞了。所以,像你这种,只要稍微加点安全措施,能防机器就行了。
zy5a59
2020-03-30 22:22:16 +08:00
感谢上面各位老哥的建议,再同步一下最新的结果:
我在 db 文件里找了半天,发现有 journal 文件,会保存每一条插入记录,还好当前数据不多,于是把 journal 文件里面的数据拿出来重新插入了一遍,避免了重新再手动录入。
后面如果大家有类似问题,也提供一个思路
proqj
2020-03-31 04:06:15 +08:00
可以,又提醒了大伙儿
123444a
2020-03-31 07:58:19 +08:00
aws 有 security group 设置硬件防火墙的,绑公网很正常
123444a
2020-03-31 07:59:29 +08:00
加什么密,都是来源 IP 限制,难道黑客黑入到你公司的 IP 那就没辙
123444a
2020-03-31 08:00:02 +08:00
你以为加密扫描的人就破解不了么
Kobayashi
2020-03-31 08:29:12 +08:00
大清亡了?
lc7029
2020-03-31 11:41:47 +08:00
1,数据库权限控制
2,访问来源控制
3,MongoDB 不给公网 IP
三选一就行
xyjincan
2020-03-31 12:58:05 +08:00
别开放端口啊,内部用就行了
mostkia
2020-03-31 13:33:12 +08:00
不备份的真大丈夫。我数据库每天零点准时备份。。虽然站点基本基本没什么人来,写个计划任务那么难嘛。。
kiddingU
2020-03-31 22:44:55 +08:00
心大
1 、公网 IP
2 、默认端口
3 、不加权限
4 、数据不备份

删库了,只能说买教训了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/657480

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX