致青春,致梦想,一片自留地

Menu

终于轮到自己湿鞋了,网站被动手脚了

前言

弄了这么多年的网站,有过帮朋友装的网站过段时间莫名其妙发现被挂马的情况,自己的站点从来都没有碰到这种问题,今天就这么突然发现自己也已经湿鞋了,而且居然已经被挂马了已经小10天了,4台服务器中已经有2台中招,其中一个网站已经被Google报安全问题了。运气还算不错,一个主力站点虽然已经被挂马,但是还没有被红名。

如果Google的爬虫发现网站有对访问者不利的情形,Google Chrome浏览器打开网站的时候就会出现这种提醒。

我自己是个绝对的半吊子,别说网络安全了,linux的常用指令都记不全,只好边百度边自己弄,记录一下刚才的操作,以供参考。

服务器基本情况

第一步:登陆服务器,查看具体情况

使用ssh登陆上服务器之后发现有几个文件的日期有异常,那几天我肯定没有对网站操作,文件的所属日期显示这些文件不是我自己操作服务器的时候生成的。有怀疑网站被破密码,虽然密码已经是很复杂的密码了,但是前几天在未知安全的电脑上进行过连接服务器操作,因此有可能是root密码的外泄问题。

第二步:修改几个服务的root密码

指令如下:

passwd 用户名 #如 passwd root

会车后输入新的密码,修改完毕后,到网站所在目录查看了具体的文件属性,指令如下:

ls -l

发现所有异常的网站文件所属的都是www的用户,因此可以大致排除root用户的密码外泄问题,那么就只剩下是网站有漏洞被利用了。因为几个被挂马的站点都是老的站点,WordPress的插件很久没有更新了,因此怀疑是某个老插件的漏洞被利用了。

第三步:对一些不重要的站点先进行删除站点处理

由于我的站点都已经使用了lnmp作为网站管理平台,关闭站点相对来能最快的处理危害,为自己提供足够的缓冲时间。lnmp的删除站点其实只是删除了配置,网站的内容还是继续保存在服务器上的,这是最符合我要求的操作,即能快速操作,又能尽量保存文件,以便查看问题,尽量减少操作的时间,明天时间充裕的情况下再想办法,是重装系统还是怎么弄。根据https://lnmp.org/faq/lnmp-vhost-add-howto.html描述,使用下列指令完成删除操作:

lnmp vhost del

第四步:对于重要的站点进行仔细排查

查询每个目录下文件的所属时间,对有疑问的文件进行逐个的分析,对明显不是属于站点的文件进行删除操作,对于属于站点但是明显所属时间有问题的文件,找到可以比对的备份文件,删除掉有问题的代码。其中就发现wp-blog-head.php被增加了一些代码。

第五步:修改mysql的密码

由于WordPress站点的数据库配置文件中关于数据库的引用采用明码,既然对方已经可以在我的站点上增加了文件,那么肯定也可以查看甚至修改数据库。虽然我的网站上不涉及任何的隐私数据,但是毕竟总是个问题。通过搜索,找到下列代码:

wget http://soft.vpser.net/lnmp/ext/reset_mysql_root_password.sh
sh reset_mysql_root_password.sh

完成mysql的密码修改,并在网站的配置文件中修改了新的数据库。

备注:事后发现reset_mysql_root_password.sh这个文件在/root/lnmp版本/tools的目录中存在的,不需要在另外下载。

第六步:关闭/删除存疑插件

经过对文件和目录的查看,个人比较怀疑是*****插件出了问题,因为几个出问题的站点,对应的插件目录都有日期异常的问题。所以相信直觉,把这个插件直接删除。

已经是凌晨2点,又困又饿,又气又急,长叹一声。希望问题已经解决。

— 于 共写了1532个字
— 文内使用到的标签:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注