WordPress 是一个功能强大的 CMS,几乎可以通过插件和主题实现任何功能。尽管 WordPress 功能强大,但由于其动态特性,其性能很差。如果不优化的话,可能会刷新几次才会死,更不用说恶意CC 攻击了。
WordPress 防 CC 攻击设置教程-字节智能
上一篇文章对服务器简单的防 CC 攻击设置,简单介绍了网站遇到 CC 攻击的一般解决方案,本文给出了 WordPress 全面的防 CC 攻击设置。
WordPress 的弱点
默认情况下,WordPress 不是静态的,所有请求都是动态生成然后发送的。游客少的时候,问题不大。流量上来的时候基本都是 GG,不使用缓存或者静态。因此,WordPress 性能优化最重要的一个方面是使用缓存/静态插件。
启用 cache/static 插件后,页面和文章访问一次后就会被缓存,不需要动态生成下一个请求,性能会有很大提升,低 VPS 也能轻松加载上万个 ip,非常好看。
但是对于 WordPress 的 CC 攻击,缓存远远不够,因为它致命的弱点还没有解决:WordPress 的动态性是它的弱点,弱点的弱点是搜索。文章数量是固定的,但是搜索词无止境,所以缓存对 CC 攻击没有影响。如果文章数以万计,每次搜索都非常耗费资源,再多几次搜索式 CC 攻击,WordPress 就会趴下。
总结一下:WordPress 的弱点是动态的,致命的弱点是搜索。必须解决这两个弱点才能防止(减轻)CC 攻击。
防抄送攻击设置
了解 WordPress 的弱点,然后介绍 WordPress 的防 CC 攻击设置。
1.安装缓存/静态插件,解决 WordPress 动态生成网页的弱点。本网站使用的 WordPress 超级缓存配置简单,性能良好。插件安装启用后,主要设置如下:1。选中“常规”中的“启用缓存功能(推荐)”;2.在高级中进行以下设置:
不要勾选“GET 请求不缓存”,理论上解决了搜索攻击的问题,但是会让你的网站不正常。
2.然后解决搜索的弱点。通常,与 CC 攻击预防一样,主要手段是限制请求的数量和速率。假设我们使用Nginx,解决方案是:
在 Nginx 的主配置文件的 http 部分分配极限计数区(例如,/etc/nginx/nginx.conf):
打开网站配置文件(例如/etc/nginx/conf.d/tlanyan.conf),在 server 段中增加防 CC 攻击设置:
在上面的配置中,最重要的设置以 if ($query_string ~ “s= “开头,重定向搜索,然后使用我们定制的搜索频率设置。如果超过这个搜索频率,直接 503 返回一个错误消息。
使用 nginx -t 命令检查配置错误,然后systemctl 重新启动 Nginx 以重新启动 Nginx。
因此,由于连接数量的限制,单个 ip 不能无限期地发起到服务器的连接;通过正常请求率限制单个 ip 对普通文章页面的请求率;通过搜索限制,大大限制了搜索频率,从而有效防止 CC 攻击,提高服务器性能。
重启 Nginx 后,打开你的WordPress 博客,搜索几次,会出现“503 服务暂时不可用”的提示,说明我们的搜索限制起作用了。