#精品
利用Cloudflare WAF提高网站安全性

2025-01-12 0 379

CloudFlare是全球著名的CDN服务商,可惜在中国境内速度稍有些缓慢,不如本土CDN速度快。本文主要是介绍如何利用免费的Cloudflare WAF防火墙提高网站安全性。

什么是Cloudflare WAF?

WAF也称为“Web应用防护系统”,英文:Web Application Firewall,简称: WAF。它会对HTTP的请求进行异常检测,根据特定规则拒绝不安全的请求。

Cloudflare WAF 可以针对漏洞提供自动保护,还能让用户灵活地创建自定义规则。

为什么要使用Cloudflare WAF?

国内云服务提供商的WAF安全服务均收费较高,几乎没有免费的。各CDN的安全防护功能也都开始额外收费,包括阿里云、腾讯云、百度云等。

Cloudflare免费版用户可以自定义5条WAF安全规则,这对于一般网站来说足够使用了。

本教程使用的方法是境内访问依然回源站或使用境内的CDN服务,仅将境外的访问接入Cloudflare。这样不影响境内访问速度。

经过研究发现,大部分的网络攻击或恶意扫描来自境外,所以可以通过域名智能解析将境外所有的访问解析至Cloudflare,通过Cloudflare WAF防火墙来保障网站安全。

如何使用Cloudflare WAF?

准备工作

  1. 注册Cloudflare账户
  2. 因为Cloudflare官方不再接受CNAME方式接入CDN,所以需要借助Cloudflare for SaaS服务实现CNAME方式接入。Cloudflare for SaaS可免费使用100个域名。
  3. 使用可以区分境内或境外线路的DNS解析服务。例如阿里云DNS、DNSPod等

通过CNAME方式接入Cloudflare

如果是以前的Cloudflare老用户,是可以通过CNAME方式接入CDN的,那么可以直接跳过本步骤,直接进入下一步。

如果是新用户,在注册完账户后,使用一个闲置的域名(或注册一个最便宜的任意后缀域名)先通过NS方式接入Cloudflare,然后开通Cloudflare for SaaS服务(只要不超过100个域名是免费的)。

利用Cloudflare WAF提高网站安全性
通过Cloudflare for SaaS服务使用CNAME方式接入CDN

如果不清楚如何设置,可以参考教程:https://luotianyi.vc/6185.html

提示:开通Cloudflare for SaaS服务需要绑定信用卡,未达到100个域名不会扣费。

添加境外线路的域名解析记录

原来的默认解析记录不变,添加一条境外线路解析,填入Cloudflare的CNAME记录值或通过Cloudflare for SaaS设置的自定义主机名。

这里以DNSPod为例:

利用Cloudflare WAF提高网站安全性
DNSPod增加境外线路解析

解析生效后,所有境外访问的请求均会接入到Cloudflare。

配置Cloudflare WAF规则

利用Cloudflare WAF提高网站安全性
创建Cloudflare WAF防火墙规则

第一条规则,对搜索引擎机器人(蜘蛛)放行:

利用Cloudflare WAF提高网站安全性
Cloudflare WAF对搜索引擎机器人(蜘蛛)放行

如上图,匹配字段选择:“合法机器人爬虫”,选择操作:“允许”,权重填入:“1”。权重越小,优先级越高。

第二条规则:禁止扫描网站所有的压缩包

利用Cloudflare WAF提高网站安全性
Cloudflare WAF阻止对压缩包扫描请求

字段选择:“URL路径”,选算符:“包含”,值分别填入:.rar、.zip、.gz、.tar、.7z,每条规则之间选择“Or”运算符。也就是当“URL路径”中“包含”“.rar”或“.zip”或“.gz”或“.tar”或“.7z”的均阻止。

利用Cloudflare WAF提高网站安全性
Cloudflare WAF对压缩包扫描请求的操作

优先级填入“2”。

为什么要阻止压缩包扫描?请参阅:《站长容易中招的攻击:网站备份压缩包被窃取》。

第三条规则:禁止访问PHP、ASP或ASP.net等程序文件

填写这条规则时,要注意排除网站使用的程序需要正常执行的程序文件,例如WordPress至少需要排除:/index.php、/wp-comments-post.php、/wp-admin/admin-ajax.php这三个文件。如果有开放用户登录等功能的,还需排除相应的登录程序文件。

请看以下示例规则:

利用Cloudflare WAF提高网站安全性
Cloudflare WAF禁止访问PHP、ASP或ASP.net等程序文件

需要排除阻止的文件请选择:“URL路径字段”且运算符选择:“不包含”。

具体表达式为:

(http.request.uri.path contains \".php\" and not http.request.uri.path contains \"/wp-admin/admin-ajax.php\" and not http.request.uri.path contains \"/wp-comments-post.php\" and not http.request.uri.path contains \"/index.php\") or (http.request.uri.path contains \".asp\") or (http.request.uri.path contains \".aspx\") or (http.request.uri.path contains \".jsp\")

注意:按照以上规则设置后,Cloudflare WAF会阻止WordPress后台登录及后台所有功能访问。如需使用后台,请勿通过境外线路,或者更改本机DNS解析,或者在以上规则中排除/wp-admin路径(不建议)。

将这条规则优先级填入“3”:

利用Cloudflare WAF提高网站安全性
Cloudflare WAF防火墙禁止访问PHP、ASP或ASP.net等程序文件

还剩余两条Cloudflare WAF防火墙规则,可以自由发挥!例如可以阻止一些垃圾爬虫、或一些可疑IP等。

需要注意的是,根据本教程的方法,Cloudflare WAF防火墙仅对境外有效,境内请求不会触发防火墙规则。可在服务器端另行配置安全规则。

检查Cloudflare WAF效果

利用Cloudflare WAF提高网站安全性
查看Cloudflare WAF防火墙事件
利用Cloudflare WAF提高网站安全性
查看Cloudflare WAF防火墙事件详情

总结

网络攻击无处不在,随着网站流量不断增长,知名度越高的网站越要注意安全防护,千万不要等到出了问题后再考虑安全问题。

WordPress网站建议安装下列安全插件:

  1. Wordfence Security Premium
  2. iThemes Security Pro
  3. WP Hide Pro – 隐藏WordPress痕迹的插件

其中1和2选择其一即可。另外千万不要使用不明来源的主题或插件程序,如果被植入木马或后门,有可能是毁灭性的灾难。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在!
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。联系邮箱:3496947425@qq.com

813站长大咖 精品文章 利用Cloudflare WAF提高网站安全性 https://www.813master.cn/1536.html

WordPress极客一枚!无干货,不分享!

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务