[发明专利]基于Nginx代理服务器的入侵检测方法及系统有效
申请号: | 201310085557.5 | 申请日: | 2013-03-15 |
公开(公告)号: | CN103384242A | 公开(公告)日: | 2013-11-06 |
发明(设计)人: | 王青峰;张兴科 | 申请(专利权)人: | 中标软件有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 吴大建;钟日红 |
地址: | 200030 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 nginx 代理服务器 入侵 检测 方法 系统 | ||
技术领域
本发明涉及计算机技术领域,具体说涉及一种基于Nginx代理服务器的入侵检测方法及系统。
背景技术
Nginx(engine x)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
入侵检测可以被定义为对计算机和网络资源的恶意使用行为进行识别和相应处理的方法。目前,入侵检测的方法有很多,如基于专家系统入侵检测方法,基于神经网络的入侵检测方法等。
但当前各种的入侵检测方法存在着如下问题和不足:(1)由于检测系统响应速度远小于网络的传输速度,很容易导致难以避免的误报率和漏报率;(2)另一方面,入侵检测系统未与服务器进行很好的结合,即入侵检测系统不能及时的通知服务器客户端的危险性,使应用服务能及时禁止客户端的访问。因此,其自身的安全性有待提高。
发明内容
本发明针对现有技术中的上述问题,提供了一种基于Nginx代理服务器的入侵检测方法,所述方法包括以下步骤:
S101、捕获步骤,在Nginx代理服务器处捕获来自各个客户端的数据包;
S102、验证步骤,对所捕获的数据包进行合法性验证,验证所述数据包是否携带有认证服务器分配的合法证书;
S103、传递步骤,提取验证通过的客户端数据包中的有效信息并进行封装后传递;
S104、匹配检测步骤,接收所传递的有效信息,并根据弱点库中存储的弱点代码来对所述有效信息进行匹配检测,判断所述有效信息中是否包含与弱点库中存储的弱点代码匹配的代码,如果否,响应所述客户端发送的请求信息;
S105、隔离步骤,对所述客户端进行隔离,以防止其对网络进行恶意攻击。
根据本发明的一个实施例,在所述验证步骤S102中,如果判断所述数据包中带有所述合法证书,则进行传递步骤S103,如果不带有所述合法证书,则进行隔离步骤S105。
根据本发明的另一个实施例,所述有效信息包括客户端IP地址、客户端MAC地址、客户端会话信息以及所请求的网页地址和请求数据。
根据本发明的一个实施例,在执行所述步骤S104中,还包括以下步骤:
S104a、读取弱点库模块中具有的危险代码,构建搜索引擎,其中弱点库中存储的危险代码由所述弱点库模块不断更新,其中危险代码包括SQL注入攻击、XSS跨站攻击、目录遍历攻击、执行远程命令;
S104b、分别对所述有效信息中的网页地址和请求数据进行检测,如果所述有效信息中包含了与弱点库中存储的弱点代码匹配的代码,则将所述有效信息中的客户端IP地址、客户端MAC地址及检测到的危险代码添加到黑名单列表中。
根据本发明的另一个实施例,所述黑名单列表是动态更新的,其由数据库维护模块来进行维护,如果在预定时间内未检测到黑名单中的客户端有非法操作,则将所述客户端从黑名单列表中删除,从而解除对通过合法性验证的客户端的隔离。
根据本发明的一个实施例,在所述步骤S104a中,采用AC自动机算法来构建所述搜索引擎。
根据本发明的一个实施例,在执行所述步骤S102中,进行合法性验证之后,进一步还要进行黑名单列表验证,查询所述黑名单列表以判断携带有认证服务器分配的合法证书的客户端是否记录在所述黑名单列表中,如果是,则执行隔离步骤S105以将所述客户端进行隔离。
根据本发明的一个实施例,在所述传递步骤S103中,将所述有效信息通过socket套接字形式进行封装。
根据本发明的一个实施例,采用自定义TLV的报文格式对所述有效信息进行封装。
根据本发明的另一个方面,还提供了一种基于Nginx代理服务器的入侵检测系统,其包括:
Nginx数据捕获模块,其设于Nginx代理服务器中,用于从所述代理服务器侧捕获来自各个客户端的数据包;
Nginx客户端验证模块,其与所述Nginx数据捕获模块通信,对所捕获的数据包进行合法性验证,验证所述数据包是否携带有认证服务器分配的合法证书,如果是,与传递模块进行通信,如果否,则与隔离模块进行通信;
传递模块,其用于提取验证通过的客户端数据包中的有效信息并用进行封装后传递;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中标软件有限公司,未经中标软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310085557.5/2.html,转载请声明来源钻瓜专利网。