科技

基於 openresty 的 web 應用防火牆 cheerwaf

設計背景

在一些大型資訊展示的站點中,每天會面對大量的惡意漏洞盲掃、爬蟲採集,往往在這樣的站點場景中,流量很大,很難區分哪些是真實流量,哪些是採集垃圾流量,因此需要一個靈活規則的過濾器來進行篩選和攔截,筆者當時所在的雲財經就是這麼一個場景,每天的獨立訪問使用者幾十萬,其中有效行為訪問使用者不到40%,針對這種場景開發了基於靈活自定義規則的web應用防火牆

架構

cheerwaf是基於openresty設計的web應用防火牆,技術架構如下:

防火牆邏輯部分採用openresty防火牆規則讀取採用二級快取設計,nginx記憶體+rediswaf的管理端採用thinkphp編寫,規則儲存在mysql,然後釋出到rediswaf規則過濾主要通過access_by_lua_file實現waf支援放行、攔截、行為可信加分、行為可疑加分waf支援的行為粒度單次會話、訪客(cookie)、註冊使用者(cookie)、IP地址waf規則觸發條件支援http頭各欄位、cookie欄位、行為粒度的打分、行為粒度的單位時間訪問次數waf規則內建IP段抓取防護waf規則內建偽搜尋引擎蜘蛛防護

產品截圖

開源地址

https://github.com/chwjbn/cheerwaf
Reference:科技日報

看更多!請加入我們的粉絲團

轉載請附文章網址

不可錯過的話題