关于 MongoDB 数据库被勒索

12/19/2023 224 阅读需要1分钟
0
0
AI总结
在服务器上使用Docker部署MongoDB后,发现数据经常丢失。检查发现数据库中出现名为READ__ME_TO_RECOVER_DATA的集合,内含勒索信息,要求支付0.0061比特币才能恢复数据。问题原因是MongoDB配置不安全,默认端口开放且未启用认证。解决方法包括:关闭默认27017端口、启用认证(auth=true)、将bindIp改为内网地址,并重新启动容器。启动命令示例中映射了数据卷和配置文件,使用自定义网络和端口3009替代默认端口,确保数据库安全。

背景

事情是这样的,在服务器上部署了docker,使用docker启动的moogodb,然后经常发现数据不见了。然后也没找到原因,在网上查了。最后发现在数据库下面多了一个collection,叫READ__ME_TO_RECOVER_DATApic

打开后里面有一条数据,内容是这样的。

All your data is backed up. You must pay 0.0061 BTC to bc1qxnymm0xynyetpqgzt3k7jlayc4p2kraz9nvppm In 48 hours, your data will be publicly disclosed and deleted. (more information: go to https://is.gd/rudata1)After paying send mail to us: dzen+18zvpb@onionmail.org and we will provide a link for you to download your data. Your DBCODE is: 18ZVPB 就是数据被删除了,需要支付一定的 btc 才可以恢复数据。

解决

  • 关闭默认的端口 27017
  • 修改配置文件 auth = true
  • bindIp 修改为内网
  • 然后重新启动容器得到解决
docker run --name mongo --restart=always -p 3009:27017 --net=mynet2 -v /data/mdb:/data/db -v /data/backup/mongodb:/data/backup -v /data/mdblog:/data/log -v /data/mongo_conf:/data/conf -d mongo