CN1555170A - 流过滤防火墙 - Google Patents

流过滤防火墙 Download PDF

Info

Publication number
CN1555170A
CN1555170A CNA2003101191864A CN200310119186A CN1555170A CN 1555170 A CN1555170 A CN 1555170A CN A2003101191864 A CNA2003101191864 A CN A2003101191864A CN 200310119186 A CN200310119186 A CN 200310119186A CN 1555170 A CN1555170 A CN 1555170A
Authority
CN
China
Prior art keywords
packet
tcp
connection
filtering
rule
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.)
Pending
Application number
CNA2003101191864A
Other languages
English (en)
Inventor
斌 曹
曹斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENYANG DONGRUAN SOFTWARE CO Ltd
Original Assignee
SHENYANG DONGRUAN SOFTWARE CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENYANG DONGRUAN SOFTWARE CO Ltd filed Critical SHENYANG DONGRUAN SOFTWARE CO Ltd
Priority to CNA2003101191864A priority Critical patent/CN1555170A/zh
Publication of CN1555170A publication Critical patent/CN1555170A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种计算机网络防火墙,其基本的控制方法是:以状态包过滤的形态实现对应用层的保护,通过内嵌的专门实现的TCP协议栈,在状态检测包过滤的基础上实现了透明的应用信息过滤机制,从防火墙工作在链路层或IP层,在规则允许下,两端可以直接的访问,但是对于任何一个被规则允许的访问,数据是以“流”的方式从一个会话流向另一个会话,由于防火墙的应用层策略位于流的中间,防火墙的标准设计,具备完善的身份鉴别、访问控制和审计能力,同时,***提供了丰富的GUI方式的管理和监控工具,能够方便的对***进行安全策略配置、用户管理、实时监控、审计查询、流量管理等操作,为保证***的安全运行,***能够有效的防范多种DOS的攻击手段,并对攻击事件进行报警。

Description

