CloudFlare 21 2

    使用CloudFlare WAF自定义规则保护网站

    使用CloudFlare WAF自定义规则保护网站

    写在开头

      只要是建站,那就难免会被爬虫爬取整个网站,有一些是搜索引擎爬虫,我在网站设置了robots.txt,搜索引擎爬虫会根据文件之中的规则进行爬取。但其他就是恶意爬虫,寻找网站弱点,爬取网站重要消息。

    常见爬取恶意爬取内容

    1. 登录页面:

      • /login/admin
      • 目的:进行暴力破解。
    2. 管理面板:

      • /admin/wp-admin(WordPress)、/dashboard
      • 目的:获取管理员权限。
    3. 用户数据:

      • /user/profile
      • 目的:进行社交工程或身份盗窃。
    4. 配置文件:

      • /config.php/config.ini
      • 目的:获取数据库连接信息和其他敏感配置。
    5. 搜索功能:

      • /search
      • 目的:探测网站的内容结构。
    6. 备份文件:

      • 常见备份文件名如 .bak.zip.tar
      • 目的:获取可能的敏感数据。
    7. 敏感文档:

      • .pdf.doc 文件
      • 目的:获取公司内部文件或用户信息。
    8. 脚本和API:

      • /api 或其他脚本文件(如 .php.js
      • 目的:探测网站操作相关的敏感逻辑。
    9. 常见漏洞路径:

      • /cgi-bin/ 或特定于应用程序的已知漏洞
      • 目的:利用已知漏洞。

    预防措施

    • 使用 robots.txt: 指定允许和不允许爬虫访问的目录。
    • 访问控制: 对敏感目录和文件实施访问控制和身份验证。
    • 监控流量: 监控异常流量并及时采取措施,屏蔽恶意IP。
    • 安全扫描: 定期进行安全扫描,发现潜在的安全隐患并修复。
    • 应用防火墙: 使用WAF(Web Application Firewall)来过滤恶意请求。


      下面就介绍我使用CloudFlare设置WAF对网站机进行保护。

    CloudFlare设置WAF

      点击进入需要设置WAF的网站,点击安全性。点击WAF,点击创建规则开始创建自定义规则。

    我在网站上是创建了三天规则,分别是

    • 探针: 放行我自己监控探针进入;
    • SEO:放行搜索引擎爬虫;
    • 区域外质询:对存在恶意流量进行质询或者拦截。


    创建SEO规则

      填写规则名称 --> SEO

      点击编辑表达式在表达式框之中填入下面内容,放行常见SEO爬虫,如有其他内容,自定义添加即可。

    (cf.client.bot) or (http.user_agent contains "Googlebot") or (http.user_agent contains "Bingbot") or (http.user_agent contains "DuckDuckBot") or (http.user_agent contains "Baiduspider") or (http.user_agent contains "Yahoo! Slurp") or (http.user_agent contains "YandexBot") or (http.user_agent contains "360Spider") or (http.user_agent contains "Sogou Spider")

      选择操作之中选择跳过,放行搜索引擎爬虫;

      要跳过的组件之中全选,全部放行;

      放行位置选择顺序选择第一个

      点击部署完成设置。


    创建质询托管规则

      填写规则名称 --> 质询托管

      点击编辑表达式在表达式框之中填入下面内容,拦截恶意流量。

    (cf.threat_score ge 5 and cf.client.bot) or (not http.request.version in {"HTTP/2" "HTTP/3"}) or (not ip.geoip.country in {"CA" "CN" "FR" "DE" "HK" "JP" "KR" "MY" "SG" "TW" "GB" "US"})

      威胁分数设置为5,cloudflare判断是否拦截,5是比较合适,不会影响正常使用。只允许HTTP2HTTP3进行访问,允许常见的几个国家和地区进行访问,一些太过偏远的IP进行质询拦截。

      选择操作之中选择质询托管

      放行位置选择顺序选择自定义,规则在SEO之后。

      点击部署完成设置。


    成果展示

      前往侧边栏安全性事件,可以看见自定义规则拦截或者放行的事件。



    碎碎念

      本来我的小破站,每天也就十几、几十、上百访问量,大家随缘看看就好,好家伙,前段时间几个国外IP访问网站大几千次,也不是浏览文章,就是爬我网站/admin /wp-login登录页,疯狂爬取php和config文件,我这小破站,至于嘛……

    1. hhh
      hhh
      2024-11-15 15:43

      网上扫描器乱扫的吧

        1. zephyr 作者
          2024-11-15 16:26
          @hhh

          有可能,之前过几天就来那么几次,每次到处乱扫,挺烦的。