公司官网从春节前开始就无缘无故出现连接数据库异常的情况,由于之前出现过,而且当时离春节也刚好没多久,所以也没太注意,只是尝试重启网站数据库。春节期间发现不对劲,网站数据库打开没多久就崩溃了。检查服务器里的资源,发现服务器内存满了,CPU也达到了100%,就连远程连接也变得特别慢,于是就开始着手解决网站被攻击的问题。
一开始以为是网络资源占用大,CPU占用大,网上查了各种资料,尝试了一上午,网站还是没有起色。一启动PHP环境服务,服务器内存立马就被消耗殆尽。于是怀疑是不是自己的服务器硬件配置太低,于是尝试换成Nginx,这个环境占用网络资源最少。后来想着为了节省时间,立马把内存从4G加到8G。如果是阿里云服务器,需要重启系统才能生效,于是又花了一上午备份数据库。重启之后启动网站服务,服务器内存直接被消耗殆尽,查看网络资源,发现Nginx还是很多死进程,网站打开很慢,无法连接。
我再次怀疑是公司网站服务器或者 MySQL 网站数据库或者源代码有问题,也许是被恶意黑客入侵了。整个排查过程简直烦人。首先我更换了,用了空白的 HTML 代码作为首页,启动了公司网站服务和网站数据库,都没有问题。OK,肯定是代码问题。我马上动手,把网站源代码和数据库打包到本地电脑。
我在自己电脑的win10系统里安装了PHP网站运行环境,导入mysql备份文件,打开本地访问127.0.0.1,网站可以正常打开,新闻和图片可以正常浏览。我怀疑是mysql网站数据库的登录密码被破解,导致黑客利用其进行攻击,于是就修改了数据库账号密码在网站服务器上试了一下。这次运行内存确实没问题,但是网页却无法访问,发现服务器里配置文件里的数据库登录密码并没有改过,改回来之后,公司网站正常了,但是运行内存瞬间耗尽,现象依旧,网站再次打不开。
不管怎么说,公司网站已经恢复,网站打开速度还是很快的。这次网站安全事件,我至少花了十个小时来维护,相当于我好几天的年假。我只是把解决问题的过程记录下来,希望可以帮助更多遇到网站被攻击打不开的情况的朋友,按照我上面的分析和解决思路来处理。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。