流过滤防火墙
技术领域
本发明是涉及一种用于计算机网络的流过滤防火墙,它属于计算机网络安全领域防火墙(Firewal)技术领域。
背景技术
目前市场上存在着各种各样的网络安全工具,而技术最成熟、最早产品化的就是防火墙,由于防火墙技术的针对性很强,它已成为实现Internet网络安全的最重要的保障之一,流过滤防火墙在状态包过滤的基础上,采用了专门设计的TCP协议栈实现对应用协议信息流的过滤,能够实现在透明方式下对应用层协议的控制,***的整体结构严格按照国家应用级防火墙的最新标准设计,具备完善的身份鉴别、访问控制和审计能力,经国家有关部门检测,流过滤防火墙符合GB/18019-1999(包过波防火墙安全技术要求)和GB/18020-1999(应用级防火墙安全技术要求)两个标准的技术要求;
按照防火墙的实现技术,一般分为包过滤防火墙(Packet Filter Firewall)、应用级网关(Application-Layer Gateway)、状态包过滤防火墙(Stateful Inspection Firewall)。其中:
包过滤防火墙:
包过滤技术,历史上最早在路由器上实现,称之为包过滤路由器,根据用户定义的内容,例如:IP地址、端口号,来对包进行过滤,包过滤防火墙在网络层对数据包进行检查,并且与应用服务无关(Application independent),这使得包过滤防火墙具有良好的性能和易升级性,。但是,包过滤防火墙是安全性最差的一类防火墙,因为包过滤不能根据应用层的信息对包进行过滤,这意味着,包过滤对应用层的的攻击行为是无能为力的,这使得包过滤比较容易被攻击攻破;
应用级网关:打破了原有的客户/服务器模式,它把客户机和服务器隔离开来,使用特定的代理服务软件来转发和过滤特定的应用服务,这使得每一个客户机和服务器之间的通信需要两个连接:一个连接从客户机到防火墙,一个连接从防火墙到服务器。而且代理服务能够提供严格的用户认证,这是包过滤防火墙做不到的,因此应用级网关在安全性方面比包过滤防火墙要强,但是,每一个代理服务都需要一个特定的应用进程或守护进程,这使得升级原有应用代理服务和支持新的应用代理服务成为一个麻烦的问题,而且应用级网关在性能上要逊色于包过滤,透明性也较差。
状态包过滤防火墙:
状态包过滤防火墙基于包过滤实现了状态包过滤而且不打破原有客户/服务器模式,克服了前两种防火墙的限制。
在状态包过滤防火墙中,数据包被截获后,状态包过滤防火墙从数据包中提取连接状态信息(TCP的连接状态信息,如:TCP_SYN、TCP_ACK,以及UDP和ICMP的模拟连接状态信息),并把这些信息放到动态连接表中动态维护,当后续数据包来时,将后续数据包及其状态信息和其前一时刻的数据包及其状态信息进行比较,防火墙就能做出决策:后续的数据包是否允许通过,从而达到保护网络安全的目的。
由于状态包过滤是基于包过滤的,它保留了包过滤的高性能、速度快,与应用级网关相比,状态包过滤防火墙使用用户定义的过滤规则,而不依赖预先定义的应用信息,执行效率比应用级网关高,而且它不识别特定的应用层信息,因此不用像应用级网关那样,为不同的应用代理服务提供不同的应用进程,伸缩性好。
发明内容
针对以上实现方法的不足,本发明在状态包过滤的基础上,采用了专门设计的TCP协议栈实现对应用协议信息流的过滤,能够实现在透明方式下的对应用层协议的控制能力,***的整体结构严格按照国家应用级防火墙的标准设计,具备完善的身份鉴别、访问控制和审计能力,同时,***提供了丰富的GUI方式的管理和监控工具,能够方便的对***进行安全策略配置、用户管理、实时监控、审计查询、流量管理等操作,为保证***的安全运行,***能够有效的防范多种DOS的攻击手段,并对攻击事件进行报警。
本发明的技术方案是这样实现的:本发明是基于状态包过滤的流过滤体系结构,保证从数据链路层到应用层的完全高性能过滤,由***的硬件模块和软件控制程序组成,***的主要模块工作在操作***的内核模式下,并对协议的处理进行了优化,其性能接近线速,其千兆版本能够利用多处理器的能力处理超过100万的并发连接,完全满足高速、对性能要求苛刻网络的应用,流过滤防火墙体系结构图(如图1所示)。
本发明以状态检测包过滤为基础实现了一种称之为“流过滤”的结构,其基本的控制方法是:以状态包过滤的形态实现对应用层的保护,通过内嵌的专门实现的TCP协议栈,在状态检测包过滤的基础上实现了透明的应用信息过滤机制,在这种机制下,从防火墙外部看,仍然是包过滤的形态,工作在链路层或IP层,在规则允许下,两端可以直接的访问,但是对于任何一个被规则允许的访问在防火墙内部都存在两个完全独立的TCP会话,数据是以“流”的方式从一个会话流向另一个会话,由于防火墙的应用层策略位于流的中间,因此可以在任何时候代替服务器或客户端参与应用层的会话,从而起到了与应用代理防火墙相同的控制能力。比如在流过滤防火墙对SMTP协议的处理中,***可以在透明网桥的模式下实现完全的对邮件的存储转发,并实现丰富的SMTP协议的各种攻击的防范功能。
流过滤的结构继承了包过滤防火墙和应用代理的特点,因而非常容易部署,并且由于应用层安全策略与网络层安全策略是紧密的,所以在任何一种部署方式下,都能够起到相同的保护作用,以下分析了“流过滤”与“数据包内容过滤”,与“应用代理(网关)”的比较。
“流过滤”与“数据包内容过滤”的比较:
需要先明确一下,到目前为止,大量的包过滤防火墙仍完全不具备应用层保护能力,有些产品甚至连状态检测都不具备,这里所提到的“数据包内容过滤”是指那些能够提供对数据包内容进行检测的包过滤产品,通过对比可以看到所谓“内容过滤”其实并不能提供真正意义上的应用层保护。
首先应用代理与数据包内容过滤的不同,应用代理之所以能够对应用层进行完整的保护,在于其借助操作***的TCP协议栈对于出入网络的应用数据包进行完全重组,并从操作***提供的接口(socket)中以数据流的方式提取应用层数据;而包过滤防火墙中的数据包内容过滤仅能对当前正在通过的单一数据包的内容进行分析的判断,这两者在保护能力上存在本质的不同。
例如:一个携带攻击特征的URL访问可能有256个字节,如果它们在一个数据包中传送,那么两种技术的防火墙都能够发现并拦截,但是如果这个URL被TCP协议栈分解成10个小的IP数据包,并且以乱序的方式发送给目标服务器,则包过滤防火墙根本无法识别这个攻击的企图。而应用代理则完全不会受到干扰,依然能够识别并进行拦截,因为数据包在网关的TCP协议栈中被按照正确的顺序有效的重新组合成数据流后才到达防火墙的过滤模块,它看到的仍然是完整的数据流。
基于流过滤技术的流过滤防火墙之所以能够提供等同于代理防火墙的应用层保护能力,关键在于其“流过滤”架构中的专用TCP协议栈。这个协议栈是个标准的TCP协议的实现,依据TCP协议的定义对出入防火墙的数据包进行了完整的重组,重组后的数据流交给应用层过滤逻辑进行过滤,从而可以有效的识别并拦截应用层的攻击企图。
“流过滤”技术与“应用代理(网关)技术的差别:
透明性差别
应用代理建立在操作***中提供的socket接口之上,提供这个接口的普通TCP协议栈是为主机对外提供服务和对外进行访问而实现的,为了使用这个协议栈进行进行数据包重组,防火墙本机必须存在TCP的访问点,即IP地址和端口,这导致应用代理对于应用协议来说不可能是透明的,应用协议需要“知道”并且“允许”这个中间环节的存在。而这个条件在很多时候是不能够满足的,用户如果要部署应用代理防火墙,通常要对其网络拓扑结构和应用***的部署进行调整,如:我们浏览器中庙宇代理网关的IP地址和端口才可能使浏览器按照存在一个中间代理的方式访问网站,换句话说,浏览器需要“知道”这个代理的存在,那么对于其他类型的应用协议呢?很多时候,应用协议的设计并不允许我们在其中增加一个过滤环节,这意味着代理防火墙提供应用保护的协议范围是十分有限的。
流过滤防火墙的流过滤结构则不同,它完全不需要用户调整网络结构和应用***,它可以在防火墙的任何部署方式下提供完全一致的应用的保护能力,流过滤防火墙运动路由模式和交换模式,前者在网络中等同于一个路由器,后者则相当于一个链路层的交换机,本身可以完全没有IP地址,这意味着用户不需要为了获得应用层保护能力而改变网络结构和应用***,甚至当用户改变防火墙的运行模式时,也完全不需要调整应用层的保护策略(过滤规则),它会与原来完全等同的效果去执行。
通常在一个已有的提供Web访问的服务器群中又增加了一个Web服务器,并且使用IIS,那么用户仅需要在防火墙上增加一条针对IIS漏洞的应用过滤规则即可以达到对该服务器的保护目的,而服务器本身则完全不需要考虑防火墙的存在。
另外,某个企业网络通过一个包过滤防火墙对外进行Internet访问,某天管理员想要过滤Web访问中的危险的包含Nimda病毒的页面,只需要在原有的访问出口上串接一个工作在交换模式下的流过防火墙,并配置一条针对Nimda病毒的过滤规则即可,不需要调整任何一个IP地址,也不需要在内网的数丰个PC的浏览器上配置代理服务器设置。
同样对于任何流过滤防火墙提供的应用保护协议,都对网络结构和应用***完全透明,比如可以在交换栻下对通过防火墙的邮件标题进行关键字过滤,并对携带某些关键字的邮件采取“丢弃”的策略,则那些携带了某些关键字的“不好”的邮件在到达内部的邮件服务器前就完全“消失”了,无论是服务器还是该邮件的发送者都不会觉察,这样的功能可以非常有效的防止垃圾邮个进入企业内部,并且非常容易实施(不需要修改邮件服务器和DNS的配置)。
性能差别:
流过滤防火墙中的TCP协议栈是专为防火墙的进行数据流转发而设计的,其在数据分析过程中的拷贝次数、内存资源的开销方面都优于普通操作***的TCP协议栈。
应用代理***使用操作***的socket接口,对于任何一个通过防火墙的连接都必须消耗两个socket资源,而这个资源在普通操作***中是非常紧缺的,通常只能允许同时处理一、两千个并发的连接,即使对于一个流量较小的网络来说这也不是一个很大的数量。同时,典型的代理***需要为每一个连接创建一个进程,当几千个连接存在时,大量的进程会消耗掉非常多的内在,并使CPU在上下文切换中浪费掉大量的处理资源,***的吞吐能力会急剧下降。
流过滤防火墙不使用socket接口,而是采用了一种事件驱动的内核接口,一个内核进程可以使用很小的开销同时处理几万甚至几十万的并发连接,正是这种先进的架构使得流过滤防火墙可以在非常繁忙的站点提供有效的应用层保护。
流过滤防火墙的性能与其它防火墙比较,如下列图表给出。
    技术架构 综合安全性 网络层保护 应用层访问控制 应用透明性   性能
  简单包过滤     低     有     无     有   较好
应用代理 强,但缺少可扩展性
状态检测包过滤 中等 简单的内容过滤,具有局限性
    流过滤     高     强 强,并易于扩展     有     好
