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对插件进行安装管 ...
随机推荐
- #第 12 篇:解锁博客侧栏,GoGoGo!
作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们的博客侧边栏有四项内容:最新文章.归档.分类和标签云.这些内容相对比较固定和独立, ...
- 剖析nsq消息队列(一) 简介及去中心化实现原理
分布式消息队列nsq,简单易用,去中心化的设计使nsq更健壮,nsq充分利用了go语言的goroutine和channel来实现的消息处理,代码量也不大,读不了多久就没了.后期的文章我会把nsq的源码 ...
- HDU 6315
题意略. 思路:本题的思路总的来说就是暴力 + 剪枝. 我们依然用线段树来维护: 定义结点node{ l , r , minn , contirbute} 分别为某个区间的左右端点,和该区间(b序列) ...
- JVM内存分配及String常用方法
一,JVM内存分配和常量池 在介绍String类之前,先来简单分析一下在JVM中,对内存的使用是如何进行分配的.如下图所示(注意:在jdk1.8之后便没有方法区了): 如上JVM将内存分为 ...
- 逆向破解之160个CrackMe —— 025
CrackMe —— 025 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- HDU-6333 Problem B. Harvest of Apples 莫队
HDU-6333 题意: 有n个不同的苹果,你最多可以拿m个,问有多少种取法,多组数据,组数和n,m都是1e5,所以打表也打不了. 思路: 这道题要用到组合数的性质,记S(n,m)为从n中最多取m个的 ...
- codeforces Educational Codeforces Round 24 (A~F)
题目链接:http://codeforces.com/contest/818 A. Diplomas and Certificates 题解:水题 #include <iostream> ...
- cesium中json,geojson,stk,影像切片等数据的加载
cesium中json.topojson.geojson.stk,影像切片等数据的加载 一.geojson.topojson,json数据的加载 不管是哪种json,都可以通过GeoJsonDataS ...
- Docker笔记(十):使用Docker来搭建一套ELK日志分析系统
一段时间没关注ELK(elasticsearch —— 搜索引擎,可用于存储.索引日志, logstash —— 可用于日志传输.转换,kibana —— WebUI,将日志可视化),发现最新版已到7 ...
- buuctf 随便注 writeup
1.0 打开页面 显然这个题的考点是注入,那我们来测一下 2.0 sql注入测试 1 2 输入 1' 后发现没有回显,改为 1' --+ 后,有回显,应该在这存在注入点 试一下 1' and 1=1 ...