查看原文
其他

一次服务器被黑的惨痛教训!!!

脚本之家 2023-02-06

The following article is from Cone的编程屋 Author Cone

 关注
脚本之家
”,与百万开发者在一起
本文经Cone的编程屋(id:gh_13e9ccf3241b)授权转载

如若转载请联系原公众号

今天和大家分享一个惨痛的教训,服务器上数据全都不见了,只留下了比特币付款地址,大学3年的学习记录都没了,惨痛!!!

先来看看事情的经过。

经过

有段时间没上服务器看了,今天心情不错,连了一下我的服务器

ssh root@@xxx.xxx.xxx.xxx

输入密码,连接成功了,老习惯,ls一下,emmm... 没什么问题。

然后连接数据库随便看看

mysql -u root -p xxx

然后日常数据命令

show databases;

然后 选择之前做的一个项目,carefree

use carefree;

然后看看哪些表

show tables;

然后一脸蒙圈,为啥只有一个表了?是不是我命令输错了,继续 show tables;

看看 还是只有一个表???

那来看看这个表里有些什么东西

select * from README;

然后看到了这句话。


以下数据库已被删除:xxxx 我们有完整的备份。要恢复它,您必须向我们的比特币地址bc1q8ap7s3j8jltmanmhtm48lmmz776t9mjp3ggmxz支付0.0075比特币(BTC)


一眼吃惊,这是服务器被黑了啊!!!!


惊慌失措中...


然后赶紧看看服务器登录日志,排除一下有没有其他异常ip登录,会不会有人拿我机器挖矿啊,毕竟最近矿价又高了起来!

last 命令查看登录日志

然后仔细瞧了几遍,还好还好,没有异常ip登录。

不过我的数据都被drop掉了!全无了。虽然数据不是很重要,但是这次教训还是惨痛的。

反思

主要反思为什么被黑了。

第一:之前部署过java的服务,springboot 数据库的各类信息,端口,库名,甚至密码都明文写入文件了。虽然没有git push到远端,但是这种情形,特别危险。

第二:把服务器借给其他人在学习,部署了一些服务,这些服务很容易被SQL注入,之前就有被SQL注入删除单个表数据的历史,已经存在隐患了。大意了。这次全给我删了。

第三:看看服务器的端口开放情况,3306直接给公网公开了,难怪容易被黑。3306公开,不黑我黑谁。那些攻击别人服务器的脚本大多都会去尝试默认端口,mysql的默认端口就是3306。

第四:数据库密码过于简单,我的密码就是两个123,很容易被破解。

如何应对

第一:无论如何不要开启相关默认端口,例如:mysql的3306、redis的6379等端口。这些默认端口都是黑客重点照顾对象

第二:如果要想在被攻击的情况下回复数据库,一定要把数据库的binlog日志开启,笔者这次就是没有开启,也没怎么在意这个,以为阿里云服务器就很安全了。后续也给大家分享为什么binlog可以做备份。

第三:修改数据库密码为高强度密码,一般具有大小写、数字、特殊符号的密码,强度就比较高了。

第四:修改数据库权限,修改为特定的ip才能都访问以及本地可访问。

总结

本次被攻击遭遇,虽然数据丢失不是特别重要(仅仅大学三年的学习记录)但是也给我提了个醒,小心别人利用我的服务进行挖矿!


  推荐阅读:

卧槽!9000G??

针对Linux服务器!用Go编写的勒索软件变种

看完这篇还不懂Nginx服务器配置,那我要哭了~

旧手机别卖掉换脸盆了,自制服务器了解一下!

蝉联冠军11年!服务器编程语言统计:PHP使用率高达80%

每日打卡赢积分兑换书籍入口

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存