流过滤体系结构的防火墙具有非常好的可扩展性在流过滤的平台基础上,我们可以进行应用级的插件的开发和升级、各种攻击方式的及时的响应和升级,动态保护网络网络安全。
流过滤防火墙提供的HTTP过滤功能特性有:URL和小程序(Java Applet和Active X)两种类型的请求过滤、页面内容过滤,并且提供了HTTP命令级控制,比较常用的命令有CET(用于请求页面)、PUT(用于把本地页面上载到HTTP服务器)、POST(用来提交在页面中输入的信息)。
流过滤防火墙提供的FIP过滤功能特性有:命令级控制,其中比较常用的命令有GET(用于下载文件)、PUT(用于把本地文件上载到FIP服务器),以及基于命令级控制实现的对目录和文件的访问控制。
流过滤防火墙提供的SMTP过滤功能特性有:主题过滤、正文过滤、附带文件过滤、地址过滤、防止邮件炸弹、限制邮件大小、限制邮件Relay等功能。
对于上述所有的应用协议,都可以通过隐藏或替换服务器的标识信息达到防止服务器信息泄漏的目的,这个功能可以有效的阻止对服务器的扫描。
网络安全本身是一个动态的,其变化非常声带,每天都有可能有新的攻击方式产生。安全策略必须能够随着攻击方式的产生而进行动态的调整,这样才能够动态的保护网络的安全,基于状态包过滤的流过滤体系结构,具有动态保护网络安全的特性,例如,由于新的Nimda病毒的出现、SQL SERVER蠕虫病毒的泛滥,使很多企业网络甚至于整个Internet的骨干陷入瘫痪,但是用了流过滤防火墙的企业,受益于流过滤体系结构的保护,及时加了相关的内容过滤规则,及时的获得了防御升级包,有效的保护了网络免受病毒的困扰,流过滤防火墙的安全响应小组对于新的攻击方式时刻进行跟踪,并第一时间发布解决方案,使流过滤防火墙能够有效的抵御各种新的攻击,动态保障网络安全。
流过滤防火墙实现的方法由三部分组成:    流过滤层次图(如图2所示)
1)状态包过滤
在链路层或者是IP层实现状态包过滤,防火墙从数据包中提取连接状态信息(TCP的连接状态信息,有:TCP_SYN、TCP_ACK,以及UDP和ICMP的模拟连接状态信息),并把这些信息放到动态连接表中动态维护,当后续数据包来时,将后续数据包及其状态信息和其前一时刻的数据包及其状态信息进行比较,防火墙就能做出决策:后续的数据包是否允许通过。
2)专用的TCP/UDP协议栈
这个协议栈是个标准的TCP/UDP协议的实现,依据TCP/UDP协议的定义对出入防火墙的数据包进行了完整的重组,重组后的数据流交给应用层过滤逻辑进行过滤。
3)应用层安全策略
根据不同的应用层协议,按照用户制定的应用层安全策略对应用层数据进行过滤,由于防火墙的应用层策略位于数据流的中间,因此可以在任何时候代替服务器或客户端参与应用层的会话,从而起到了与应用代理防火墙相同的控制能力。
当用户需要作用不同的应用层安全策略的时候,可以忘却对应的应用层安全策略模块,或者添加新的应用层安全策略插件。
应用规则和要求:
流过滤部门目前主要包括对HTTP、FTP、SMTP等应用提供过滤功能,规则的要求主要依据TIS(Trusted Information Systems)。
1、HTTP:
对于HTTP提供以下过滤功能特性描述:
1)限制URLS;
2)ActiveX,JAVA APPLET和CGI的过滤;
3)发送禁止页面;
4)提供命令级控制;
5)对页面内容进行关键字过滤
该部分维护一个指定的URL规则列表,格式为:
允许/拒绝[命令][URL、]ActiveX,JAVA APPLET][关键字]
该规则表示允许/拒绝主机对某个页面的访问。
[命令]表示允许/拒绝使用的HTTP命令。
[URL]表示允许/拒绝访问的URL。
[ActiveX,JAVA APPLET]表示允许/拒绝使用ActiveX,或JAVA APPLET。
[关键字]表示允许/拒绝在页面中出现的文字内容。
2、FTP:
对于FTP提供以下过滤功能特性描述:
对于FTP主要提供命令级的过滤功能
NAT:port命令以及pasv命令中对包的内容做修改,还要上载NAT临时性规则和包过滤临时性规则。
规则格式为:
允许/拒绝命令参数
该规则表示允许/拒绝某个主机的FTP访问。
命令:表示允许/拒绝进行的命令操作。
参数:表示允许/拒绝命令中可使用的参数。
3、对于SMTP提供以下过滤功能特性描述:
1)对SMTP提供命令级的过滤功能;
2)对SMTP提供内容级的过滤:主题过滤、正文过滤、附带文件过滤;
3)提供防止邮件炸弹的功能;
4)对邮件的合法性进行检查:地址过滤、限制邮件大小、限制邮件Relay等;
5)防止缓存器溢出;
6)对CGI漏洞攻击的防范。
规则格式为:
允许/拒绝  主题关键字
允许/拒绝  正文关键字
允许/拒绝  附件名称关键字
允许/拒绝  邮件地址
允许/拒绝  邮件域
允许/邮件长度
其它规则
该规则表示允许/拒绝对某个主机的SMTP访问。
主题关键字:表示允许/拒绝在邮件主题中出现的关键字。
正文关键字:表示允许/拒绝在邮件正文中出现的关键字。
附件名称关键字:表示允许/拒绝在邮件附件名称中出现的关键字。
邮件地址:表示允许/拒绝发送)接收)邮件的地址。
邮件域:表示允许/拒绝发送(接收)邮件的域。
邮件长度:表示每次可以发送邮件的最大长度。
其它规则:确定邮件炸弹及其它相关的规则。
流过滤防火墙实现方法由下列步骤组成:流过滤防火墙实现方法流程图(如图3所示)
1、各应用守护进程在内核创建一个访问服务点TCP_LISTEN,从内核取来数据包TCP_RECV,若需要认证的,则提交认证部分处理;
2、需要流内容过滤的,则按应用分为HTTP、FTP、SMTP等按照各自的允许或拒绝规则分别进行相应的处理;
3、若允许,则把该包提交给内核继续发送TCP_SEND;
4、若拒绝,则构造拒绝句,并说明拒绝的原因,并把有关该包的相应信息通知给事件服务器。
实现本方法由下列硬件模块组成,每个模块控制方法包括以下步骤:
HTTP过滤模块:
该模块首先进行***数据的初始化,在内核创建访问服务点TCP_LISTEN,获取规则,获取数据包TCP_RECV,创建连接表,获取连接的请求URL,然后进行规则匹配,根据匹配的结果决定该连接是允许还是拒绝,当接收到HTTP响应的时候,则对响应的内容进行关键字匹配,根据匹配结果决定改连接是允许还是拒绝,然后改变控制TCP_SESSION_CTL,提交内核处理该连接的数据包。
数据包的处理有三种:数据包允许通过,则直接发送;数据包丢弃:数据包构造。
实现难点:URL的匹配。
FTP过滤模块
该模块首先进行***数据的初始化,在内核创建访问服务点TCP_LISTEN,获取规则,获取数据包TCP_RECV,创建连接表,然后进行规则匹配,若拒绝该连接,则构造应答包,说明拒绝原因,清除该连接,否则,分析控制数据包,若收到PASV命令或PORT命令,昌需要根据NAT规则来修改数据包,以保证数据连接。
实现难点:根据NAT修改数据包。
SMTP过滤模块:
该模块首先进行***数据的初始化,在内核创建访问服务点TCP_LISTEN,获取规则,获取数据包TCP_RECV,创建连接表,然后进行规则匹配,若拒绝该连接,则构造应答包,说明拒绝原因,清除该连接。内部实现对MALL首部信息和MALL命令的检查,特别是邮件地址的合法性。
实现难点:数据包的存放和邮件的发送。
各个模块的内部结构包括以下几个部分:
数据初始化,获取规则,流过滤检查,发送数据包
本发明的优点:具有完善的身份鉴别、访问控制和审计能力;同时,***提供了丰富的GUI方式的管理和监控工具,能够方便的对***进行安全策略配置、用户管理、实时监控、审计查询、流量管理等操作;为保证***的安全运行,***能够有效的防范多种DOS的攻击手段,并对攻击事件进行报警。
附图说明
图1为流过滤防火墙体系结构图;
图2为流过滤层次图;
图3为流过滤防火墙实现方法流程图;
具体实施方式
本发明详细结构及工作原理结合附图加以详细说明。
流过滤防火墙实现的原理:
应用规则:
流过滤部分目前主要包括对HTTP、FTP、SMTP等应用提供过滤功能。规则的制订主要参考TIS(Trusted Information Systems)。
1、HTTP:
对于HTTP提供以下过滤功能特性描述:
1)限制URLS;
2)ActiveX,JAVA APPLET和CGI的过滤;
3)发送禁止页面;
4)提供命令级控制;
5)对页面内容进行关键字过滤
该部分维护一个指定的URL规则列表,格式为:
允许/拒绝[命令][URL][ActiveX,JAVA APPLET][关键字]
该规则表示允许/拒绝主机对某个页面的访问。
[命令]表示允许/拒绝使用的HTTP命令。
[URL]表示允许/拒绝访问的URL。
[ActiveX,JAVA APPLET]表示允许/拒绝使用ActiveX或JAVA APPLET。
[关键字]表示允许/拒绝在页面中出现的文字内容。
2、FTP:
对于FTP提供以下过滤功能特性描述:
1)对于FTP主要提供命令级的过滤功能
2)NAT:port命令以及pasv命令中对包的内容做修改,还要上载NAT临时性规则
和包过滤临时性规则。
规则格式为:
允许/拒绝 命令 参数
该规则表示允许/拒绝对某个主机的FTP访问。
命令:表示允许/拒绝进行的命令操作。
参数:表示允许/拒绝命令中可使用的参数。
3、对于SMTP提供以下过滤功能特性描述:
1)对SMTP提供命令级的过滤功能
2)对SMTP提供内容级的过滤:主题过滤、正文过滤、附带文件过滤
3)提供防止邮件炸弹的功能
4)对邮件的合法性进行检查:地址过滤、限制邮件大小、限制邮件Relay等
5)防止缓存器溢出
6)对CGI漏洞攻击的防范
规则格式为:
允许/拒绝 主题关键字
允许/拒绝 正文关键字
允许/拒绝 附件名称关键字
允许/拒绝 邮件地址
允许/拒绝 邮件域
允许 邮件长度
其它规则
该规则表示允许/拒绝对某个主机的SMTP访问。
主题关键字:表示允许/拒绝在邮件主题中出现的关键字。
正文关键字:表示允许/拒绝在邮件正文中出现的关键字。·附件名称关键字:表示允许/拒绝在邮件附件名称中出现的关键字。
邮件地址:表示允许/拒绝发送(接收)邮件的地址。
邮件域:表示允许/拒绝发送(接收)邮件的域。
邮件长度:表示每次可以发送邮件的最大长度。
其它规则:确定邮件炸弹及其它相关的规则。
各模块的流程图:
具体流程为:
各应用守护进程在内核创建一个访问服务点TCP-LISTEN,从内核取来数据包TCP-RECV,若需要认证的,则提交认证部分处理;若需要流内容过滤的,则按应用分为HTTP、FTP、SMTP等按照各自的允许或拒绝规则分别进行相应的处理,若允许,则把该包提交给内核继续发送TCP-SEND;若拒绝,则构造拒绝包,并说明拒绝的原因,并把有关该包的相应信息通知给事件服务器。
HTTP过滤模块:
该模块首先进行***数据的初始化,在内核创建访问服务点TCP_LISTEN,获取规则,获取数据包TCP_RECV,创建连接表,获取该连接的请求URL,然后进行规则匹配,根据匹配结果决定该连接是允许还是拒绝。当接收到HTTP响应的时候,则对响应的内容进行关键字匹配,根据匹配结果决定改连接是允许还是拒绝。然后改变控制TCP_SESSION_CTL,提交内核处理该连接的数据包。
数据包的处理有三种:数据包允许通过,则直接发送;数据包丢弃;数据包构造。
实现难点:URL的匹配。
FTP过滤模块:
该模块首先进行***数据的初始化,在内核创建访问服务点TCP_LISTEN,获取规则,获取数据包TCP_RECV,创建连接表,然后进行规则匹配,若拒绝该连接,则构造应答包,说明拒绝原因,清除该连接。否则,分析控制数据包,若收到PASV命令或PORT命令,则需要根据NAT规则来修改数据包,以保证数据连接。
实现难点:根据NAT修改数据包。
SMTP过滤模块:
该模块首先进行***数据的初始化,在内核创建访问服务点TCP_LISTEN,获取规则,获取数据包TCP_RECV,创建连接表,然后进行规则匹配,若拒绝该连接,则构造应答包,说明拒绝原因,清除该连接。内部实现对MAIL首部信息和MAIL命令的检查,特别是邮件地址的合法性。
实现难点:数据包的存放和邮件的发送。各个模块的结构:
主要包括以下几个部分:数据初始化,获取规则,流过滤检查,发送数据包主要实现函数:
  HTTP部分:

  http_init()数据初始化模块;
        <!-- SIPO <DP n="10"> -->
        <dp n="d10"/>
  load_http_rule()获取URL规则模块;

  http_filter()内容过滤模块;
