哎,又是一次惨痛的经历!掌声说一下上次被黑的经历吧。上次被黑的服务器是阿里云。服务器没有问题,但是数据库被删除了。主要有两个原因:一是外网数据库端口没有关闭,二是网上数据库上的密码太简单了。综上所述,就是一种弱口令攻击。数据库密码多简单啊:123456。说到这里,一口老血喷了出来!这次被黑有点科幻,工单解决不了,系统重启不了。怀疑入侵者对我机器根目录执行了rm-rf*第一次发现第一次发现crash昨天晚上在百度上查看网站的收录状态,突然发现博客网站打不开了!本来以为是服务器不稳定,所以打算登陆重启,结果发现登陆不了!所以马六只好去腾讯云提交工单看看是怎么回事!image通过工程师的分析,我的机器CPU占满,没有资源可以远程连接。建议我重启后通过VNC登录(一种web登录)。什么地方出了错!由于我的服务都是基于docker的,首先docker查看了容器信息,看到图像的时候吓了一跳。我的机器什么时候挂了,运行两个程序,一个是15小时前,一个是39小时前,也就是一两天后,而且这哥们很聪明,没碰我的其他事情,如果机器没有运行和挂起,我没有注意到它。立即删除这两个容器!好了,问题找到了。我对了解这两个容器正在运行的应用程序不感兴趣。不管怎样,他们被黑了。至于被黑的原因,我从前阵子写的帖子猜到了:dockerexternalnetworkremote忘记关闭端口了。真正有兴趣打脸的朋友可以看看这篇文章:【实用原创】SpringBoot应用docker化并发布到远程服务器立即关闭远程端口,防止不良性继续乱象。为了进一步保证安全,我再次修改了ECS服务器的登录密码图片。既然隐患已经解决了,那就重启系统吧。完了,远程连接不了,或者只能通过VNC连接,不方便。累了,关灯睡觉,明天再说吧。第二天早上,通过xshell远程登陆,还是登陆不上,再次点击后台重启,过了一会,还是登陆不上。我尝试通过VNC连接,但发现连VNC都连接不上。只看到如下界面,没错,卡住了!如果重启后GGimage还是有问题,马上给腾讯小哥提交工单。因为各种授权不能重启机器,自然云硬盘数据快照备份就不能用了,也就是说我的数据全GG了!!!!通过我的描述,工程师确认是由于黑客攻击导致系统文件丢失,导致无法重启。必须重装系统才能使用,我的文件怎么办?我的数据库还有几百篇博客~所以为了把损失降到最低,我跟工程师沟通了恢复方案,对方建议我从原来的系统盘进行试恢复,希望老铁黑我的人没有清除我之前手动备份的文件,不然我真的要哭了!image首先,我购买了一个云硬盘,将原来的系统盘数据复制到云硬盘中,因为如果想再次查看原来的数据,必须先重装系统再挂载云硬盘,因为系统磁盘会随着实例发布,所以只好花钱买了一个同样大小的云硬盘。我花了十多块钱买了一个月。这是我一周的生活费!打开!先关闭ecs服务器,再拷贝系统盘。复制完成后,ecs服务器将无法启动,重新安装系统。嗯,心想事成,给自己一个表扬!重装完成后挂载新硬盘,使用命令查看数据库盘符手动挂载mount/dev/vdb1/mnt/到之前的主目录下,看看数据还在不在,刺激!image看到ls命令后弹出的数据,我喜极而泣!数据终于以最小的损失恢复了!列出我目录下的一些主要文件aliyun_mysql_back_up阿里云数据库远程备份目录dblogXXX.sql博客数据库手动备份脚本mysqlBackUpmysql脚本备份nginxdocker容器宿主目录,一些https证书,nginx配置文件和日志文件ngrok内网渗透相关redisredis容器宿主related还好,数据基本可以找回来,没有大的损失,算是震惊了。因为我的应用都是基于docker的,而且数据库备份脚本也找到了,所以应用很快就跑的很开心!综上所述,云服务器的敏感端口尽量不要设置为开放。即使设置为开放,也必须设置为固定ip可以访问,不是所有客户端都可以访问的。把损失降到最低,不要放弃,不要放弃,不要让自己的心态崩溃,即使死了也要做好从头再来的准备,不要像房东一样,救护车已经准备好了打电话,不怕麻烦,备份数据,当真有事的时候,你会觉得:真香!
