【mysql被黑】黑客入侵导致mysql被黑


近期在做毕设,为了能在多个平台同时开发项目,将mysql放在了自己线上的服务器,然后用nacos的配置中心进行连接,一觉起床人都傻了,自己的数据库被黑客入侵了,里面所有的数据都消失了!粗略算了一下,按照今天的比特币∶人民币=1:70000的汇率来看,我得支付945块钱。
好在这只是毕设,自己本地有同步,只是数据丢失了一部分,稍微花一点点时间就能修复,而且数据也没那么重要,这次就借着这次机会反思一下问题。
image.png

出现原因

通过查看大量网上的说法,得出最大的原因就是:端口被脚本扫描了

  1. 首先ip是开放的
  2. 然后扫描3306端口发现数据库,账号密码过于简单(root/123456)
  3. 然后又刚好撞库了,数据库表的名称都在黑客的字典里,所以就被黑了

市面上端口扫描工具多着呢,类似御剑、nmap上帝之眼

解决方案

可以查看这篇blog的内容,讲的很详细:
服务器被黑,Mysql数据库遭比特币勒索!该如何自救?
总结一下就是:

  1. 查看服务器的数据库连接日志:Access denied for user
  2. 修复数据库:【前提】开启binlog,通过binlog修复数据库
# --start-position="219" 第一次操作库的偏移量
 # --stop-position="4124564" 找一个卸库前的偏移量
/www/server/mysql/bin/mysqlbinlog --no-defaults /www/server/data/mysql-bin.000005 --start-position="4" --stop-position="4124564" | /www/server/mysql/bin/mysql -u root -p

避免方案

源头上避免出现该问题:

  1. 修改线上数据库root登录密码(不要root/123456)
  2. 关闭外网访问!改用ssh登录

image.png

  1. 如果使用的是宝塔面板,设置phpadmin禁止公网访问,设置可访问ip地址(白名单)
  2. 端口修改建议:
  • 一定要修改的端口是22端口和模板的宝塔面板登录端口8888
  • 不建议修改的端口是80,443,和mysql的端口3306
  • 不建议安装的服务FTP,因为可以使用SFTP
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值