[发明专利]基于nginx+lua的web应用防火墙系统及其实现方法在审

专利信息
申请号: 201510678051.4 申请日: 2015-10-20
公开(公告)号: CN105227571A 公开(公告)日: 2016-01-06
发明(设计)人: 王琦;张木连;刘坤朋;张冬青 申请(专利权)人: 福建六壬网安股份有限公司
主分类号: H04L29/06 分类号: H04L29/06
代理公司: 福州元创专利商标代理有限公司 35100 代理人: 蔡学俊
地址: 350000 福建省福州市*** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 nginx lua web 应用 防火墙 系统 及其 实现 方法
【说明书】:

技术领域

发明涉及网络安全入侵检测领域,特别是一种基于nginx+lua的web应用防火墙系统及其实现方法。

背景技术

Web应用防火墙(waf)的目的是为增强Web应用程序的安全性和保护Web应用程序避免遭受来自已知与未知的攻击。目前世界第一大web服务器非apache莫属,它的发展时间很长。也正是因为这个原因,目前市面主流web防火墙一般使用apache+modsecurity的技术方案。modsecurity作为一个开源的项目可以作为ApacheWeb服务器的一个模块或单独的应用程序来运。

但是,apache+modsecurity的模式存在以下几个问题:

首先,apacheweb服务器性能存在瓶颈。Apache服务器出现的时间太长,在它兴起的年代,互联网的规模远远比不上今天,所以它被设计成了一个重量级的、不支持高并发的web服务器。在apache服务器上,如果有数以万计的并发http请求同时访问,就会导致服务器上消耗大量的内存,操作系统内核对成百上千的Apache进程做进程间切换也会消耗大量的CPU资源,并导致http请求的平均响应速度降低,这些都决定了它不可能成为高性能的web服务器,在一些响应业务性能需求极高的网站,若web应用防火墙性能不够高,则很有可能影响受防护站点的业务。

其次,modsecurity提供的规则语法不够灵活,导致规则的配置较为复杂,且扩展性不高,若要实现某些需求则需要改动核心引擎代码。比如modsecurity语法中有一种最常用的设置规则的配置接口叫

SecRule

Syntax:SecRuleVARIABLESOPERATOR[ACTIONS]

ExampleUsage:SecRuleREQUEST_URIaa.GIFphase:1,log,deny,id:1

该这句话表明,当请求的URL参数中有aa.GIF时,则触发规则指定的动作,也就是deny,阻断请求。

ExampleUsage:SecRuleREQUEST_HEADERS:Refererxxx.comphase:1,log,deny,id:2

这句话表明,当请求头中的Referer中包含xxx.com时,则触发规则制定的动作。

如果现在有某种防盗链需求需要在同时满足Referer的值为xxx.com,并且REQUEST_URI含有aa.GIF的情景下,才触发规则。使用modsecuriy默认语法的话,只能使用规则链将这两条规则组成一个规则链,把第一条规则作为第二条规则的一个条件。但是如果需要实现更复杂的逻辑,比如当url中含aa.GIF,refer需要为xxx.com则才触发规则,而当url中含有bbb.GIF时,refer又需要为yyy.com时才触发规则,又比如当源ip为地址为192.168.1.*时,则以上规则又都不触发,当请求源ip地址为192.168.*.*时,只触发第一条,等等。这些个性化的定制,在modsucrity默认语法中就很难通过配置实现。

另外modsecurity天生作为apache的一个模块,其所有代码设计均是基于apache,所以能跟apache很好的配合工作。但同时也带来了一个问题就是可移植性不高,将modsecurity移植到其他web服务器会有很多不兼容问题。

不难发现,nginx天生为性能而生,在性能上做到极致。它使用基于事件驱动的架构能够处理百万级别的tcp连接,高度模块化的设计和自由的许可证使得扩展nginx的第三方模块层出不穷,而且优秀的设计带来了极佳的稳定性,因此其作为web服务器被广泛应用到大流量网站上,包括腾讯,新浪,网易淘宝等访问量巨大的网站。使用nginx作为web应用防火墙的代理服务,从根本上解决web服务器的性能瓶颈问题。并且高度模块化的设计,使得模块的开发非常方便。同时nginx还是一个跨平台的web服务器,可以运行在linux,freebsd,solaris,aix,macos,windows等操作系统上,并且他还可以使用当前操作系统特有的一些高效api来提高自己的性能。例如对于处理高效处理大规模并发连接,它支持linux上的epoll,solaris上的eventports和freebsd上的kqueue等。

同时,lua语言以小巧轻便著称,并且在目前所有脚本引擎中,lua的速度是最快的。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行,具备了良好的跨平台性。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建六壬网安股份有限公司,未经福建六壬网安股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510678051.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top