2020-08-27 我的一台服务器被黑
所有数据库的表被删除,留下个空数据库,里面增了新表WARINING,表内就一个字段留了言
黑客留下一句话如下:
To recover your lost Database and avoid leaking it: Send us 0.04 Bitcoin (BTC) to our Bitcoin address 1Mt5beKhEbs12YHWDBWD4hZcCBpFfVMpoi and contact us by Email with your Server IP or Domain name and a Proof of Payment. If you are unsure if we have your data, contact us and we will send you a proof. Your Database is downloaded and backed up on our servers. Backups that we have right now: eyeglass, leobug, leocn, leostat, stat, stock, wordpress, zabbix. If we dont receive your payment in the next 10 Days, we will make your database public or use them otherwise.
查了一圈,认为黑客不会耐心的拖那个10G的数据库的,所以恢复了12小时前的一个备份文件。关闭3306端口,禁止外部IP登录
网络上的加强方案
1. 密码强化,使用复杂密码设置,防止被破解。
2. 不推荐使用默认的端口3306, 换一个其他不常用的端口,避免通过端口进行攻击;
3. 不推荐开启远程访问, my.cnf 配置文件中添加 bind-address =127.0.0.1, 仅配置本地访问。
4. 如果有远程访问的需求,建议收敛账户的主机Host配置,允许特定安全网段访问数据库。
5. 使用云主机的安全组功能,限制访问来源和端口。
6. 定期修改账户密码。
8月14日我以为服务器空间紧张停止了binlog
读完下面的文档,发现如果binlog在,是可以恢复数据库的。
https://zhuanlan.zhihu.com/p/71758831
最终安全动作:
1. 永远禁止外面IP访问数据库,如果需要访问,那么改程序的时候,放开,记得要改完要关闭
2. 永远打开binlog,如果空间不够,可以保留最近3天的binlog
3. 不要心疼钱,如果数据重要,双机热备