Git Product home page Git Product logo

cheerwaf's Introduction

Cheerwaf

设计背景

在一些大型信息展示的站点中,每天会面对大量的恶意漏洞盲扫、爬虫采集,往往在这样的站点场景中,流量很大,很难区分哪些是真实流量,哪些是采集垃圾流量,因此需要一个灵活规则的过滤器来进行筛选和拦截,笔者当时所在的云财经就是这么一个场景,每天的独立访问用户几十万,其中有效行为访问用户不到40%,针对这种场景开发了基于灵活自定义规则的web应用防火墙

架构

cheerwaf是基于openresty设计的web应用防火墙,技术架构如下: image

  • 防火墙逻辑部分采用openresty
  • 防火墙规则读取采用二级缓存设计,nginx内存+redis
  • waf的管理端采用thinkphp编写,规则保存在mysql,然后发布到redis
  • waf规则过滤主要通过access_by_lua_file实现
  • waf支持放行、拦截、行为可信加分、行为可疑加分
  • waf支持的行为粒度单次会话、访客(cookie)、注册用户(cookie)、IP地址
  • waf规则触发条件支持http头各字段、cookie字段、行为粒度的打分、行为粒度的单位时间访问次数
  • waf规则内置IP段抓取防护
  • waf规则内置伪搜索引擎蜘蛛防护

产品截图

image image image image

开源地址

支持

image

cheerwaf's People

Contributors

chwjbn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.