公司的官方网站从春节前无缘无故就出现连接数据库异常的现象,由于以前也出现过,再加上没多久逢年过节,也就没有太在乎这个情况,仅仅试着重新启动了网站数据库。逢年过节的时候我发现了有一些不太对,网站数据库只有一打开没多久就宕掉。检查服务器里的资源,发现服务器的内存被占满,CPU达到百分之100就连远程连接都越来越巨慢至极,因此开展对该网站被攻击的问题解决。
一开始感觉是因为Apache占有网络资源,以及CPU过大导致,网络上查了各种各样信息尝试了一上午,网站依然没有变好,只有一起动PHP环境服务,服务器内存立刻消耗殆尽。从而质疑,会不会我的服务器硬件配置太低导致的,以至于试图改成Nginx,不是称为占有网络资源最少的一个环境嘛。过后想一想为了更好地不消耗时间,立刻把运行内存从4G提升到了8G。如果是阿里云服务器需要重新启动系统才可以起效,因此又费了一上午劲把dedecms和数据库开展了自动备份。重新启动过后,打开网站服务,服务器的运行内存直接消耗殆尽,检查网络资源发觉N多Nginx还全部都是死进程。打开网站缓慢,无法连接。
再一次怀疑公司的网站服务器或者是mysql网站数据库或dedecms源代码有毛病,也许是被黑客恶意攻击了。排除问题的全过程基本上心烦到死,最先把dedecms更换,直接用一片空白html代码做首页,起动公司网站服务和网站数据库,没问题。好啊,肯定是dedecms的代码问题了吧。说动手就动手,把网站源代码跟数据库打包到本地电脑里。
在自己电脑的win10系统里用phpstudy安装了PHP网站运行环境,把dedecms和mysql备份文件也导入了进去,本地访问127.0.0.1打开后,网站都是正常可以打开的,浏览新闻以及图片也都是正常,很是怀疑mysql网站数据库的登录密码被破解,导致被黑客利用攻击,因此我修改了数据库的账户密码,再到网站服务器上试一试。此次运行内存果真很没问题,但是网页无法访问,发觉服务器里的dedecms配置文件里边的数据库登录密码没有更改。改回来过后公司网站正常了,可一瞬间运行内存消耗殆尽,现象依然,网站又无法打开了。
无论如何,公司网站恢复了,网站打开速度依然飞快。此次网站安全事故一共花去我最少十个钟头开展维护,相等于我好几天的年假。我仅仅是记录一下解决问题的过程,希望能帮到更多遇到网站被攻击打不开的情况的朋友,根据我上面分析的,以及解决的思路来进行处理。