问题描述
最近在阿里云上使用Docker部署MySQL,出现了几次MySQL容器莫名停止,重启后发现创建的数据库丢失了,第一次没有在意,使用SQL语句重新创建了数据库,第二次又出现了,于是准备仔细找找原因。
问题原因
仔细观察MySQL客户端,发现除了少了的数据库,还多出一个数据库 —— recover_your_data, 如图
打开数据库,其中有一张表,内容是:
All your data is backed up. You must pay 0.0123 BTC to bc1qu5xyjmdeu374cqd2nyv7rt0aq9ep784rjzn9e0 In 48 hours, your data will be publicly disclosed and deleted. (more information: go to http://iplis.ru/data02)
After payment send mail to us: dzen+22f3y@onionmail.org and we will provide a link for you to download your data. Your DBCODE is: 22F3Y
很显然,服务器中了比特币勒索病毒,数据库被人删除了。
解决方案
首先,我们一般人肯定是没有办法恢复数据库,只能采取措施将我们的损失降到最低。因此我们需要做到两点:
- 防止数据库再次受到勒索病毒的攻击。
- 即使再次受到攻击,也能快速恢复数据。
具体的措施:
- 提高数据库密码的复杂度,防止暴力破解.
- 修改数据库的默认端口3306.
- 关闭公网访问或者使用bind-address绑定特定的IP访问.
- 做好数据库备份.