您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程

WordPress性能瓶颈遭遇攻击的解决方法

冷卉2025-03-02WordPress教程已有人查阅

导读在最近的时间里,服务器依旧会瘫掉,无法处理HTTP请求。(每台Server安装了50个WP博客,每篇博客每天都有几十篇博客的更新,Google等各大主流爬虫成天都在爬)。分析了Apache的日志文件

在最近的时间里,服务器依旧会瘫掉,无法处理HTTP请求。(每台Server安装了50个WP博客,每篇博客每天都有几十篇博客的更新,Google等各大主流爬虫成天都在爬)。分析了Apache的日志文件(/etc/httpd/logs/access_log)后发现有大量的扫描网站漏洞的程序在猜phpMyAdmin的后台路径等。
213.149.105.61 - - [05/Apr/2012:22:03:39 -0400] "GET /mysql/index.php HTTP/1.1" 404 292 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:39 -0400] "GET /myadmin/index.php HTTP/1.1" 404 294 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:39 -0400] "GET /dbadmin/index.php HTTP/1.1" 404 294 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:39 -0400] "GET /admin/phpmyadmin/index.php HTTP/1.1" 301 - "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:39 -0400] "GET /db/index.php HTTP/1.1" 301 - "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:39 -0400] "GET /mysqladmin/index.php HTTP/1.1" 404 297 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:39 -0400] "GET /mysql/index.php HTTP/1.1" 404 292 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:40 -0400] "GET /myadmin/index.php HTTP/1.1" 404 294 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:40 -0400] "GET /db/index.php HTTP/1.1" 301 - "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:40 -0400] "GET /typo3/phpmyadmin/index.php HTTP/1.1" 404 303 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:40 -0400] "GET /mysqladmin/index.php HTTP/1.1" 404 297 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:40 -0400] "GET /mysql/index.php HTTP/1.1" 404 292 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
213.149.105.61 - - [05/Apr/2012:22:03:40 -0400] "GET /dbadmin/index.php HTTP/1.1" 301 - "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"
那么为何Server上的WP博客对于如上的攻击会不堪一击呢?答案就在于我Server上的WP博客配置使用了自定义Permalink,使用了自定义Permalink后,对于每个URL,WP程序都需要去尝试解析URL是否正确。那么这里就会带来对Mysql数据库的访问。当扫描程序对Server上的几个或几十个博客进行扫描的话,那么Mysql的连接数很快就会让Server当机了。默认的Mysql5.1的连接数为151,那么这个数值对于一个安装了50个WP的Server来说。一旦有扫描程序来,也就5分钟左右Server的Mysql的连接数就会飙到151。我在这篇文章- Centos下修改mysql默认较大连接数 里提到了修改Mysql的连接数为1000。结果就是在一次的攻击中,Mysql的连接数飙到了760,导致我SSH都无法连接。只能联系机房硬重启机器。
解决办法:
对于某些特定 User Agent, 我们可以在Apache的配置文件httpd.conf或者网站的.htaccess文件中去屏蔽它。比如我就是修改了Apache的配置文件httpd.conf。
比如我屏蔽了对于”ZmEu“的恶意扫描:
== 恶意扫描日志 ==
209.15.236.190 - - [04/Apr/2012:03:30:32 -0400] "GET //phpmyadmin/ HTTP/1.1" 404 288 "-" "Made by ZmEu @ WhiteHat Team -.whitehat.ro"
209.15.236.190 - - [04/Apr/2012:03:30:32 -0400] "GET //phpMyAdmin/ HTTP/1.1" 404 288 "-" "Made by ZmEu @ WhiteHat Team -.whitehat.ro"
209.15.236.190 - - [04/Apr/2012:03:30:32 -0400] "GET //PMA/ HTTP/1.1" 404 281 "-" "Made by ZmEu @ WhiteHat Team -.whitehat.ro"
209.15.236.190 - - [04/Apr/2012:03:30:32 -0400] "GET //phpmyadmin/ HTTP/1.1" 301 - "-" "Made by ZmEu @ WhiteHat Team -.whitehat.ro"
209.15.236.190 - - [04/Apr/2012:03:30:32 -0400] "GET //pma/ HTTP/1.1" 404 281 "-" "Made by ZmEu @ WhiteHat Team -.whitehat.ro"
在httpd.conf中配置的网站的目录小节中做如下修改
<Directory "/home/website">
SetEnvIfNoCase User-Agent "ZmEu" getout
Options -Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
deny from env=getout
</Directory>
以上红色的2行是需要添加的。其中蓝色的为User Agent中出现的关键词,也就是你要屏蔽的HTTP请求。
对于那些修改了看似正常的User Agent来恶意扫描的。屏蔽IP其实不是个好办法,(每次扫描的IP都在变)。那就选择最简单、最笨的办法,不适用WP博客的自定义Permalink,使用默认的URL(就是带查询参数的: /?p=1170)。

本文标签:

很赞哦! ()

相关源码

  • (PC+手机)帝国cms7.5漫画图片连载网站源码免费下载本模板基于帝国CMS7.5深度开发,为漫画阅读类网站打造。整体设计风格贴合漫画行业特性,界面布局充分考虑漫画作品的展示需求,支持多种漫画阅读模式。模板采用响应式设计,能够自动适配PC端和移动端设备,为读者提供流畅的阅读体验。查看源码
  • (自适应)中英文双语外贸扬声器音响喇叭话筒网站模板免费下载为音响设备外贸企业设计的中英文双语网站模板,基于PbootCMS内核开发。适配扬声器系统、音频设备等产品的国际化展示需求查看源码
  • 帝国cms7.5游戏门户H5小游戏网站模板源码免费下载基于帝国CMS7.5开发的H5游戏门户模板,为在线游戏平台设计。支持PC端与移动端同步生成,打造完整的游戏娱乐体验平台。查看源码
  • (自适应)蓝色五金制品配件管件pbootcms网站源码下载基于PbootCMS内核开发的五金行业专用模板,采用响应式设计架构,确保产品展示在各类移动设备上的呈现。通过模块化布局与工业风视觉设计,帮助五金企业高效展示产品规格、应用场景及技术支持,建立专业可靠的行业形象。查看源码
  • (自适应响应式)蓝色律师事务所法务团队网站pbootcms模板为律师事务所和法律服务机构打造的专业网站模板,展现法律专业性与权威性,手工编写标准DIV+CSS代码,结构清晰优化,确保高效运行,自动适配电脑、平板和手机等各类设备,提供更好浏览体验查看源码
  • 帝国cms题库问答学习平台模板知识付费网站源码+数据采集为教育机构、培训平台及在线学习场景设计,提供完整的题库管理与问答服务解决方案。支持多种题型展示与答案查询,满足不同层次的学习需求。查看源码
分享笔记 (共有 篇笔记)
验证码: