使用CloudFlare的免费服务阻挡网络攻击

CDN 网络安全 cloudflare 文章 2021-08-05 12:27 14 0 全屏看文

    Cloudflare(下面简称CF)是一家美国的跨国科技企业,总部位于旧金山,在英国伦敦亦设有办事处。以向客户提供网站安全管理、性能优化及相关的技术支持为主要业务。

    CF提供的很多安全类服务是国内云服务器商收费的服务。比如定制化阻拦访问。

    注册和转移网站的操作就不在此文讲了。挺简单的,唯一有点难度的就是要将原本在万网或其他地方的DNS改成CF提供的DNS,这个在CF里的操作了,官方也会很详细很明了的教你。

    我们本文只提,如何设置规则拦截攻击。


    就三叔从业十几年的经验+资深程序员(架构师)的经验说句很简单的道理:

    国内网站绝大部分网站攻击来自境外,尤其美国等国家的。这个从三叔的网站攻击图里可以看出来(此图由CF提供,数据是从20小时内的)

    image.png

    当时三叔的网站是完全打不开的,查看nginx日志时候,日志是刷刷刷的。正常用户打开网站一直都是502(服务器超时),打开阿里云的WAF后无效。唉........

    所以迫不得已立马转移到了CF(在CF上增加网站代理,DNS换成CF的)。

    并且在首页开启了Under Attack模式,也就是被攻击模式。

    image.png

    开启不到十几秒后,网站逐渐恢复过来了,我就开始着手研究CF的各种服务内容,主要是防火墙。

       image.png

    点进防火墙,选择创建规则

    image.png    点开后 就打开了配置界面

image.png

    分别:

    1. 规则名字 自己取一个,创建好会在列表里展现。

    2. 条件字段,你需要选择一个判定参考条件,国家、地区、ip等

    3. 运算符:第二步选好后可用,一共四种:等于、不等于、包含、不包含

    4. 第2、3步的达成条件。 与前两部可以组成: 国家 等于 中国 这种条件依据

    5. 如果2、3、4 条件成立后做什么操作。 比如允许访问、组织、弹出验证码等。


    下面就第2步和 第5步的参数解释下:

    第二步:条件选择字段:

  •  ASN : 系统自治号,需要了解请参考: https://zhuanlan.zhihu.com/p/135372161

  •  Cookie: 网站存储在客户端的一种信息类型,一般以键值对存在客户端浏览器,请求服务器的时候会带入。

  • 国家/地区: 不解释

  • 洲: 不解释

  • 主机名: 不解释

  • IP源地址: 不解释

  • 引用方

  • 请求方法:  一般是GET请求或POST请求

  •  SSL/HTTPS: 是否是HTTPS请求

  • URI完整: 匹配完成的网址

  •  URI: 匹配域名 比如sanshu.cn/a/1.html 则匹配 http://sanshu.cn

  • URI路径: 匹配域名后的内容,比如sanshu.cn/a/1.html 则匹配 /a/1.html

  • URI查询字符串 匹配查询参数 比如 http://zhanzhang123.com/?kw=test 则匹配 kw=test

  • HTTP版本

  • 用户代理:

  •  X-Forwarded-For 匹配HTTP头里的 X-FORWARD-FOR


    第5步 参数:


    做完上5步操作,基本上就可以不用害怕小型攻击了。除非有大神想搞你。不过如果境外的攻击多,直接2,3,4,5 直接配置

2.国家 3.不等于 4.中国  5.阻止

    即可。

    目前三叔的配置如下:

    image.png


-EOF-