记一次 MySQL 数据库遭比特币病毒处理方法

记一次 MySQL 数据库遭比特币病毒处理方法


经过

某日上午,发现公司的某个项目的测试服务器上的项目数据库突然消失,当时并没有找到消失,随后开启了MySQL—binlog日志记录数据库的所有操作。

两天之后数据库中的数据又消失,查看数据库中出现
在这里插入图片描述

追查

在这里插入图片描述

通过查看日记发现有来自香港的警告IP

2022-05-09T07:10:23.227906Z 1769 [Warning] IP address '14.136.219.166' has been resolved to the host name '014136219166.static.ctinets.com', which resembles IPv4-address itself.

恢复数据库

登录

数据库遭到攻击之后,是登录不上数据库的,需要登录服务器配置mysql免密登录

  • 停止mysql服务
    在这里插入图片描述

  • 修改mysql配置后

找到my.ini文件,在[mysqld] 下面添加 skip-grant-tables 然后重启mysql服务

  • 登录数据库添加root用户
  • 配置root用户可以远程连接之后刷新权限

恢复数据

由于上次开启binlog,我们通过binlog来恢复数据

  • 查看binlog地址

    • 在这里插入图片描述

    • 在这里插入图片描述

  • 将binlog文件导出成sql文件

    • mysqlbinlog --no-defaults --database=dbName --base64-output=decode-rows mysql_bin.000001 >d:/my.sql
  • 下载到本地,看一下内容,发现是从220507 11:54:41开始删库的,直接就 DROP 了

    • 在这里插入图片描述
  • 通过 binlog 恢复一下数据库。

 # --start-position="219" 第一次操作库的偏移量
 # --stop-position="9134862" 找一个卸库前的偏移量

mysqlbinlog --no-defaults mysql_bin.000001 --start-position="219" --stop-position="9134862"  | mysql -u root -p

回车->输入密码->回车 检查数据库发现表都还原回来了

安全设置

  • 修改 root 登录密码 ,密码尽量复杂
  • 关掉外网访问改用 ssh
  • 为不同的岗位分配不同的操作用户
  • 禁止开放3306端口
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值