CN112039846B - 请求处理方法与安全防护系统 - Google Patents
请求处理方法与安全防护系统 Download PDFInfo
- Publication number
- CN112039846B CN112039846B CN202010723766.8A CN202010723766A CN112039846B CN 112039846 B CN112039846 B CN 112039846B CN 202010723766 A CN202010723766 A CN 202010723766A CN 112039846 B CN112039846 B CN 112039846B
- Authority
- CN
- China
- Prior art keywords
- request
- user request
- security
- module
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
- H04L63/306—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Technology Law (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例涉及网络安全技术领域,公开了一种请求处理方法与安全防护系统,请求处理方法包括:在接收到的用户请求需要安全检测时,生成至少包括用户请求的请求头的子请求,并将子请求发送到安全防护模块;接收安全防护模块返回的对子请求进行安全过滤后得到的安全策略结果;根据安全检测结果,对用户请求进行响应。本发明中,安全防护模块以旁路的方式提供安全防护服务,业务模块在执行自身业务时可以按需调用安全防护模块进行安全防护,提高了业务模块的利用率。
Description
技术领域
本发明实施例涉及网络安全技术领域,特别涉及一种请求处理方法与安全防护系统。
背景技术
Web应用防火墙(Web Application Firewall,简称WAF)系统主要用于对Web服务中遇到的入侵和攻击进行防护,例如DDOS防护、SQL注入、XML注入、XSS防护等。在CDN网络中,WAF系统是嵌入在边缘节点和父节点之间的专属节点中,从而能够利用WAF系统进行安全防护,WAF系统在对边缘节点发送的用户请求进行防护时,由WAF系统到父节点或源节点获取资源,并由边缘节点返回给用户。
然而,发明人发现现有技术至少存在以下技术问题:在CDN网络中,部署有WAF的边缘节点一般作为专属节点,仅用于对需要安全检测的客户请求进行处理,不支持普通客户请求的处理,导致机器部署灵活性低,并且利用率较低。
发明内容
本发明实施方式的目的在于提供一种请求处理方法与安全防护系统,安全防护模块以旁路的方式提供安全防护服务,业务模块在执行自身业务时可以按需调用安全防护模块进行安全防护,提高了业务模块的利用率;同时,实现了安全防护服务与其他业务叠加,安全防护模块可以灵活部署;并且,子请求对内存占用较少,且不会一直占据进程资源,进一步减小了对资源的占用。
为解决上述技术问题,本发明的实施方式提供了一种请求处理方法,应用于安全防护系统的业务模块,安全防护系统还包括连接于业务模块的安全防护模块;方法包括:在接收到的用户请求需要安全检测时,生成至少包括用户请求的请求头的子请求,并将子请求发送到安全防护模块;接收安全防护模块返回的对子请求进行安全过滤后得到的安全策略结果;根据安全策略结果,对用户请求进行响应。
本发明的实施方式还提供了一种安全防护系统,包括:相互连接的业务模块与安全防护模块;业务模块用于在接收到的用户请求需要安全检测时,生成至少包括用户请求的请求头的子请求,并将子请求发送到安全防护模块;对所述子请求进行安全过滤,并将得到的安全策略结果发送到所述业务模块;业务模块还用于根据安全策略结果,对用户请求进行响应。
本发明实施方式相对于现有技术而言,业务模块能够在接收到的用户请求需要安全检测时,生成至少包括用户请求的请求头的子请求,并将该子请求发送到安全防护模块,安全防护模块则能够对该子请求进行安全过滤,并将得到的安全策略结果发送到业务模块,继而业务模块可以根据安全策略结果,对用户请求进行响应,即安全防护模块以旁路的方式提供安全防护服务,业务模块在执行自身业务时可以按需调用安全防护模块进行安全防护,提高了业务模块的利用率;同时,实现了安全防护服务与其他业务叠加,安全防护模块可以灵活部署;并且,子请求对内存占用较少,且不会一直占据进程资源,进一步减小了对资源的占用。
另外,生成至少包括用户请求的请求头的子请求,包括:判断用户请求是否满足预设条件;若用户请求满足预设条件,生成包括用户请求的请求头以及请求体的子请求;若用户请求不满足预设条件,生成包括用户请求的请求头的子请求。本实施例中,务模块能够针对不同的用户请求,生成不同的子请求,以便于安全防护模块针对不同的用户请求进行不同的安全过滤。
另外,预设条件包括用户请求支持请求体转发以及用户请求的请求体的大小小于或等于预设阈值。
另外,判断用户请求是否需要安全检测的方式为:在接收到用户请求时,获取用户请求包含的目标域名的配置信息;根据目标域名的配置信息,判断用户请求是否需要安全检测。本实施方式提供了业务模块判断用户请求是否需要安全检测的一种具体实现方式。
另外,根据安全策略结果,对用户请求进行响应,包括:在安全策略结果表征用户请求处于通行状态时,将用户请求转发到目标服务器,并将接收到的目标服务器返回的响应内容作为用户请求的响应;在安全策略结果表征用户请求处于拦截状态时,将预设的拦截页面作为用户请求的响应。本实施方式提供了一种根据安全策略结果,对用户请求进行响应的一种具体实现方式。
另外,将接收到的目标服务器返回的响应内容作为用户请求的响应,包括:在接收到目标服务器返回的响应内容时,对响应内容进行安全检测,得到安全检测结果;在安全检测结果表征响应内容为正常状态时,将响应内容为用户请求的响应;在安全检测结果表征响应内容为异常状态时,将预设的拦截页面作为用户请求的响应。本实施方式中,利用业务模块对响应内容的安全检测,即业务模块无需通过安全防护模块便能够直接进行响应内容的安全检测,减少了响应内容的转发操作,简化了安全检测流程。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式中的请求处理方法应用的安全防护系统的方框示意图;
图2是根据本发明第一实施方式中的请求处理方法的具体流程图;
图3是图4中步骤103的具体流程图;
图4是根据本发明第一实施方式中的服务器、客户端以及目标服务器之间的交互时序图;
图5是根据本发明第二实施方式中的请求处理方法的具体流程图;
图6是根据本发明第二实施方式中的服务器、客户端以及目标服务器之间的交互时序图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种请求处理方法,请参考图1,应用于安全防护系统中的业务模块1,安全防护系统还包括连接于业务模块1的安全防护模块2。本实施例中,业务模块1用于为用户提供加速、缓存等服务,可以为安装在服务器中业务系统软件;安全防护模块2用于为用户提供安全防护服务,可以为安装在服务器中WAF系统软件。其中,业务模块1与安全防护模块2可以均为基于nginx的模块,即业务系统软件与WAF系统软件均为基于nginx的软件。
本实施方式的请求处理方法的具体流程如图1所示。
步骤101,在接收到的用户请求需要安全检测时,生成至少包括用户请求的请求头的子请求,并将子请求发送到安全防护模块。
具体而言,业务模块1所在的服务器的内存中预先加载有各域名的配置信息,配置信息包括各域名是否需要安全检测的设置,业务模块1接收到用户通过客户端3发送的目标域名的用户请求时,可以读取该目标域名的配置信息,并能够根据该目标域名的配置信息,来判断用户请求是否需要安全检测。
当目标域名的配置信息表征该域名处于监控状态时,判定该用户请求需要进行安全检测,此时业务模块1生成至少包括用户请求的请求头的子请求,并将该子请求发送到安全防护模块2,由安全防护模块2对该子请求进行安全过滤。
当目标域名的配置信息表征该域名处于拦截状态时,业务模块1则可以直接响应预设的拦截页面到客户端3。
当目标域名的配置信息表征该域名处于正常状态时,判定该用户请求不需要进行安全检测,此时将用户请求发送到目标服务器4,并将接收到的目标服务器4返回的响应内容转发到客户端3,其中目标服务器4可以为业务模块1所在服务器的父节点或目标域名的源站。
在一个例子中,业务模块1在生成至少包括用户请求的请求头的子请求时,还可以判断用户请求是否满足预设条件,若用户请求满足预设条件,则生成包括用户请求的请求头与请求体的子请求;若用户请求不满足预设条件,生成包括用户请求的请求头的子请求;即业务模块1能够针对不同的用户请求,生成不同的子请求,以便于安全防护模块2针对不同的用户请求进行不同的安全过滤。其中,预设条件包括用户请求支持请求体转发以及用户请求的请求体的大小小于或等于预设阈值。
举例来说,业务模块1中可以配置需要进行安全检测的请求类型,例如GET请求、POST请求、HEAD请求等,从而在接收到的用户请求属于安全检测的请求类型时,判定用户请求需要进行安全检测,业务模块1中还配置了支持转发请求体的请求类型,例如为POST请求,业务模块1在判定用户请求需要进行安全检测时,先判断该用户请求的类型是否支持转发请求体,若该用户请求支持请求体转发,再判断用户请求的请求体的大小是否小于或等于预设阈值,若用户请求的请求体的大小小于或等于预设阈值,则生成包括该用户请求的请求头以及请求体的子请求;反之,在用户请求不支持请求体转发或者用户请求的请求体的大小大于预设阈值时,则生成包括用户请求的请求头的子请求。
步骤102,接收安全防护模块返回的对子请求进行安全过滤后得到的安全策略结果。
具体而言,安全防护模块2作为WAF系统,在接收到业务模块1发送的子请求时,对该子请求进行安全过滤,检测方式包括URL的正则匹配、请求头的检验等等,从而能够检测出用户请求中是否存在SQL注入、XSS攻击、WEBSHELL攻击等等,并生成相应的安全策略结果,并将该安全策略结果返回到业务模块1。其中,安全策略结果可以表征用户请求处于通行状态或者是拦截状态,通行状态表示该用户请求中未包含攻击内容、拦截状态表示该用户请求中包含攻击内容,通行状态的安全策略结果中还可以包括重定向、限速等辅助策略;安全防护模块2可以在安全策略结果表征用户请求处于拦截状态时,生成攻击记录日志,该日志中包含完整的用户请求包、用户请求时间、请求IP、命中规则ID、攻击类型、规则库匹配到的攻击内容等信息,以便于后续对受到的攻击进行分析防范。
步骤103,根据安全策略结果,对用户请求进行响应。
请参考图3,步骤103包括以下子步骤:
子步骤1031,在安全策略结果表征用户请求处于通行状态时,将用户请求转发到目标服务器,并将接收到的目标服务器返回的响应内容作为用户请求的响应。
子步骤1032,在安全策略结果表征用户请求处于拦截状态时,将预设的拦截页面作为用户请求的响应。
具体而言,业务模块1在安全策略结果表征用户请求处于通行状态时,继续进行加速、缓存业务流程,将用户请求发送到目标服务器4,并将接收到的目标服务器4返回的响应内容作为用户请求的响应,即将该响应内容转发给客户端3;业务模块1在安全策略结果表征用户请求处于拦截状态时,将预设的拦截页面作为用户请求的响应,即将该拦截页面发送到客户端3,其中拦截页面上还可以包括http状态码403。
本实施例中,若业务模块1为基于nginx的模块,则业务模快1可以基于nginx HTTP框架对用户请求进行分解得到多个子请求,从而能够得到包括用户请求的请求头的子请求;然后在安全防护模块2返回的安全策略结果表征用户请求处于通行状态时,利用upstream机制访问目标服务器4,并将目标服务器4返回的响应内容发送给客户端3。
在一个例子中,业务模块1与安全防护模块2可以部署在一个融合服务器中,即安全防护系统部署在一个融合服务器上,以业务模块1为安装在该融合服务器上的nginx业务系统软件、安全防护模块2安装在该融合服务器上的nginx的WAF系统软件为例,融合服务器在利用业务系统软件提供基础的业务服务时,将WAF系统软件作为业务系统软件的子服务。其中,由业务系统软件来判断用户请求是否需要进行安全检测,WAF系统软件仅用于提供安全过滤,从而仅需加载一份各域名的配置信息到服务器的内存中,WAF系统软件则无需加载各域名的配置信息到服务器的内存中,减少了对服务器内存的消耗,减小了部署在同一服务器中的WAF系统软件与业务系统软件之间的相互影响。
在融合服务器中,将安全防护模块2作为业务模块1的子服务,来提供安全防护功能;并且安全防护模块2仅用于进行安全过滤,减小了安全防护模块2对融合服务器内存的消耗,降低了安全防护模块2与业务模块1之间的相互影响,使得同一服务器能够同时提供多种服务。
请参考图4,为服务器与客户端3以及目标服务器4之间的交互时序图,本实施例中,用户通过客户端3向业务系统软件发起请求,将用户请求发送到业务系统软件,业务系统软件在接收到用户请求后读取用户请求中包含的目标域名的配置信息,并根据该配置信息,判断用户请求是否需要进行安全检测。若配置信息表征用户请求处于正常状态,则判定用户请求不需要进行安全检测,将用户请求转发到目标服务器4,目标服务器4获取用户请求对应的响应内容,并将该响应内容发送到业务系统软件,业务系统软件则将该响应内容发送给客户端3;若配置信息表征用户请求处于监控状态,则判定用户请求需要进行安全检测,生成至少包括用户请求的请求头的子请求,并该子请求发送到WAF系统软件,WAF系统软件则对该子请求进行安全过滤,得到安全策略结果,并将该安全策略结果发送到业务系统软件。
业务系统软件在该安全策略结果表征用户请求处于通行状态时,将该用户请求转发给目标服务器4,目标服务器4获取用户请求对应的响应内容,并将该响应内容发送到业务系统软件,业务系统软件则将该响应内容发送给客户端3;业务系统软件在该安全策略结果表征用户请求处于拦截状态时,将预设的拦截页面作为用户请求的响应发送到客户端3。
本实施方式相对于现有技术而言,业务模块能够在接收到的用户请求需要安全检测时,生成至少包括用户请求的请求头的子请求,并将该子请求发送到安全防护模块,安全防护模块则能够对该子请求进行安全过滤,并将得到的安全策略结果发送到业务模块,继而业务模块可以根据安全策略结果,对用户请求进行响应,即安全防护模块以旁路的方式提供安全防护服务,业务模块在执行自身业务时可以按需调用安全防护模块进行安全防护,提高了业务模块的利用率;同时,实现了安全防护服务与其他业务叠加,安全防护模块可以灵活部署;并且,子请求对内存占用较少,且不会一直占据进程资源,进一步减小了对资源的占用。
本发明的第二实施方式涉及一种请求处理方法,本实施方式相对于第一实施方式来说,主要区别之处在于:增加了对响应内容的安全检测。
本实施方式的请求处理方法的具体流程如图5所示。
其中,步骤201、步骤202与步骤101、步骤102大致相同,在此不再赘述,主要不同之处在于,步骤203包括:
子步骤2031,在安全策略结果表征用户请求处于通行状态时,将用户请求转发到目标服务器,并对接收到的目标服务器返回的响应内容进行安全检测,得到安全检测结果。
具体而言,可以在业务模块1中部署有基于nginx动态模块机制的waflib库,业务模块1可以调用该waflib库对响应内容进行安全检测;请参考图6的服务器与客户端3以及目标服务器4之间的交互时序图,业务模块1在安全策略结果表征用户请求处于通行状态时,将该用户请求发送到目标服务器4,在接收目标服务器4返回的响应内容后,调用wiflib库对该响应内容进行安全检测,得到安全检测结果,安全检测结果表征响应内容为正常状态或异常状态。其中,安全检测内容包括:响应内容响应头以及响应体的增删改操作、web服务器响应错误信息(如服务器的版本等信息)、数据库名称等敏感信息、web程序异常抛出的敏感信息等。
子步骤2032,在安全检测结果表征响应内容为正常状态时,将响应内容作为用户请求的响应。
子步骤2033,在安全检测结果表征响应内容为异常状态时,将预设的拦截页面作为用户请求的响应。
具体而言,业务模块1在安全检测结果表征响应内容为正常状态时,将该响应内容作为用户请求的响应,即将该响应内容发送到客户端3;在安全检测结果表征响应内容为异常状态时,业务模块1则将预设的拦截页面发送到客户端3,并记录该响应内容的检测日志。
子步骤2034,在安全策略结果表征用户请求处于拦截状态时,将预设的拦截页面作为用户请求的响应。
本实施方式相对于第一实施方式而言,业务模块还可以对响应内容进行安全检测,即无需通过安全防护模块便能够直接进行响应内容的安全检测,减少了响应内容的转发操作,简化了安全检测流程。
本发明第三实施方式涉及一种安全防护系统,如图1所示,安全防护系统包括相互连接的业务模块1与安全防护模块2,业务模块1用于为用户提供加速、缓存等服务,为业务系统软件;安全防护模块2用于为用户提供安全防护服务,例如为WAF系统软件。安全防护系统可以为CDN网络中边缘节点集群、或者单个边缘节点,若安全防护系统可以为CDN网络中单个边缘节点,则说明业务模块1与安全防护模块2部署在同一个服务器(本实施例以及之后的实施例中均以此为例)中,该服务器融合了加速、缓存等服务以及安全防护服务,即业务系统软件与WAF软件融合后部署在同一个服务器中,可以同时为用户提供多种服务,该服务器可以称为融合服务器,在融合服务器中,将安全防护模块2作为业务模块1的子服务,来提供安全防护功能;并且安全防护模块仅用于进行安全过滤,减小了安全防护模块对服务器内存的消耗,降低了安全防护模块2与业务模块1之间的相互影响。其中,业务模块1与安全防护模块2可以均为基于nginx的模块,即业务系统软件与WAF系统软件均为基于nginx的软件。
业务模块1用于在接收到的用户请求需要安全检测时,生成至少包括用户请求的请求头的子请求,并将子请求发送到安全防护模块。
具体的,融合服务器的内存中预先加载有各域名的配置信息,配置信息包括各域名是否需要安全检测的设置,业务模块1接收到用户通过客户端3发送的目标域名的用户请求时,可以读取该目标域名的配置信息,并能够根据该目标域名的配置信息,来判断用户请求是否需要安全检测。
当目标域名的配置信息表征该域名处于监控状态时,判定该用户请求需要进行安全检测,此时业务模块1生成至少包括用户请求的请求头的子请求,并将该子请求发送到安全防护模块2,由安全防护模块2对该子请求进行安全过滤。
当目标域名的配置信息表征该域名处于拦截状态时,业务模块1则可以直接响应预设的拦截页面到客户端3。
当目标域名的配置信息表征该域名处于正常状态时,判定该用户请求不需要进行安全检测,此时将用户请求发送到目标服务器4,并将接收到的目标服务器4返回的响应内容转发到客户端3,其中目标服务器4可以为业务模块1所在服务器的父节点或目标域名的源站。
业务模块1在生成至少包括用户请求的请求头的子请求时,还可以判断用户请求是否满足预设条件,若用户请求满足预设条件,则生成包括用户请求的请求头与请求体的子请求;若用户请求不满足预设条件,生成包括用户请求的请求头的子请求;即业务模块1能够针对不同的用户请求,生成不同的子请求,以便于安全防护模块2针对不同的用户请求进行不同的安全过滤。其中,预设条件包括用户请求支持请求体转发以及用户请求的请求体的大小小于或等于预设阈值。
举例来说,业务模块1中可以配置需要进行安全检测的请求类型,例如GET请求、POST请求、HEAD请求等,从而在接收到的用户请求属于安全检测的请求类型时,判定用户请求需要进行安全检测,业务模块1中还配置了支持转发请求体的请求类型,例如为POST请求,业务模块1在判定用户请求需要进行安全检测时,先判断该用户请求的类型是否支持转发请求体,若该用户请求支持请求体转发,再判断用户请求的请求体的大小是否小于或等于预设阈值,若用户请求的请求体的大小小于或等于预设阈值,则生成包括该用户请求的请求头以及请求体的子请求;反之,在用户请求不支持请求体转发或者用户请求的请求体的大小大于预设阈值时,则生成包括用户请求的请求头的子请求。
安全防护模块2用于对子请求进行安全过滤,并将得到的安全策略结果发送到业务模块。
安全防护模块2作为WAF系统,在接收到业务模块1发送的子请求时,对该子请求进行安全过滤,检测方式包括URL的正则匹配、请求头的检验等等,从而能够检测出用户请求中是否存在SQL注入、XSS攻击、WEBSHELL攻击等等,并生成相应的安全策略结果,并将该安全策略结果返回到业务模块1。其中,安全策略结果可以表征用户请求处于通行状态或者是拦截状态,通行状态表示该用户请求中未包含攻击内容、拦截状态表示该用户请求中包含攻击内容,通行状态的安全策略结果中还可以包括重定向、限速等辅助策略;安全防护模块2可以在安全策略结果表征用户请求处于拦截状态时,生成攻击记录日志,该日志中包含完整的用户请求包、用户请求时间、请求IP、命中规则ID、攻击类型、规则库匹配到的攻击内容等信息,以便于后续对受到的攻击进行分析防范。
业务模块1还用于根据安全策略结果,对用户请求进行响应。具体的,业务模块1在安全策略结果表征用户请求处于通行状态时,继续进行加速、缓存业务流程,将用户请求发送到目标服务器4,并将接收到的目标服务器4返回的响应内容作为用户请求的响应,即将该响应内容转发给客户端3;业务模块1在安全策略结果表征用户请求处于拦截状态时,将预设的拦截页面作为用户请求的响应,即将该拦截页面发送到客户端3,其中拦截页面上还可以包括http状态码403。
本实施例中,若业务模块1为基于nginx的模块,则业务模快1可以基于nginx HTTP框架对用户请求进行分解得到多个子请求,从而能够得到包括用户请求的请求头的子请求;然后在安全防护模块2返回的安全策略结果表征用户请求处于通行状态时,利用upstream机制访问目标服务器4,并将目标服务器4返回的响应内容发送给客户端3。
在一个例子中,业务模块1与安全防护模块2可以部署在一个融合服务器中,即安全防护系统部署在一个融合服务器上,以业务模块1为安装在该融合服务器上的nginx业务系统软件、安全防护模块2安装在该融合服务器上的nginx的WAF系统软件为例,融合服务器在利用业务系统软件提供基础的业务服务时,将WAF系统软件作为业务系统软件的子服务。其中,由业务系统软件来判断用户请求是否需要进行安全检测,WAF系统软件仅用于提供安全过滤,从而仅需加载一份各域名的配置信息到服务器的内存中,WAF系统软件则无需加载各域名的配置信息到服务器的内存中,减少了对服务器内存的消耗,减小了部署在同一服务器中的WAF系统软件与业务系统软件之间的相互影响。
服务器中部署有基于nginx动态模块机制的waflib库,该waflib库为业务系统软件与WAF系统软件之间交互的lib库,其用于用户请求的转发、拦截动作的执行以及响应拦截页面给客户端3等操作。
在融合服务器中,将安全防护模块2作为业务模块1的子服务,来提供安全防护功能;并且安全防护模块2仅用于进行安全过滤,减小了安全防护模块2对融合服务器内存的消耗,降低了安全防护模块2与业务模块1之间的相互影响,使得同一服务器能够同时提供多种服务。
请参考图4,为服务器与客户端3以及目标服务器4之间的交互时序图,本实施例中,用户通过客户端3向业务系统软件发起请求,将用户请求发送到业务系统软件,业务系统软件在接收到用户请求后读取用户请求中包含的目标域名的配置信息,并根据该配置信息,判断用户请求是否需要进行安全检测。若配置信息表征用户请求处于正常状态,则判定用户请求不需要进行安全检测,将用户请求转发到目标服务器4,目标服务器4获取用户请求对应的响应内容,并将该响应内容发送到业务系统软件,业务系统软件则将该响应内容发送给客户端3;若配置信息表征用户请求处于监控状态,则判定用户请求需要进行安全检测,生成至少包括用户请求的请求头的子请求,并该子请求发送到WAF系统软件,WAF系统软件则对该子请求进行安全过滤,得到安全策略结果,并将该安全策略结果发送到业务系统软件。
业务系统软件在该安全策略结果表征用户请求处于通行状态时,将该用户请求转发给目标服务器4,目标服务器4获取用户请求对应的响应内容,并将该响应内容发送到业务系统软件,业务系统软件则将该响应内容发送给客户端3;业务系统软件在该安全策略结果表征用户请求处于拦截状态时,将预设的拦截页面作为用户请求的响应发送到客户端3。
由于第一实施例与本实施例相互对应,因此本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,在第一实施例中所能达到的技术效果在本实施例中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一实施例中。
本实施方式相对于现有技术而言,业务模块能够在接收到的用户请求需要安全检测时,生成至少包括用户请求的请求头的子请求,并将该子请求发送到安全防护模块,安全防护模块则能够对该子请求进行安全过滤,并将得到的安全策略结果发送到业务模块,继而业务模块可以根据安全策略结果,对用户请求进行响应,即安全防护模块以旁路的方式提供安全防护服务,业务模块在执行自身业务时可以按需调用安全防护模块进行安全防护,提高了业务模块的利用率;同时,实现了安全防护服务与其他业务叠加,安全防护模块可以灵活部署;并且,子请求对内存占用较少,且不会一直占据进程资源,进一步减小了对资源的占用。
本发明的第四实施方式涉及一种服务器,本实施方式相对于第三实施方式来说,主要区别之处在于:请参考图1与图6,在业务模块1中增加了对响应内容的安全检测。
业务模块1还用于在接收到目标服务器4返回的响应内容时,对响应内容进行安全检测,得到安全检测结果。
本实施例中,可以在业务模块1中部署有基于nginx动态模块机制的waflib库,业务模块1可以调用该waflib库对响应内容进行安全检测。
业务模块1还用于在安全检测结果表征响应内容为正常状态时,将响应内容作为用户请求的响应。
业务模块1还用于在安全检测结果表征响应内容为异常状态时,将预设的拦截页面作为用户请求的响应。
具体的,业务模块1在安全策略结果表征用户请求处于通行状态时,将该用户请求发送到目标服务器4,在接收目标服务器4返回的响应内容后,调用wiflib库对该响应内容进行安全检测,得到安全检测结果,安全检测结果表征响应内容为正常状态或异常状态。其中,安全检测内容包括:响应内容响应头以及响应体的增删改操作、web服务器响应错误信息(如服务器的版本等信息)、数据库名称等敏感信息、web程序异常抛出的敏感信息等。
业务模块1在安全检测结果表征响应内容为正常状态时,将该响应内容作为用户请求的响应,即将该响应内容发送到客户端3;在安全检测结果表征响应内容为异常状态时,业务模块1则将预设的拦截页面发送到客户端3,并记录该响应内容的检测日志。
由于第二实施例与本实施例相互对应,因此本实施例可与第二实施例互相配合实施。第二实施例中提到的相关技术细节在本实施例中依然有效,在第二实施例中所能达到的技术效果在本实施例中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第二实施例中。
本实施方式相对于第三实施方式而言,利用业务模块对响应内容的安全检测,即业务模块无需通过安全防护模块便能够直接进行响应内容的安全检测,减少了响应内容的转发操作,简化了安全检测流程。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (12)
1.一种请求处理方法,其特征在于,应用于安全防护系统的业务模块,所述安全防护系统还包括连接于所述业务模块的安全防护模块;所述方法包括:
在接收到的用户请求需要安全检测时,生成至少包括所述用户请求的请求头的子请求,并将所述子请求发送到所述安全防护模块;
接收所述安全防护模块返回的对所述子请求进行安全过滤后得到的安全策略结果;
根据所述安全策略结果,对所述用户请求进行响应;
所述生成至少包括所述用户请求的请求头的子请求,包括:
判断所述用户请求是否满足预设条件;
若所述用户请求满足预设条件,生成包括所述用户请求的请求头以及请求体的所述子请求;
若所述用户请求不满足预设条件,生成包括所述用户请求的请求头的子请求。
2.根据权利要求1所述的请求处理方法,其特征在于,所述预设条件包括所述用户请求支持请求体转发以及所述用户请求的请求体的大小小于或等于预设阈值。
3.根据权利要求1所述的请求处理方法,其特征在于,判断所述用户请求是否需要安全检测的方式为:
在接收到所述用户请求时,获取所述用户请求包含的目标域名的配置信息;
根据所述目标域名的配置信息,判断所述用户请求是否需要安全检测。
4.根据权利要求1所述的请求处理方法,其特征在于,所述根据所述安全策略结果,对所述用户请求进行响应,包括:
在所述安全策略结果表征所述用户请求处于通行状态时,将所述用户请求转发到目标服务器,并将接收到的所述目标服务器返回的响应内容作为所述用户请求的响应;
在所述安全策略结果表征所述用户请求处于拦截状态时,将预设的拦截页面作为所述用户请求的响应。
5.根据权利要求4所述的请求处理方法,其特征在于,所述将接收到的所述目标服务器返回的响应内容作为所述用户请求的响应,包括:
在接收到所述目标服务器返回的响应内容时,对所述响应内容进行安全检测,得到安全检测结果;
在所述安全检测结果表征所述响应内容为正常状态时,将所述响应内容作为所述用户请求的响应;
在所述安全检测结果表征所述响应内容为异常状态时,将预设的拦截页面作为所述用户请求的响应。
6.一种安全防护系统,其特征在于,包括:相互连接的业务模块与安全防护模块;
所述业务模块用于在接收到的用户请求需要安全检测时,生成至少包括所述用户请求的请求头的子请求,并将所述子请求发送到所述安全防护模块;
所述安全防护模块用于对所述子请求进行安全过滤,并将得到的安全策略结果发送到所述业务模块;
所述业务模块还用于根据所述安全策略结果,对所述用户请求进行响应;
所述业务模块用于判断所述用户请求是否满足预设条件;
所述业务模块用于在所述用户请求满足预设条件时,生成包括所述用户请求的请求头以及请求体的所述子请求;
所述业务模块用于在所述用户请求不满足预设条件时,生成包括所述用户请求的请求头的子请求。
7.根据权利要求6所述的安全防护系统,其特征在于,所述预设条件包括所述用户请求支持请求体转发以及所述用户请求的请求体的大小小于或等于预设阈值。
8.根据权利要求6所述的安全防护系统,其特征在于,所述业务模块用于在接收到所述用户请求时,获取所述用户请求包含的目标域名的配置信息;
所述业务模块用于根据所述目标域名的配置信息,判断所述用户请求是否需要安全检测。
9.根据权利要求6所述的安全防护系统,其特征在于,
所述业务模块用于在所述安全策略结果表征所述用户请求处于通行状态时,将所述用户请求转发到目标服务器,并将接收到的所述目标服务器返回的响应内容作为所述用户请求的响应;
所述业务模块用于在所述安全策略结果表征所述用户请求处于拦截状态时,将预设的拦截页面作为所述用户请求的响应。
10.根据权利要求9所述的安全防护系统,其特征在于,所述业务模块中部署有安全组件;
所述业务模块还用于在接收到所述目标服务器返回的响应内容时,对所述响应内容进行安全检测,得到安全检测结果;
所述业务模块还用于在所述安全检测结果表征所述响应内容为正常状态时,将所述响应内容为所述用户请求的响应;
所述业务模块还用于在所述安全检测结果表征所述响应内容为异常状态时,将预设的拦截页面作为所述用户请求的响应。
11.根据权利要求6所述的安全防护系统,其特征在于,所述业务模块与所述安全防护模块均为基于nginx的模块。
12.根据权利要求6所述的安全防护系统,其特征在于,所述业务模块与所述安全防护模块部署在同一服务器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010723766.8A CN112039846B (zh) | 2020-07-24 | 2020-07-24 | 请求处理方法与安全防护系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010723766.8A CN112039846B (zh) | 2020-07-24 | 2020-07-24 | 请求处理方法与安全防护系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112039846A CN112039846A (zh) | 2020-12-04 |
CN112039846B true CN112039846B (zh) | 2023-08-15 |
Family
ID=73583123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010723766.8A Active CN112039846B (zh) | 2020-07-24 | 2020-07-24 | 请求处理方法与安全防护系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112039846B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902456A (zh) * | 2010-02-09 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种Web网站安全防御系统 |
CN103188255A (zh) * | 2011-12-31 | 2013-07-03 | 北京市国路安信息技术有限公司 | 一种应用代理与安全模块分离的网络安全保护方法 |
CN104394163A (zh) * | 2014-12-05 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种基于Web应用的安全检测方法 |
CN104410702A (zh) * | 2014-12-08 | 2015-03-11 | 畅捷通信息技术股份有限公司 | 远程服务请求方法、响应方法、请求装置与响应装置 |
CN107046518A (zh) * | 2016-02-05 | 2017-08-15 | 阿里巴巴集团控股有限公司 | 网络攻击的检测方法及装置 |
CN108696568A (zh) * | 2018-02-23 | 2018-10-23 | 福建天泉教育科技有限公司 | 一种请求批量处理方法及终端 |
CN109067772A (zh) * | 2018-09-10 | 2018-12-21 | 四川中电启明星信息技术有限公司 | 一种用于安全防护的组件和安全防护方法 |
CN109150821A (zh) * | 2018-06-01 | 2019-01-04 | 成都通甲优博科技有限责任公司 | 基于超文本传输协议http的数据交互方法及系统 |
CN111435393A (zh) * | 2019-01-14 | 2020-07-21 | 北京京东尚科信息技术有限公司 | 对象漏洞的检测方法、装置、介质及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9288231B2 (en) * | 2013-07-22 | 2016-03-15 | Cisco Technology, Inc. | Web caching with security as a service |
-
2020
- 2020-07-24 CN CN202010723766.8A patent/CN112039846B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902456A (zh) * | 2010-02-09 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种Web网站安全防御系统 |
CN103188255A (zh) * | 2011-12-31 | 2013-07-03 | 北京市国路安信息技术有限公司 | 一种应用代理与安全模块分离的网络安全保护方法 |
CN104394163A (zh) * | 2014-12-05 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种基于Web应用的安全检测方法 |
CN104410702A (zh) * | 2014-12-08 | 2015-03-11 | 畅捷通信息技术股份有限公司 | 远程服务请求方法、响应方法、请求装置与响应装置 |
CN107046518A (zh) * | 2016-02-05 | 2017-08-15 | 阿里巴巴集团控股有限公司 | 网络攻击的检测方法及装置 |
CN108696568A (zh) * | 2018-02-23 | 2018-10-23 | 福建天泉教育科技有限公司 | 一种请求批量处理方法及终端 |
CN109150821A (zh) * | 2018-06-01 | 2019-01-04 | 成都通甲优博科技有限责任公司 | 基于超文本传输协议http的数据交互方法及系统 |
CN109067772A (zh) * | 2018-09-10 | 2018-12-21 | 四川中电启明星信息技术有限公司 | 一种用于安全防护的组件和安全防护方法 |
CN111435393A (zh) * | 2019-01-14 | 2020-07-21 | 北京京东尚科信息技术有限公司 | 对象漏洞的检测方法、装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112039846A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10257224B2 (en) | Method and apparatus for providing forensic visibility into systems and networks | |
US8413238B1 (en) | Monitoring darknet access to identify malicious activity | |
US20150271202A1 (en) | Method, device, and system for detecting link layer hijacking, user equipment, and analyzing server | |
US20030084321A1 (en) | Node and mobile device for a mobile telecommunications network providing intrusion detection | |
US20120023588A1 (en) | Filtering method, system, and network equipment | |
CN113301012B (zh) | 一种网络威胁的检测方法、装置、电子设备及存储介质 | |
CN103179132A (zh) | 一种检测和防御cc攻击的方法及装置 | |
US8763120B1 (en) | Exploitation detection | |
CN109361574B (zh) | 基于JavaScript脚本的NAT检测方法、系统、介质和设备 | |
CN111988280A (zh) | 服务器与请求处理方法 | |
CN103152325B (zh) | 防止通过共享方式访问互联网的方法及装置 | |
CN108282446B (zh) | 识别扫描器的方法及设备 | |
CN108769016B (zh) | 一种业务报文的处理方法及装置 | |
CN112202717B (zh) | 一种http请求的处理方法、装置、服务器及存储介质 | |
CN113536304A (zh) | 一种基于运维审计系统的防绕行方法及设备 | |
CN112039846B (zh) | 请求处理方法与安全防护系统 | |
US10757118B2 (en) | Method of aiding the detection of infection of a terminal by malware | |
CN112039845A (zh) | 请求处理方法与安全防护系统 | |
CN114785621B (zh) | 漏洞检测方法、装置、电子设备及计算机可读存储介质 | |
CN113098727A (zh) | 一种数据包检测处理方法与设备 | |
CN112953958B (zh) | 一种爬虫检测方法、装置及电子设备 | |
CN114727295A (zh) | 检测蜂窝物联网终端被僵尸网络控制的方法及装置 | |
CN114124442B (zh) | 一种防御ddos攻击的方法和系统 | |
CN118041824B (zh) | 测试旁路镜像功能的方法、装置、电子设备及存储介质 | |
CN115623485B (zh) | 一种短信轰炸检测方法、系统、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |