2019年十大开源WEB应用防火墙点评
2019年十大开源WEB应用防火墙点评
随着WEB应用的爆炸式成长和HTTPS加密的普及,针对网络应用层的攻击,像SQL注入、跨站脚本攻击、参数篡改、应用平台漏洞攻击、拒绝服务攻击等越来越多,传统的防火墙检测功能失效,所以对于网站来说,部署一个WEB应用防火墙十分重要,这方面商业产品很多,开源的也不少,这里笔者经过大量搜索,整理出2019年十大免费的开源大神产品供大家参考。
1、ModSecurity
ModSecurity最开始是一个Apache的安全模块,后来发展成为开源的、跨平台的WEB应用防火墙。它可以通过检查WEB服务接收到的数据,以及发送出去的数据来对网站进行安全防护。
最厉害的是著名安全社区OWASP,开发和维护着一套免费的应用程序保护规则,这就是所谓OWASP的ModSecurity的核心规则集(即CRS),几乎覆盖了如SQL注入、XSS跨站攻击脚本、DOS等几十种常见WEB攻击方法。
目前已经支持Nginx和IIS,配合Nginx的灵活和高效,可以打造成生产级的WAF,是保护和审核WEB安全的利器,很多商业的WAF也是根据其修改而来。
项目地址:https://github.com/SpiderLabs/ModSecurity
2 、HiHTTPS
hihttps是一款少有的完整源码的高性能SSL WEB应用防火墙( SSL WAF),采用epoll模式支持高并发,并且兼容ModSecurity正则规则,特点是简单高效实用,非常值得初学者收藏。
hihttps虽然简单,但防护功能一应俱全,包括:漏洞扫描、CC &DDOS、暴力破解、SQL注入、XSS攻击、防爬虫等,还有完善的网站文件黑白名单机制精确阻断攻击。
项目地址:https://github.com/qq4108863/hihttps
3、OpenWAF
OpenWAF是基于Nginx_lua API分析HTTP请求信息,由行为分析引擎和规则引擎两大功能引擎构成,其中规则引擎主要对单个请求进行分析,行为分析引擎主要负责跨请求信息追踪。
规则引擎的启发来自modsecurity及freewaf(lua-resty-waf),将ModSecurity的规则机制用lua实现。
基于规则引擎可以进行协议规范,自动工具,注入攻击,跨站攻击,信息泄露,异常请求等安全防护,支持动态添加规则,及时修补漏洞。缺点是复杂,不适合不熟悉Nginx和lua语言的开发者。
项目地址:https://github.com/titansec/OpenWAF
4、FreeWAF
FeeWAF是一款开源的WEB应用防火墙产品,其命名为FreeWAF,它工作在应用层,对HTTP进行双向深层次检测:对于来自 Internet的 攻击进行实时防护,避免黑客利用应用层漏洞非法获取或破坏网站数据,可以有效地抵御黑客的各种攻击,如SQL注入攻击、XSS攻击、CSRF攻击、缓冲区 溢出、应用层DOS/DDOS攻击等;同时,对WEB服务器侧响应的出错信息、恶意内容及不合规格内容进行实时过滤,避免敏感信息泄露,确保网站信息的可靠性。但项目已经很久没更新了。
5、ESAPI WAF
这是OWASP ESAPI 项目提供的一个开源WAF,基于J2EE实现,其主要利用XML的配置方式驱动防火墙。安装时,在WEB.xml中将ESAPIWEBApplicationFirewallFilter配置为filter,在应用程序之前和之后处理输入和输入。
6、unixhot
unixhot是使用Nginx+Lua实现自定义WAF,一句话描述,就是解析HTTP请求(协议解析模块),规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来,非常简单。
项目地址:https://github.com/unixhot/waf
7、Java WAF
用Java开发的WAF很少,我们发现一个使用Java开发的API Gateway,由于WAF构建在开源代理LittleProxy之上,所以说WAF底层使用的是Netty。功能上支持安全拦截、各种分析检测、脚本(沙箱)、流控/CC防护等。不会C语言,是Java爱好者的福音。
项目地址:https://github.com/chengdedeng/waf
8、 Naxsi
Naxsi 是一款基于Nginx模块的防火墙,有自己规则定义,崇尚低规则。项目由C语言编写,需要熟练掌握Nginx源码的才能看懂。
项目地址:https://github.com/nbs-system/naxsi
9、X-WAF
X-WAF是一款适用中、小企业的云WAF系统,让中、小企业也可以非常方便地拥有自己的免费云WAF。核心基于openresty + lua开发,waf管理后台:采用golang + xorm + macrom开发的,支持二进制的形式部署。
项目地址:https://github.com/xsec-lab/x-waf
10、VeryNginx
VeryNginx 也是基于 lua_Nginx_module(openrestry) 开发,实现了高级的防火墙、访问统计和其他的一些功能。 集成在 Nginx 中运行,扩展了 Nginx 本身的功能,并提供了友好的 WEB 交互界面。
项目地址:https://github.com/alexazhou/VeryNginx/
评价:
1、目前商业防火墙基本千篇一律的Nginx模块,很多在openrestry上做二次开发,真正完整源码的很少,hihttps算一个。
2、C是应用软件防火墙的首选语言,主要是C天生和系统底层结合、速度块、编译出来的东西不大、支持高并发请求等优势。
3、HTTPS是加密是大势所趋,传统的HTTP明文网站很快会被淘汰,基于SSL 的WEB应用防火墙是未来的重点。
4、WEB应用防火墙未来最大的趋势是用人工智能的方法,精准判断未知漏洞、未知攻击,总体来说,在国家非常重视网络安全的背景下,这个行业的发展空间还很大。
2019年十大开源WEB应用防火墙点评的更多相关文章
- 十大开源ERP点评 献给深水区的中小企业和CIO们
原文地址:http://www.oschina.net/news/58437/top-10-erp-software 如今,企业资源规划(ERP)和客户关系管理(CRM)系统的必要性已经被各种组织和企 ...
- 十大常见web漏洞及防范
十大常见web漏洞 一.SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击.SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞.在设计程序,忽略了 ...
- 教你用免费的hihttps开源WEB应用防火墙阻止暴力破解密码
教你用免费的hihttps开源WEB应用防火墙阻止暴力破解密码 很多企业都有自己的网站,需要用户登录后才能访问,但有大量的黑客攻击软件可以暴力破解网站密码,即使破解不了也非常恶心.有没有免费的解决办法 ...
- 新一代大数据任务调度 - Apache DolphinScheduler喜提十大开源新锐项目 & 最具人气项目
经 10000+ 开发者公开票选,20+专家评审. 10+ 主编团打分,历经数月打磨,11 月 19 日,由InfoQ 发起并组织的[2020中国技术力量年度榜单评选]结果正式揭晓. 2020 年度十 ...
- 【喜讯】Apache DolphinScheduler 荣获 “2020 年度十大开源新锐项目”
经 10000+ 开发者公开票选,20+专家评审. 10+ 主编团打分,历经数月打磨,11 月 19 日,由InfoQ 发起并组织的[2020中国技术力量年度榜单评选]结果正式揭晓. 2020 年度十 ...
- 十大开源的.NET用户界面框架 让GUI设计不再犯难
选择一款合适的GUI框架是.NET开发中比较重要但又很棘手的问题,因为用户界面相当于一款应用的"门面",直接面向用户.好的UI更能吸引用户,有时甚至成为决定一款应用成败的关键.下面 ...
- Deep learning深度学习的十大开源框架
Google开源了TensorFlow(GitHub),此举在深度学习领域影响巨大,因为Google在人工智能领域的研发成绩斐然,有着雄厚的人才储备,而且Google自己的Gmail和搜索引擎都在使用 ...
- [转]2017年最具价值的十大开源项目!GitHub 年度报告~
<GitHub 2017 年度报告>GitHub 每年都会在年度盛会中推出数据报告,其中列出了一些年度的数据,包括其网站中最受欢迎的编程语言.开源项目等.那么今年哪些开源项目最具价值呢?我 ...
- 盘点Xcode中开发者最喜爱的十大开源插件
Xcode IDE拥有着诸如导航.重构.校准等众多非常高大上的工具,而予以辅助的插件更是在Xcode的基础上对相关功能进行改进与扩展.在应用开发过程中,通过开源包管理器Alcatraz对插件进行安装管 ...
随机推荐
- Liunx学习总结(九)--防火墙
防火墙的作用 防火墙作为一个边界防御工具,其监控流量要么允许它.要么屏蔽它. 多年来,防火墙的功能不断增强,现在大多数防火墙不仅可以阻止已知的一些威胁.执行高级访问控制列表策略,还可以深入检查流量中的 ...
- 初识云计算 -《AWS云端企业实战圣经》读书笔记
原书中涉及实操的地方,在本文中被省略.一是篇幅太长,放入文中太过累赘,二是原书成书过早,现在 AWS 的界面早已变化很大,不具备参考性. 第一章 谁在使用云计算 1.什么是云计算 云计算(cloud ...
- HDU-4027-Can you answer these queries?线段树+区间根号+剪枝
传送门Can you answer these queries? 题意:线段树,只是区间修改变成 把每个点的值开根号: 思路:对[X,Y]的值开根号,由于最大为 263.可以观察到最多开根号7次即为1 ...
- HDU2222Keywords Search AC_自动机
http://blog.csdn.net/niushuai666/article/details/7002823 #include <iostream> #include <cstd ...
- 模板汇总——ST(暂)
int Log[N]; struct ST { ], a[N]; void init(int n) { ]=-); i < N; i++) Log[i] = Log[i - ] + ((i &a ...
- box-sizing(CSS3)
CSS3新增了盒模型box-sizing,属性值有下面三个: content-box 默认值,让元素维持W3C的标准盒模型.元素的宽度/高度(width/height)= 元素内容框宽度/高度(con ...
- Object和Objects
Object 在Java,Object类是超级父类,是所有类的父类. public boolean equals(Object obj) { return (this == obj); } publi ...
- explain的关键字段的意义
mysql提供的explain工具可以输出一些有用的信息. 一下是相关的部分返回值的意义. select_type 表示SELECT的类型,常见的取值有: SIMPLE:简单表,不使用表连接或子查询 ...
- ajax交互案例
数据交互是前端很重要的一部分,静态页是基础,而交互才是网页的精髓.交互又分为人机交互和前后端数据交互,现阶段的互联网下,大部分的网站都要进行前后端数据交互,如何交互呢?交互的流程大概就是前端发送数据给 ...
- [整理] jQuery插件开发
1.类级别的插件开发 类级别的插件开发,可似为给jQuery类添加方法,调用方式:$.你的方法(),如:$.ajax() 函数. 1.1.给jQuery类添加方法 $.alertMsg = funct ...