对于某个连接,需要完整的URL故定义结构:
  #define URL_LEN 1024    /* define maximum url length */
#define BUF_LEN 2048    /* define maximum buffer length */
struct http_blk{    

  unsigned int    sip;    /* source IP address */

  unsigned int    dip;    /* destination IP address */

  unsigned short  spt;    /* source port */

  unsigned short  dpt;    /* destination port */
   struct{

    unsigned char  method[16];    /* request method */

        unsigned char  url[URL_LEN];    /* request url */

    unsigned int  url_len;        /* the length of url */

    unsigned char version[10];       /* HTTP version */

  }request_line;

  unsigned char rcv_buf[BUF_LEN];    /* buffer to receive data */

  unsigned int rcv_buf_len;          /* the length of received data */
};
FTP部分:

  ftp_init()***初始化模块;

  load_ftp_rule()获取FTP规则模块;

  ftp_filter()FTP命令过滤模块;
SMTP部分:

  smtp_init():***初始化模块;

  load_smtp_rule():获取SMTP规则模块;

  smtp_filter():STMP过滤模块;
对于某个连接,需要保存MAIL的首部信息,故定义结构:
#define BUF_SIZ 2048           /* define buffer size */
struct smtp_blk{    

  unsigned int   sip;     /* source IP address */

