CloudFlare的免费版防火墙功能已经足够我们去使用了,它可以真正的保护我们的服务器。众所周知防火墙的原理是包过滤,如果我们不利用CloudFlare的防火墙,只是对nginx进行一些规则性屏蔽,则攻击流量还是会通过攻击者-骨干网-CloudFlare-服务器网卡-服务器防火墙-丢弃。在经过服务器的时候,防火墙要进行包过滤,而过滤势必要占用CPU和网络带宽,因此仅仅屏蔽一些端口或者对nginx进行规则屏蔽是只能防御入侵的,对于攻击是没有效果的。启用了CloudFlare防火墙之后,如何处理数据就会直接在CloudFlare端完成,一旦被CloudFlare防火墙拦截后,数据就不再会发往我们的后端服务器。这也是非常好的办法。而且CloudFlare的防火墙支持许多种过滤规则,支持ASN屏蔽,IP段,国家,请求方法等等许多方式进行过滤屏蔽,也可以弹出验证码或者进行JS认证甚至直接屏蔽,所以我们要利用好这个免费的功能。

登录CloudFlare的面板,选择你的域名,然后按照图上顺序点击。

会出现以下内容。按照序号讲解作用。

1是规则名称,随意,2是条件,Field是类型,比如ASNum就是按照ASN来判定,Country就是按照访客国家等等,Operator是判断方式,比如说是完全等于还是不等于,还是包含。Value就是判断的值了,比如要屏蔽美国访问,那么Field是Counrty,Operator是equal,Value就是United States.3是匹配到之后该怎么办,Block是直接屏蔽(返回403)JS Challenge是JS认证,普通爬虫是过不了JS认证的。下面的Capitcha是验证码认证。allow是允许,其实和没设置防火墙一样。特定情况有用(比如默认屏蔽所有,放行指定规则),Bypass是直接流量直通,不走CloudFlare。4是规则联动,比如你需要同时屏蔽英国和美国,你设置完美国后怎么办?点击and(就是与逻辑,全部满足才命中)(or是或者,也就是或逻辑,满足任意一个即可),然后按照刚才的方法添加国家即可。然后点击右下角蓝色的Deploy,等一分钟就会生效了。


你是否会像清风拂过花儿一样与我相遇呢?