问题描述
一直没有接触过mongoDB,最近公司搭建yapi 项目,api都是文本类型,采用的mongo存储。
刚开始什么问题也没有,等去yapi里面维护接口的时候突然发现,账号等不进去了,数据库数据全部没了,刚开始以为是不小心把数据给清了,但是都没人连接过mongo,最后又认为是不是有什么定时任务,最后发现有一个被黑了。
原因分析
1、mongo库 READ_ME_TO_RECOVER_YOUR_DATA(读取我来恢复你的数据)
在查找日志记录的时候,发现多了一个库,刚开始认为是系统自动生成的,然后就去翻译看这个库是做什么的,有没有记录日志的信息什么的。翻译之后就懵了(读取我来恢复你的数据)
READ_ME_TO_RECOVER_YOUR_DATA
里面清晰的记载着
All your data is a backed up. You must pay 0.02 BTC to 16jE6yZiZnX8enpnsdwUcxuV4NDY1NAUtL 48 hours for recover it. After 48 hours expiration we will leaked and exposed all your data. In case of refusal to pay, we will contact the General Data Protection Regulation, GDPR and notify them that you store user data in an open form and is not safe. Under the rules of the law, you face a heavy fine or arrest and your base dump will be dropped from our server! You can buy bitcoin here, does not take much time to buy https://localbitcoins.com with this guide https://localbitcoins.com/guides/how-to-buy-bitcoins After paying write to me in the mail with your DB IP: mydataback@mailnesia.com and you will receive a link to download your database dump.
翻译
你所有的数据都是备份的,你必须付0.02BTC到16jE6yZiZnX8enpnsdwUcxuV4NDY1NAUtL48 小时内恢复。48 小时后过期,我们将泄漏和暴露所有的数据。如果拒付,我们将联系一般数据保护条例,GDPR并通知他们,您以开放形式存储用户数据,不安全。根据法律规定,你将面临重罚或逮捕,你的基地转储将从我们的服务器下降!你可以在这里购买比特币,并不需要太多的时间来购买https://localbitcoins.com有了这个导https://localbitcoins.com/guides/how-to-buy-bitcoins付款后用你的 DB IP 写信给我:mydataback@mailnesia.com你会收到一个链接下载你的数据库转储。
解决方式
1、修改配置文件
mongo 配置编辑vi /etc/mongod.conf
#bind_ip_all = true # 任何机器可以连接
#bind_ip = 127.0.0.1,192.168.0.30 # 本机和192.168.0.3可以访问
#bind_ip: 0.0.0.0 #改成0,谁都可以访问
bind_ip: 127.0.0.1 #改成127,只能本地连
security:
auth = true # 开启校验用户
我这里因为用于yapi 数据存储,所以不需要外部连接,就设置了只能本地连接(远程是连接不上的)。
注意
这种只能解决mongo安全性,防止下次被毒。
不能帮你恢复数据:可以找找mongo是否支持log日志数据恢复等方法了