  unsigned int   dip;     /* destination IP address */

  unsigned short spt;     /* source port */

  unsigned short dpt;     /* destination port */

  unsigned int   len;     /* buffer length */
        <!-- SIPO <DP n="11"> -->
        <dp n="d11"/>
      unsigned char  buf[BUF_SIZ];  /* now stored content */

    ......

  };
配置文件:

  /fwsys/var/rules/user/filterdef/HTTP/目录下为HTTP规则配置文件;

  /fwsys/var/rules/user/filterdef/FTP/目录下为FTP规则配置文件;

  /fwsys/var/rules/user/filterdef/SMTP/目录下为SMTP规则配置文件。
滑动窗口和数据包的重组
滑动窗口的原理主要为:一个传输分组序列,在分组序列中放置一个固定长度的小窗口,该窗口内的分组可以同时发送出去而不必等待确认的到来,当该窗口内的第一个分组确认来了后,该窗口可以向后移动,从而可以发送下一个分组。随着确认的到来,窗口不断的移动,提高了网络的利用率。
在透明代理的实现中,对应每个连接的数据包需要两个滑动窗口来处理。一个处理客户端,一个处理服务端。客户端窗口负责处理从客户端发送到服务端的数据包,服务端窗口负责处理从服务端发送到客户端的数据包。对应客户端的窗口来说,只有对该连接窗口中的第一个数据包到来后,才允许窗口的滑动;同样,对应服务端的窗口来说,只有对该连接窗口中的第一个数据包到来后,才允许窗口的滑动。当该连接终止时,清除滑动窗口。
例外的处理:当一个连接的请求/应答包经过一定时间没有到来时,需要终止该连接,同时清除该连接的相应信息。
实现难点:滑动窗口的控制。
数据包的流程如下:
通过内核API的调用TCP_RECV取得数据包之后,分析该数据包的合法性,若非法,则丢弃;否则找到该数据包所在的连接,放到相应连接的窗口中,经过滑动窗口处理后,若数据包为客户端发出的包,则需要构造应答包,以保证后续包的到来;若数据包为服务端发来的包,则直接提交内核TCP_SEND把数据包发送出去。
对于HTTP来说,当某个连接的请求URL完全收到后,经过URL过滤规则的检查,若为非法URL,则拒绝该连接,同时构造拒绝包,说明拒绝原因,断掉该连接。若为合法URL,则提交该连接的请求,同时把该连接的控制完全交给内核直接处理。若需要进行内容过滤检查,则需要保存相邻的几个数据包,以便进行内容合法性检查。
对于FTP来说,直接分析控制连接即可。当收到新连接的数据包时,首先进行过滤规则的检查,若为非法地址来的连接,则拒绝,同时构造拒绝包,说明拒绝原因,断掉该连接。
对于SMTP来说,直接分析MAIL的头信息和MAIL地址的合法性检查。
当某个连接经过一段时间没有数据包到来,内核应通知用户态。这样,用户态便可以清除相应的信息,而不用再单独设置定时器了。
API层的实现:
为了使***具有更好的模块性,特把各应用的共同部分抽取出来组成应用API层。该层负责和内核部分进行数据包的交互和数据包的重组实现。API层是应用进程的一部分。
API层主要是抽取各应用的公用部分而实现。主要包括TCP初始化(init_tcp()),接收数据包(recv_tcp_pkt()),发送数据包(send_tcp_pkt()),控制连接(ctl_tcp_session()),关闭TCP(close_tcp()),取数据包(get_packet())。
说明:
前面声明为static的变量或函数为内部使用,即对外透明。
  主要数据结构和API函数:
struct tcp_pkt{

      int    state;             /*packet state*/

      unsigned int    sip;      /*source IP address*/

      unsigned int    dip;      /*destination IP address*/

      unsigned short  spt;      /*source port*/

      unsigned short  dpt;      /*destination port*/

     unsigned int    len;/*the length of data packet*/

      unsigned char        *pkt;/*data pointer*/
};
·
struct tcp_key{

      unsigned int    sip;    /*source IP address*/

      unsigned int    dip;    /*destination IP address*/

      unsigned short  spt;    /*source port*/

      unsigned short  dpt;    /*destination port*/
};
struc tcp_win{

      int    flg;          /*the window state*/

                            /*0:free;1:send OK;-1:ready send*/

      unsigned int seq;    /*sequence No.of the packet*/

      unsigned int ack;    /*acknowledgement No.of the packet*/

      unsigned int len;    /*the length of data packet*/

      unsigned char*pkt;   /*packet data pointer*/
};
struct tcp_blk{

      int           flg;   /*the state of the tcp block*/

                          /*0:free;1:used*/

      unsigned int  sip;   /*source IP address*/

      unsigned int  dip;   /*destination IP address*/

      unsigned short spt;  /*source port*/

      unsigned short dpt;  /*dest inat ion port*/

      unsigned int  cseq;  /*max received sequence No.(client->server)*/

      unsigned int  cack;  /*max received acknowledgement No.(cli->ser)*/

      struct tcp_win  *cli_win;    /*client->server packet queue*/
        <!-- SIPO <DP n="13"> -->
        <dp n="d13"/>
      unsigned int    sseq;  /*max received sequence No.(server->client)*/
      unsigned int    sack;  /*max received acknowledgement No.(ser->cli)*/

      struct tcp_win  *ser_win;    /*server->client packet queue*/
};
struct timer_link{

      struct fw_avl_node*top;

      struct fw_avl_node*tail;

      int num;

      int timeout;
};
static unsigned int MEM_SIZ=0;       /*total can use memory size*/
static unsigned int CONN_NR=0;       /*support maximum connection number*/
static unsigned int WIN_SIZ=0;       /*flow windows size*/
static unsigned int PKT_SIZ=2056;    /*maximum packet size*/
static unsigned short PORT=0;        /*application port*/
static unsigned int ServiceID=0;     /*service ID in kernel*/
static unsigned char*buffer=NULL;    /*buffer for receive data*/
static struct fw_avl_instance tcp_table;    /*tcp data connection table*/
struct timer_link tcp_link;    /*tcp data ready node list*/
pthread_cond_t cond_tcp_link;
pthread_mutex_t lock_tcp_link=PTHREAD_MUTEX_INITIALIZER;
主要接口函数:
1.初始化一些全局变量
int init_tcp(int port,int mem_siz,int conn_num,int win_siz);
说明:
    port为应用端口;
    mem_siz为可以使用的内存;
    conn_num为支持的连接数;
    win_siz为滑动窗口的大小。
