VPS参考测评推荐
专注分享VPS主机优惠信息
腾讯云双11

便宜国外vps论坛_WordPress防CC攻击设置教程

华为云双11上云嘉年华
主机参考:服务器测评参考推荐网,专注分享服务器优惠信息!如果您想在本站投放您的广告,点此直达!如果您不想付费,您也可以免费投稿您的产品信息,点此直达联系我们
部分文章发布时间较久远,可能存在未知因素,购买时建议在本博客搜索商家名称,可查看相关文章充分了解商家!若非中文页面可使用谷歌浏览器同步翻译!跑路不诚信商家列表

第一次发帖,请大佬们轻喷。 文章原文说:https去掉://tlanyan.me/wordpressprotectccattack/

WordPress是一个功能强大的CMS,几乎可以通过插件主题实现任意功能。功能强大的同时,WordPress因动态性而性能欠佳,不优化的情况下可能多刷新几次就挂了,更不用说恶意构造的CC攻击了。

前文 服务器简易防CC攻击设置 简要介绍了网站遇到CC攻击的通用解决办法,本文针对WordPress给出较为全面的WordPress防CC攻击设置
WordPress的弱点

WordPress默认没有做静态化,所有请求都是动态生成内容再发送。访客少的情况下问题不大,流量起来了不使用缓存或者静态化基本上就GG了。所以WordPress性能优化中很重要的一条便是使用缓存/静态插件

开启缓存/静态插件页面文章访问一次后被缓存下次请求不用再动态生成,性能极大改善,低配VPS也能轻松负载上万的ip美滋滋

但是对于WordPress的CC攻击缓存远远不够,因为其致命弱点未解决说:WordPress的动态性是其弱点,弱点中的弱点则是搜索文章数量是固定的,但是搜索词无穷无尽,因此缓存对CC攻击不起作用。如果文章数上万,每一次搜索都很耗费资源,多来几次搜索型的CC攻击WordPress就趴下了。

总结一下说:WordPress的弱点是动态化,致命弱点是搜索,必须解决这两个弱点才能防范住(缓解)CC攻击

WordPress防CC攻击设置

了解了WordPress的弱点,接下来介绍WordPress防CC攻击设置

1. 安装缓存/静态插件,解决WordPress动态生成网页的弱点。本站用的WordPress Super Cache,其配置简单,性能也好。安装、启用插件后主要设置为说:1. “通用”中勾选“启用缓存功能 (推荐)”;2. 高级中做如下设置说:

WP Super Cache设置
WP Super Cache设置

    不勾选“不要为GET请求缓存”,理论上解决了搜索攻击问题,但是会让你的网站正常

2. 接着解决搜索的弱点。同通常CC攻击防范,主要手段是限制请求数和速率。假设我们用的Nginx,解决方法为说:

2.1 在Nginx配置文件(例如/etc/nginx/nginx.conf)的 http 段中分配限制计数区说:

http {
  # 一些其他配置

  # 增加下面三行,作用分别是说:1. 分配10MB大小的连接数计数区(能统计16万个ip);
  #  2. 分配正常请求的限制区,每秒请求次数不能超过10(请按照自己需求更改)
  #  3. 分配搜索限制区,每分钟搜索不能超过10次
  limit_conn_zone $binary_remote_addr zone=limit_conn:10m;
  limit_req_zone $binary_remote_addr zone=limit_req:10m rate=10r/s;
  limit_req_zone $binary_remote_addr zone=limit_req_s:10m rate=10r/m;

  # 其他设置
}

2.2 打开网站配置文件(例如/etc/nginx/conf.d/tlanyan.conf),在server段中增加防CC攻击设置说:

