网站被攻击数据库内存资源耗尽的详细解决方案
浏览:436 时间:2021-5-20

春节前,该公司的官方网站已经无缘无故地连接到了数据库。因为它以前发生过,而且它没有花很长的假期,它没有太在意这种情况,只是试图重新启动网站数据库。在假期里,我发现了一些不对劲的地方。网站数据库在打开后不久就关闭了。检查服务器中的资源,发现服务器的内存已满,当中央处理器达到100%时,即使是远程连接也变得非常慢。因此,解决网站被攻击的问题。

起初,我觉得Apache占用了网络资源,CPU太大了。我在网上搜索了各种信息,试了一上午,但网站还是没有好转。只有通过启动PHP环境服务,服务器内存才会立即耗尽。所以我想知道我的服务器硬件配置是不是太低了,所以我试着换成Nginx,这是一个网络资源最少的环境。以后再考虑吧。为了节省时间,运行内存立即从4G增加到8G。如果是阿里巴巴云服务器,它需要重启系统才能生效,所以需要另一个早上来自动备份重复数据删除和数据库。重启后,网站服务被打开,服务器的运行内存直接耗尽。检查网络资源后,发现所有的Nginx都是死进程。网站打开缓慢,无法连接。

我再次怀疑该公司的网站服务器或mysql网站数据库或dedecms源代码有问题,可能受到黑客的恶意攻击。消除问题的整个过程基本上让人烦死了。首先,替换dedecms,直接使用空白html代码作为主页,并启动公司网站服务和网站数据库。没问题。很好,这一定是dedecms的代码问题。照你说的做,将网站源代码和数据库打包到本地计算机中。

在我电脑的win10系统中,PHP网站运行环境安装了phpstudy,并且还导入了dedecms和mysql备份文件。在127.0.0.1打开本地访问后,网站正常打开,浏览新闻和图片也正常。我非常怀疑mysql网站数据库的登录密码被破解,导致被黑客攻击。因此,我修改了数据库的帐户密码,并在网站服务器上试用。运行内存确实很好,但是网页无法访问,并且发现服务器中的dedecms配置文件中的数据库登录密码没有改变。变更后,公司网站正常,但运行记忆瞬间耗尽,现象依然存在,网站无法再次打开。

无论如何,该公司的网站已经恢复,其开放速度仍然很快。这次网站安全事件花了我至少十个小时来进行维护,这相当于几天的年假。我只是记录下解决问题的过程,希望能有所帮助