2.从核心接收数据包
void recv_tcp_pkt()
说明:
  该函数负责不停地从核心取数据包。
3.把数据包放到所属连接中
static void packet_into_connection(struct tcp_pkt*pkt,unsigned char*data,unsigned int len)
说明:
  pkt为TCP数据包结构;
  data为数据指针;
  len为数据长。
4.把数据包放到滑动窗口中
static void packet_into_window(struct tcp_win*pwin,unsigned int seq,
   unsigned intack,struct tcp_pkt*pkt,unsigned len)
说明:
  pwin为窗口指针,指向要添加的窗口;
  seq为序列号;
  ack为应答号;
  pkt为TCP数据包指针;
  len为数据长。
5.发送数据包
int send_tcp_pkt(unsigned char*buf,int len,int num)
说明:
  buf为数据缓冲区;
  len数据长度;
  num数据包个数。
6.关闭TCP连接
void close_tcp(int port)
说明:
  port为应用端口。
7.从窗口中获取某个连接的数据包
struct tcp_pkt*get_packet(struct fw_avl_node*node)
说明:
  node为该连接在平衡二叉树连接表中的接点。
8.加入连接点到数据连接表中
static void tcp_link_in(struct fw_avl_node*node)
说明:
  node为数据连接表中的结点。
9.从数据连接表中删除结点
static void tcp_link_out(struct fw_avl_node*node)
说明:
  node为数据连接表中的结点
10.控制TCP连接
int ctl_tcp_session(struct fw_avl_node*node,int mode)
node为该连接在平衡二叉树连接表中的结点;
mode为控制模式:
   0:清除该连接;
   1:清除客户端连接信息;
   2:清除服务端连接信息;
   3:该连接完全由用户态来控制。

Claims (8)

1、一种流过滤防火墙,其特征在于流过滤防火墙实现的方法由三部分组成:
1)状态包过滤
在链路层或者是IP层实现状态包过滤,防火墙从数据包中提取连接状态信息(TCP的连接状态信息,有:TCP_SYN、TCP_ACK,以及UDP和ICMP的模拟连接状态信息),并把这些信息放到动态连接表中动态维护,当后续数据包来时,将后续数据包及其状态信息和其前一时刻的数据包及其状态信息进行比较,防火墙就能做出决策:后续的数据包是否允许通过。
2)专用的TCP/UDP协议栈
这个协议栈是个标准的TCP/UDP协议的实现,依据TCP/UDP协议的定义对出入防火墙的数据包进行了完整的重组,重组后的数据流交给应用层过滤逻辑进行过滤。
3)应用层安全策略
根据不同的应用层协议,按照用户制定的应用层安全策略对应用层数据进行过滤,由于防火墙的应用层策略位于数据流的中间,因此可以在任何时候代替服务器或客户端参与应用层的会话,从而起到了与应用代理防火墙相同的控制能力。
2、权利要求1所述的流过滤防火墙,其特征在于流过滤防火墙实现方法包括下列步骤:
1)各应用守护进程在内核创建一个访问服务点TCP_LISTEN,从内核取来数据包TCP_RECV,若需要认证的,则提交认证部分处理;
2)需要流内容过滤的,则按应用分为HTTP、FTP、SMTP等按照各自的允许或拒绝规则分别进行相应的处理;
3)若允许,则把该包提交给内核继续发送TCP_SEND;若拒绝,则构造拒绝句,并说明拒绝的原因,并把有关该包的相应信息通知给事件服务器。
3、根据权利要求2所述的流过滤防火墙,其特征在于该防火墙实现方法由下列硬件模块组成:
HTTP过滤模块;
FTP过滤模块;
SMTP过滤模块。
4、根据权利要求2、3所述的流过滤防火墙,其特征在于HTTP过滤模块控制方法包括以下步骤:
该模块首先进行***数据的初始化,在内核创建访问服务点TCP_LISTEN,获取规则,获取数据包TCP_RECV,创建连接表,获取连接的请求URL,然后进行规则匹配,根据匹配的结果决定该连接是允许还是拒绝。当接收到HTTP响应的时候,则对响应的内容进行关键字匹配,根据匹配结果决定改连接是允许还是拒绝。然后改变控制TCP_SESSION_CTL,提交内核处理该连接的数据包。
5、根据权利要求2、3所述的流过滤防火墙,其特征在于FTP过滤模块控制方法包括以下步骤:
该模块首先进行***数据的初始化,在内核创建访问服务点TCP_LISTEN,获取规则,获取数据包TCP_RECV,创建连接表,然后进行规则匹配,若拒绝该连接,则构造应答包,说明拒绝原因,清除该连接。否则,分析控制数据包,若收到PASV命令或PORT命令,昌需要根据NAT规则来修改数据包,以保证数据连接。
6、根据权利要求2、3所述的流过滤防火墙,其特征在于SMTP过滤模块控制方法包括以下步骤:
该模块首先进行***数据的初始化,在内核创建访问服务点TCP_LISTEN,获取规则,获取数据包TCP_RECV,创建连接表,然后进行规则匹配,若拒绝该连接,则构造应答包,说明拒绝原因,清除该连接。内部实现对MALL首部信息和MALL命令的检查,特别是邮件地址的合法性。
7、根据权利要求3所述的流过滤防火墙,其特征在于HTTP过滤模块;FTP过滤模块和SMTP过滤模块三个模块内部结构包括下列部分:
数据初始化;
获取规则;
流过滤检查;
发送数据包。
8、根据权利要求2、7所述的流过滤防火墙,其特征在于数据包的流程由下部步骤组成:
通过内核API的调用TCP_RECV取得数据包之后,分析该数据的合法性,若非法,则丢弃;否则找到该数据包所在的连接,放到相应连接的窗口中,经过滑动窗口处理后,若数据包为客户端发出的包,则需要构造应答包,以保证后续包的到来;若数据包为服务端发来的包,则直接提交内核TCP_SEND把数据包发送出去;
对于HTTP来说,当某个连接的请求URL完全收到后,经过URL过滤规则的检查,若为非法URL,则拒绝该连接,同时构造拒绝包,说明拒绝原因,断掉该连接。若为合法URL,则提交该连接的请求,同时把该连接的控制完全交给内核直接处理。若需要进行内容过滤检查,则需要保存相邻的几个数据包,以便进行内容合法性检查;
对于FTP来说,直接分析控制连接即可。当收到新连接的数据包,首先进行过滤规则的检查,若为非法地址来的连接,则拒绝,同时构造拒绝包,说明拒绝原因,断掉该连接;
对于SMTP来说,直接分析MAIL的头信息和MAIL地址的合法性检查;
当某个连接经过一段时间没有数据包到来,内核应通知用户态。这样,用户态便可以清除相应的信息,而不用再单独设置定时器了。
CNA2003101191864A 2003-12-23 2003-12-23 流过滤防火墙 Pending CN1555170A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2003101191864A CN1555170A (zh) 2003-12-23 2003-12-23 流过滤防火墙

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2003101191864A CN1555170A (zh) 2003-12-23 2003-12-23 流过滤防火墙