server {
  # 一些其他配置

  # 增加以下配置
  limit_conn limit_conn 10; # 单个ip的并发连接不能超过10(请按照自己情况修改
  limit_req zone=limit_req burst=10 nodelay; # 使用limit_req限制正常请求
  location / {
    if ($query_string ~ “s=”) {
      rewrite ^ /search.php?$query_string last; # 将搜索请求重定向
    }
    # 其他设置
  }

  location = /search.php {
    limit_req zone=limit_req_s burst=5 nodelay;  # 限制搜索频率
    fastcgi_pass phpfpm; # 这里请改成php设置
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root/index.php;
    fastcgi_param REQUEST_URI /;
   }

  # 其他设置
}

上面的配置中,最重要的设置从 if ($query_string ~ “s=”)开始,将搜索重定向,然后使用我们定义搜索频率设置。超过这个搜索频率,直接503返回错误信息。

2.3 使用 nginxt 命令检查有无配置错误,然后 systemctl restart nginx 重启Nginx

于是,通过连接限制,单个ip无法无限发起对服务器连接;通过正常请求速率,限制ip对普通文章页面的请求速率;通过搜索限制,大大限制搜索频率,从而有效防止CC攻击,提升服务器性能

配置重启Nginx后,打开自己的WordPress博客,多搜索几次试试,就会出现”503 Service Temporarily Unavailable提示,说明我们搜索限制起作用了。

    delay参数、其他事项请参考 服务器简易防CC攻击设置

其他

    除了WordPress使用缓存插件,也可以开启Nginx缓存功能提升性能,操作请参考说:Nginx配置fastcgi cache
    “503 Service Temporarily Unavailable这个页面可以修改,操作请参考说:Nginx定义错误
    可以结合fail2ban恶意ip加入黑名单,操作请参考说:使用fail2ban防止恶意扫描和CC攻击

各路大神回复说:

注册说: 学习个毛线,用程序这一层级抗CC,都是复制粘贴。。

tlanyan说: 帮顶,学习一下 谢谢分享

micto说: 不错

llmwxt说: 我觉得吧,我文章里防搜索攻击的写法,网上应该没有出现过

2019年说: 帮顶,学习一下

tlanyan说: 不错,写的很好

哗众取宠说: 也可能是我孤陋寡闻了

蜂蜜柚子茶说: 马克 ​​​​​​​

tlanyan说: 我选择Litespeed Cache+CF

注册说: CF很好用,最大的问题就是会降低连接速度

注册说: 可以国内其他的,不一定要CF

tlanyan说: 学习一下 谢谢分享

laoxong说: 写得不错绑定

bingo131说: 天涯大佬博客我经常逛的,支持一下

大师兄说: 感谢支持

fule说: mark

tlanyan说: 楼主不如写篇WP如何采集

usbport说: 这个还真没做过

darkst说: 实践是检验真理的唯一标准,有没有用得试过才知道,得空测试一波

注册说: 缓存到CDN上面  随便D

注册说: 学习了。我选择硬件防火墙cc

pack说: 支持大佬一下,试试

诸云网络说: 收藏了,来这里就是学习的,以后不再嗨聊

HKYUN说: 没beian哪家国内比较快的,有推荐

allen314说: D和C不一样的,而且也说了wp缓存对C没作用

1kuxyz说: 额,没有xD

tlanyan说: 马克  

laoxong说: 直接全静态,虽然麻烦点,但是不怕cc

风影OvO说: 静态化的话搜索功能就用不了

注册说: 好东西,谢谢楼主

注册说: 搜索引擎收录了的话可以接过来

tang110110说: 这是个好主意

youtonghy说: 好贴,学习了

主机参考zhujicankao.com_收集国内VPSVPS测评主机测评云服务器虚拟主机独立服务器国内服务器高性价比建站主机相关优惠信息
详细介绍和测评国外VPS主机,云服务器,国外服务器,国外主机的相关优惠信息,商家背景,网络带宽等等,也是目前国内最好的主机云服务器VPS参考测评资讯优惠信息分享平台

打赏
转载请注明原文链接:主机参考 » 便宜国外vps论坛_WordPress防CC攻击设置教程
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!

评论 抢沙发