我最近发现了一个中国的开源软件,在海外太火了。
这个软件刚开始没有国际版,那些老外没办法,只能顶着Google机翻去看文档。
实在没辙了就在GitHub上提issue,要求提供英文版:
中国的程序员们刚开始认为这个AI自动提的issue,没搭理它。
后来老外着急了,要求开放翻译文件,他们自己来做翻译。
甚至有一批老外,想方设法注册微信来联系中国的程序员,还有人“历经磨难”注册支付宝来购买产品的Pro版。
这些老外用上了以后,疯狂地给身边人安利,有个德国用户,写了很多篇博客讲解,堪称连续剧,而且每天都能提供大量的产品反馈,每一条建议都非常有价值。
还有个越南大哥,给很多越南的大学都装上了这个软件,流量大到云服务都快扛不住了,以一己之力带动了软件在越南的普及。
这些真爱粉确实在用真金白银在投票,国际版的付费用户占比要比中文版高好几倍!
什么样的中国软件,有这么大的魔力?
它就是长亭科技推出的开源Web防火墙:雷池。
雷池是一款开源的、简单高效的Web应用防火墙,不但能有效防御各类Web攻击,还能提供访问频率限制、人机验证、动态防护等功能。
它的原理很简单:以反向代理方式接入,优先于网站服务器接收流量,对流量中的攻击行为进行检测和清洗,将清洗过后的流量转发给网站服务器。
雷池全球装机量近50万台,日均处理300亿次请求,检出率76.17%,误报率仅0.22%。
在GitHub上,雷池的star已经达到20.2k,是最受欢迎的WAF项目,没有之一。
01
便捷的安装
很多安全产品给人的第一印象就是:“这玩意儿装起来肯定很折腾。”
雷池倒不是这种路子。
它对环境确实有一些要求,比如需要 Linux、Docker 版本不能太低、CPU架构要支持一些指令集之类的,但放到现在的服务器环境里,这些基本都不是问题。
真正让人舒服的是安装过程,基本上就是一条命令的事,执行完等几分钟,雷池的管理组件就已经跑起来了:
bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)"安装成功以后,就可以打开浏览器访问雷池控制台了
https://:9443/
如果你只是想先把防护立起来,而不是先研究半个月安全架构,这一点很加分。
02
强悍的防护能力
作为一个 Web 应用防火墙,雷池在最基础的防护能力上自然是合格的。
像 SQL 注入、XSS、路径穿越、命令注入这些老生常谈的攻击方式,它都能处理。
雷池的准确率、检出率都非常高,误报率,漏报率非常低,性能指标优于全球的一些知名产品:
但真正让我觉得它“不只是换了个壳”的,是它背后的思路。
传统防火墙更多是规则匹配,比如看到 union、select 这些关键字,就觉得你可能在搞 SQL 注入。
问题是,这种方式一方面容易误伤,另一方面也很容易被绕过, 稍微有点经验的攻击者,换个写法、插点注释,例如只要在在 union 和 select 中间插入了注释字符:union /**/ select,这样破坏了关键字的特征,传统防火墙就检测不出来了。
雷池用的是另一条路:语义分析。
它不是只盯着字符本身,而是尝试理解这段输入“在语义层面想干什么”。
对HTTP 请求解码之后,会根据内容类型交给不同的解析器,再判断这段输入是否真的会构成攻击。
说白了,就是:不看你写得像不像坏人,而是看你做的事能不能真的伤到系统。
03
Bot 防护
Web 应用有个天然的弱点:前端代码几乎是完全公开的。
HTML、CSS、JavaScript 都会被发到浏览器里执行,对爬虫、自动化工具来说,这等于是把“说明书”一起递了过去。
针对这一点,雷池做了两件挺实用的事。
第一是动态防护。
它可以对返回给浏览器的 HTML、JS 进行动态处理,让每一次访问看到的代码形态都不完全一样。
这样一来,爬虫和自动化脚本就很难通过“静态规则”来理解页面结构。
比如这个JavaScript:
被雷池进行动态加密以后变成了这个样子,很难辨认了。
第二是人机验证。
它不是简单地弹个验证码,而是通过行为特征来判断: 鼠标轨迹、操作节奏、页面交互是否像一个真实的人。
正常用户基本无感,而自动化程序往往会在这里露馅。 该放行的放行,该踢出去的就踢出去。
04
CC防护
在 Web 世界里,有一类攻击特别让人难受,叫 CC 攻击(Challenge Collapsar)。
攻击者会控制大量肉鸡(被感染的电脑)或代理服务器,伪装成正常浏览器访问网站,不断访问首页、搜索页、接口等。每个请求看起来都合法(有正常的 User-Agent、Referer、Cookie),但数量极其巨大。
最终让服务器过载,网页卡死、数据库阻塞或服务崩溃。
由于请求看起来都合法,这种攻击非常难以防御。
针对这种情况,雷池防火墙提供了“频率限制”的功能,如果某个 IP 在短时间内发起大量 HTTP 请求,就阻断该 IP 后续的所有访问,要求它通过人机验证,确保是真人才行。
还有不少应用存在高峰流量的情况,比如抢票,热点事件等,如果不进行限流,服务很容易被海量的请求冲垮,谁也用不了。
当然程序员可以写代码,深入到网站内部去实现限流功能,但是很麻烦,使用雷池的“等待室”功能,根本不用对应用做任何改变就可以实现限流。
这里配置的在线用户是超过了100人就需要进入等待室等候了,而进入应用的用户,如果超过3分钟在网页上没有操作,对不起,那就去等候室重新排队吧。
05
身份认证
第一次看到“防火墙自带身份认证”这个功能时,我也愣了一下。按理说,认证不是应用程序自己该做的事吗?
但仔细想想,这个功能解决的其实是一个很现实的问题:很多系统从一开始就没打算暴露在公网。
比如一些内部工具、监控页面、管理后台,本来只打算给小范围的人用,结果后来为了方便,直接挂到了服务器上。
这类系统往往认证简单,甚至干脆没有认证,一旦被扫到,就是一个现成的入口。
雷池在这里提供的是一种“外挂式”的解决方案:不改应用代码,只在防火墙层面加一层身份校验,就能把这个入口先堵住。
它不是用来替代应用本身的权限系统,而是在你来不及重构之前,先把门锁上。
06
总结
说实话,很少有中国的产品能做到如此让人“扬眉吐气”的,我想最重要的原因就是雷池的团队精准地、漂亮地解决了Web系统广泛存在的安全问题,才能吸引这么多海外用户。
如果你也有Web网站,需要把安全防护做好,强烈建议考虑下雷池这个非常优秀的开源的WAF。
新春将至,感谢大家一直以来对雷池社区版的支持和信任。
热门跟贴