Publications (1)

Publication Number Publication Date
CN1555170A true CN1555170A (zh) 2004-12-15

Family

ID=34338176

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2003101191864A Pending CN1555170A (zh) 2003-12-23 2003-12-23 流过滤防火墙

Country Status (1)

Country Link
CN (1) CN1555170A (zh)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100395997C (zh) * 2005-07-12 2008-06-18 华为技术有限公司 一种保护接入用户安全的方法
CN100426794C (zh) * 2005-10-11 2008-10-15 华为技术有限公司 一种处理跨越不同防火墙间数据流的方法
CN1905555B (zh) * 2005-07-30 2010-07-07 华为技术有限公司 基于ngn业务的防火墙控制***及方法
CN101060492B (zh) * 2007-05-29 2010-08-11 杭州华三通信技术有限公司 会话检测方法及会话检测***
CN101883081A (zh) * 2009-05-05 2010-11-10 昆明智讯达科技开发有限公司 一种基于网络数据包内容进行视频流传输过滤的方法
CN101888374A (zh) * 2010-05-19 2010-11-17 山东中创软件商用中间件股份有限公司 基于内嵌的对响应内容进行缓存过滤的方法、装置及***
CN1905553B (zh) * 2005-07-28 2011-04-20 易星 在dos攻击或者设备过载时保障所选用户访问的方法
CN102035725A (zh) * 2010-08-10 2011-04-27 中国科学院计算技术研究所 一种非对称路由下单向流uri的关联技术***及其方法
CN1968272B (zh) * 2005-10-17 2011-08-10 阿尔卡特公司 通信网络中用于缓解拒绝服务攻击的方法和***
CN101478530B (zh) * 2007-12-31 2012-01-18 国际商业机器公司 提供对不安全网络的安全访问的方法和***
CN101741644B (zh) * 2009-12-16 2012-05-30 成都市华为赛门铁克科技有限公司 流量检测方法及装置
CN101330495B (zh) * 2007-06-19 2012-07-25 瑞达信息安全产业股份有限公司 一种在计算机网络内实现非对等访问的控制方法和控制***
CN101707619B (zh) * 2009-12-10 2012-11-21 福建星网锐捷网络有限公司 报文过滤方法、装置及网络设备
CN102882728A (zh) * 2012-10-08 2013-01-16 北京星网锐捷网络技术有限公司 流量异常原因通知方法、装置及网络设备
CN103209135A (zh) * 2013-05-03 2013-07-17 深圳市共进电子股份有限公司 一种基于linux平台的HTTP数据流转的控制方法
CN103581189A (zh) * 2013-11-06 2014-02-12 东软集团股份有限公司 应用策略的匹配方法及***
CN103716379A (zh) * 2012-09-28 2014-04-09 阿瓦亚公司 针对网络实时通信(webrtc)交互式会话的企业策略的分布式应用,以及相关的方法、***和计算机可读媒体
CN103765851A (zh) * 2011-06-30 2014-04-30 思杰***有限公司 用于到任何服务的透明的层2重定向的***和方法
CN104040550A (zh) * 2011-10-18 2014-09-10 迈可菲公司 集成安全策略和事件管理
CN104067558A (zh) * 2012-04-30 2014-09-24 惠普发展公司,有限责任合伙企业 具有控制模块和网络访问模块的网络访问装置
WO2014173365A1 (zh) * 2013-08-20 2014-10-30 中兴通讯股份有限公司 Ftp的应用层报文过滤方法及装置、计算机存储介质
CN104994084A (zh) * 2015-06-23 2015-10-21 西安交大捷普网络科技有限公司 Web防火墙的局部代理方法
CN105592086A (zh) * 2015-12-22 2016-05-18 Tcl集团股份有限公司 一种针对Android平台管理防火墙的方法及装置
CN105871849A (zh) * 2016-04-05 2016-08-17 山东超越数控电子有限公司 一种防火墙***架构
CN106453272A (zh) * 2015-10-30 2017-02-22 远江盛邦(北京)网络安全科技股份有限公司 透明反向代理模式下的 ip 地址还原方法
CN107835179A (zh) * 2017-11-14 2018-03-23 山东超越数控电子股份有限公司 一种基于虚拟化容器的应用程序防护方法与装置
CN114338087A (zh) * 2021-12-03 2022-04-12 成都安恒信息技术有限公司 一种基于防火墙的定向运维审计方法及***
CN115334136A (zh) * 2022-07-05 2022-11-11 北京天融信网络安全技术有限公司 一种连接老化控制方法、***、设备及存储介质
CN115412472A (zh) * 2022-08-30 2022-11-29 中国联合网络通信集团有限公司 网络故障的排查方法、装置及设备

