您现在的位置是:首页 > 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的后台路径等。
解决办法:
对于某些特定 User Agent, 我们可以在Apache的配置文件httpd.conf或者网站的.htaccess文件中去屏蔽它。比如我就是修改了Apache的配置文件httpd.conf。
比如我屏蔽了对于”ZmEu“的恶意扫描:
== 恶意扫描日志 ==
对于那些修改了看似正常的User Agent来恶意扫描的。屏蔽IP其实不是个好办法,(每次扫描的IP都在变)。那就选择最简单、最笨的办法,不适用WP博客的自定义Permalink,使用默认的URL(就是带查询参数的: /?p=1170)。
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)。
本文标签:
很赞哦! ()
相关教程
图文教程
WordPress使用方法整理
WordPress,当初之所以研究这个,目的是在于开发一个多租户系统应用。总的来说,WordPress给了我不少启发和影响。为此,我决定这个研究心得分享出去。总的来说,这篇文章参考了很多
WordPress制作手机网站的方法,WordPress怎么制作手机页面
WordPress怎么编制手机页面?我们使用wordpress建网站,也可以轻松制作出同步的wordpress 手机网站,方法如下:
nginx中怎么优化wordpress
Nginx下WordPress运行缓慢的解决方法:wordpress运行缓慢优化的方法1. 减少插件的使用这是首要的一点。大部分人往往都没足够的代码知识,更不可能做到每个插件的代码化,故大部分
WordPress函数query_posts用法汇总
最近经常有网友跟我咨询WordPress函数query_posts的相关用法,说起来query_posts实在是太强大,参数无数,用法更是无数,如果让我说它的用法,我根本没法一一说清楚。开始之前,你可以
相关源码
-
(自适应)响应式文章博客互联网新闻pbootcms模板下载本模板基于PbootCMS开发,专为科技新闻、互联网资讯和文章博客类网站设计。采用响应式布局技术,确保在电脑、平板和手机上都能获得最佳浏览体验。适用于科技媒体、行业博客查看源码 -
(PC+WAP)蓝色钢结构机械五金工程建筑基建营销型pbootcms模板下载于PbootCMS开发的钢结构与工程机械专用模板,助力企业构建专业级产品展示平台;模板内置工程案例展示、产品参数对照表等专业模块,预设项目进度、施工方案等建筑行业专属栏目查看源码 -
(自适应)蓄电池能源智能数码科技产品pbootcms模板源码下载本款基于PbootCMS开发的网站模板为蓄电池及能源科技企业设计,特别适合锂电池、储能系统、新能源电池等产品的展示与推广。查看源码 -
响应式粉色美容整形化妆品pbootcms网站模板开源源码该网站模板为美容整形、化妆品企业设计,采用响应式布局确保在手机、平板及PC端自动适配显示效果。基于PbootCMS内核开发,支持一键替换图文内容快速转换至其他行业应用。查看源码 -
帝国cms淘宝客京东联盟网站整站源码下载本模板基于帝国CMS内核深度开发,为淘宝客行业量身定制。随着腾讯微信与淘宝生态的互联互通,淘宝客链接现可在微信、QQ等平台直接分享,为推广带来更多便利。模板特别优化了店铺推广功能,有效避免商品下架导致的链接失效问题,同时支持京东联盟等多平台商品推广。查看源码 -
(自适应响应式)供应链进出口服务pbootcms企业网站源码为供应链管理、进出口服务类企业设计,特别适合展示物流网络、贸易服务和供应链解决方案。采用响应式技术,确保在各类设备上都能呈现企业服务内容。查看源码
| 分享笔记 (共有 篇笔记) |