Cited By (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100395997C (zh) * 2005-07-12 2008-06-18 华为技术有限公司 一种保护接入用户安全的方法
CN1905553B (zh) * 2005-07-28 2011-04-20 易星 在dos攻击或者设备过载时保障所选用户访问的方法
US7987503B2 (en) 2005-07-30 2011-07-26 Huawei Technologies Co., Ltd. Firewall control system based on a next generation network service and method thereof
CN1905555B (zh) * 2005-07-30 2010-07-07 华为技术有限公司 基于ngn业务的防火墙控制***及方法
CN100426794C (zh) * 2005-10-11 2008-10-15 华为技术有限公司 一种处理跨越不同防火墙间数据流的方法
CN1968272B (zh) * 2005-10-17 2011-08-10 阿尔卡特公司 通信网络中用于缓解拒绝服务攻击的方法和***
CN101060492B (zh) * 2007-05-29 2010-08-11 杭州华三通信技术有限公司 会话检测方法及会话检测***
CN101330495B (zh) * 2007-06-19 2012-07-25 瑞达信息安全产业股份有限公司 一种在计算机网络内实现非对等访问的控制方法和控制***
CN101478530B (zh) * 2007-12-31 2012-01-18 国际商业机器公司 提供对不安全网络的安全访问的方法和***
CN101883081A (zh) * 2009-05-05 2010-11-10 昆明智讯达科技开发有限公司 一种基于网络数据包内容进行视频流传输过滤的方法
CN101707619B (zh) * 2009-12-10 2012-11-21 福建星网锐捷网络有限公司 报文过滤方法、装置及网络设备
CN101741644B (zh) * 2009-12-16 2012-05-30 成都市华为赛门铁克科技有限公司 流量检测方法及装置
CN101888374A (zh) * 2010-05-19 2010-11-17 山东中创软件商用中间件股份有限公司 基于内嵌的对响应内容进行缓存过滤的方法、装置及***
CN101888374B (zh) * 2010-05-19 2013-06-26 山东中创软件商用中间件股份有限公司 基于内嵌的对响应内容进行缓存过滤的方法、装置及***
CN102035725A (zh) * 2010-08-10 2011-04-27 中国科学院计算技术研究所 一种非对称路由下单向流uri的关联技术***及其方法
CN102035725B (zh) * 2010-08-10 2013-01-02 国家计算机网络与信息安全管理中心 一种非对称路由下单向流uri的关联技术***及其方法
CN103765851A (zh) * 2011-06-30 2014-04-30 思杰***有限公司 用于到任何服务的透明的层2重定向的***和方法
CN104040550B (zh) * 2011-10-18 2017-09-08 迈可菲公司 集成安全策略和事件管理
CN104040550A (zh) * 2011-10-18 2014-09-10 迈可菲公司 集成安全策略和事件管理
US9548994B2 (en) 2011-10-18 2017-01-17 Mcafee, Inc. Integrating security policy and event management
CN104067558A (zh) * 2012-04-30 2014-09-24 惠普发展公司,有限责任合伙企业 具有控制模块和网络访问模块的网络访问装置
CN104067558B (zh) * 2012-04-30 2017-09-12 慧与发展有限责任合伙企业 网络访问装置和用于处理网络中的分组的方法
CN103716379A (zh) * 2012-09-28 2014-04-09 阿瓦亚公司 针对网络实时通信(webrtc)交互式会话的企业策略的分布式应用,以及相关的方法、***和计算机可读媒体
CN103716379B (zh) * 2012-09-28 2018-02-23 阿瓦亚公司 将企业策略应用到网络实时通信(WebRTC)交互式会话的方法和***
CN102882728A (zh) * 2012-10-08 2013-01-16 北京星网锐捷网络技术有限公司 流量异常原因通知方法、装置及网络设备
CN102882728B (zh) * 2012-10-08 2017-04-05 北京星网锐捷网络技术有限公司 流量异常原因通知方法、装置及网络设备
CN103209135A (zh) * 2013-05-03 2013-07-17 深圳市共进电子股份有限公司 一种基于linux平台的HTTP数据流转的控制方法
CN103209135B (zh) * 2013-05-03 2016-03-02 深圳市共进电子股份有限公司 一种基于linux平台的HTTP数据流转的控制方法
CN104426837A (zh) * 2013-08-20 2015-03-18 中兴通讯股份有限公司 Ftp的应用层报文过滤方法及装置
US10110557B2 (en) 2013-08-20 2018-10-23 Zte Corporation FTP application layer packet filtering method, device and computer storage medium
CN104426837B (zh) * 2013-08-20 2019-09-13 南京中兴新软件有限责任公司 Ftp的应用层报文过滤方法及装置
WO2014173365A1 (zh) * 2013-08-20 2014-10-30 中兴通讯股份有限公司 Ftp的应用层报文过滤方法及装置、计算机存储介质
CN103581189B (zh) * 2013-11-06 2017-01-04 东软集团股份有限公司 应用策略的匹配方法及***
CN103581189A (zh) * 2013-11-06 2014-02-12 东软集团股份有限公司 应用策略的匹配方法及***
CN104994084A (zh) * 2015-06-23 2015-10-21 西安交大捷普网络科技有限公司 Web防火墙的局部代理方法
CN106453272A (zh) * 2015-10-30 2017-02-22 远江盛邦(北京)网络安全科技股份有限公司 透明反向代理模式下的 ip 地址还原方法
CN106453272B (zh) * 2015-10-30 2020-01-07 远江盛邦(北京)网络安全科技股份有限公司 透明反向代理模式下的ip地址还原方法
CN105592086A (zh) * 2015-12-22 2016-05-18 Tcl集团股份有限公司 一种针对Android平台管理防火墙的方法及装置
CN105592086B (zh) * 2015-12-22 2019-09-17 Tcl集团股份有限公司 一种针对Android平台管理防火墙的方法及装置
CN105871849A (zh) * 2016-04-05 2016-08-17 山东超越数控电子有限公司 一种防火墙***架构
CN107835179A (zh) * 2017-11-14 2018-03-23 山东超越数控电子股份有限公司 一种基于虚拟化容器的应用程序防护方法与装置
CN114338087A (zh) * 2021-12-03 2022-04-12 成都安恒信息技术有限公司 一种基于防火墙的定向运维审计方法及***
CN114338087B (zh) * 2021-12-03 2024-03-15 成都安恒信息技术有限公司 一种基于防火墙的定向运维审计方法及***
CN115334136A (zh) * 2022-07-05 2022-11-11 北京天融信网络安全技术有限公司 一种连接老化控制方法、***、设备及存储介质
CN115334136B (zh) * 2022-07-05 2024-02-02 北京天融信网络安全技术有限公司 一种连接老化控制方法、***、设备及存储介质
CN115412472A (zh) * 2022-08-30 2022-11-29 中国联合网络通信集团有限公司 网络故障的排查方法、装置及设备
CN115412472B (zh) * 2022-08-30 2024-04-30 中国联合网络通信集团有限公司 网络故障的排查方法、装置及设备

Similar Documents

Publication Publication Date Title
CN1555170A (zh) 流过滤防火墙
CN1309214C (zh) 基于协同入侵检测的大规模网络安全防御***
CN1518823A (zh) 使用会话追踪的动态分组过滤器
CN1600011A (zh) 包含安全性关联处理器的虚拟专用网络机制
CN1574839A (zh) 多层防火墙结构
CN101069169A (zh) 在网络元件处缓存内容和状态数据
CN1160616C (zh) 用于检测并清除邮件附件中的计算机病毒的方法和***
CN101030977A (zh) 用于防御非法通信的装置及其网络***
CN1695127A (zh) 网络接口和协议
CN101052934A (zh) 用于检测网络上未经授权的扫描的方法、***和计算机程序
CN101040497A (zh) 防火墙***和防火墙控制方法
CN1855847A (zh) 公共与专用网络服务管理***和方法
CN101052946A (zh) 用于控制对电子消息接收者的访问的***和方法
CN1833403A (zh) 通信***、通信装置、通信方法及用于实现这些的通信程序
CN1918865A (zh) 生成和处理可任意处理的电子邮件地址的方法、***以及计算机程序产品
CN1759564A (zh) 访问控制处理方法
CN1818823A (zh) 基于程序行为分析的计算机防护方法
CN1855825A (zh) 计算机***
CN1677979A (zh) 通过网络在计算机之间共享对象的***和方法
CN101056208A (zh) 业务跟踪方法、网络设备、o&amp;m控制器、业务请求装置
CN1574764A (zh) 用于管理基于网络过滤器的策略的方法
CN1914862A (zh) 集群***、集群成员、故障恢复方法及程序
CN1605181A (zh) 用于为专用网络上的资源提供安全访问的方法和***
CN1711784A (zh) 用于发送sms以及文本消息的***和方法
CN1574763A (zh) 外部网络装置的自动发现和配置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication