基于防火墙的数据过滤方法

合集下载

防火墙的数据包拦截方式小结

防火墙的数据包拦截方式小结

防火墙的数据包拦截方式小结网络防火墙都是基于数据包的拦截技术之上的。

在Windows下,数据包的拦截方式有很多种,其原理和实现方式也千差万别。

总的来说,可分为“用户级”和“内核级”数据包拦截两大类。

用户级下的数据包拦截方式有:* Winsock Layered Service Provider (LSP)。

* Win2K 包过滤接口(Win2K Packet Filtering Interface)。

* 替换Winsock动态链接库 (Winsock Replacem ent DLL)。

内核级下的数据包拦截方式有:* TDI过滤驱动程序 (TDI-Filter Driver)。

* NDIS中间层驱动程序 (NDIS Intermediate Driver)。

* Win2K Filter-Hook Driver。

* Win2K Firewall-Hook Driver。

* NDIS-Hook Driver。

在这么多种方式面前,我们该如何决定采用哪一种作为自己项目的实现技术?这需要对每一种方式都有一个大致的了解,并清楚它们各自的优缺点。

技术方案的盲目选用往往会带来一些技术风险。

以自己为例,我需要在截包的同时得到当前进程文件名,也就是说,需向用户报告当前是哪个应用程序要访问网络。

在选用Win2K Filter-Hook Driver这一方案之后(很多小型开源项目都采用这一方案),便开始编码。

但之后发现Win2K Filter-Hook Driver的截包上下文处于内核进程中,即IRQL >= DISPATCH_LEVEL,根本无法知道当前应用程序的名字。

相比之下,TDI-Filter Driver和NDIS-Hook Driver则可以得知这些信息。

其中TDI-Filter Driver比NDIS-Hook Driver更能准确地获知当前应用程序文件名,后者的接收数据包和少数发送数据包的场景仍然处于内核进程中。

包过滤防火墙的工作原理

包过滤防火墙的工作原理

包过滤防火墙的工作原理
包过滤防火墙的工作原理是基于对网络数据包进行筛选和验证,以确定是否允许通过或阻止。

它通过以下方式工作:
1. 规则制定:管理员设置防火墙的策略和规则,包括允许通过的IP地址、端口范围和协议等。

2. 包检查:当数据包经过防火墙时,防火墙会检查数据包的源IP地址、目标IP 地址、端口号和其他相关协议信息。

3. 判断处理:防火墙将检查结果与预设的规则进行匹配,判断数据包是否符合规则。

如果匹配成功,则根据规则决定允许通过或阻止。

4. 动作执行:根据判断结果,防火墙根据设置的规则执行相应的动作。

如果允许通过,数据包将继续传输到目标主机;如果阻止,则数据包将被丢弃。

5. 记录日志:防火墙将记录通过防火墙的数据包和相关事件,供后续审计和排查安全问题使用。

包过滤防火墙工作的关键是在网络数据包传输过程中进行实时的检查和判断,通过设置策略和规则来保护网络安全,防止潜在的攻击和非法访问。

基于防火墙的企业安全网络的设计分析

基于防火墙的企业安全网络的设计分析

基于防火墙的企业安全网络的设计分析随着互联网的快速发展,企业内部网络安全问题变得尤为突出。

安全网络设计成为企业网络建设的重要组成部分,而基于防火墙的企业安全网络设计更是被广泛应用。

本文将对基于防火墙的企业安全网络进行设计分析,探讨其原理、优势和应用。

基于防火墙的企业安全网络设计原理基于防火墙是指通过安装防火墙设备来实现网络安全防护的一种网络安全设计方案。

防火墙作为企业内部网络和外部网络之间的一道屏障,对进出的数据包进行过滤、检查和处理,以确保网络安全。

防火墙的设计原理主要包括以下几个方面:1. 访问控制:通过设置访问控制列表(ACL)来控制不同设备、用户访问不同网络资源的权限,从而保护企业网络免受未经授权的访问。

2. 包过滤:对进出的数据包进行检查和过滤,防止恶意攻击、网络病毒和木马程序进入企业内部网络。

3. 网络地址转换(NAT):通过NAT技术将内部私有IP地址转换为公共IP地址,以隐藏内部网络拓扑结构,增强网络安全性。

4. 虚拟专用网络(VPN):通过VPN技术搭建安全的远程访问通道,实现对外部网络的安全访问。

以上原理构成了基于防火墙的企业安全网络设计的核心思想,并为企业网络安全提供了可靠的保障。

基于防火墙的企业安全网络设计相较于传统的网络安全设计具有很多优势,主要包括以下几点:1. 提高网络安全性:防火墙作为网络的边界保护,可以有效防范外部恶意攻击和内部网络威胁,提高企业网络的整体安全性。

2. 网络管理灵活:防火墙可以进行访问控制、流量控制等设置,使得网络管理更加灵活,能够根据实际需求对网络进行定制化配置。

3. 降低网络风险:基于防火墙的企业安全网络设计可以有效降低网络风险,减少因网络攻击和安全漏洞导致的财产损失和声誉损害。

4. 提高网络性能:防火墙能够对网络流量进行智能分析和处理,提高网络的传输效率,保证网络的稳定和可靠性。

基于防火墙的企业安全网络设计的优势使得其成为当前企业网络建设中的主流选择,得到了广泛的应用和推广。

基于数据包过滤技术的防火墙模型设计

基于数据包过滤技术的防火墙模型设计

中图分类号:T 33 8 P 9. 0
文献标识码:A
文章编号 :10- 59 ( 00 0 - 15 0 07 99 2 1 ) 5 04- 1
Fie i M o l sg g i s t c a eFit rng Te h lg r wa l de De i n a a n tDa aPa k g le i c no o y
ma h n stecin ,e d C h Pa d e so eho tma hiea esr e -iep r C . c i ea le tn e t S a t eI d r s ft s c n st ev rsd o tS a h o n h h n K e wor : r wal c e; m e ; I Fitr y dsFie l; tKe lND S; le So
系统 模块 的划分 系统 由数据包 过滤模 块、 进程 管理模 块及 I P地址 扫描 功能三 大部 分组成 。过滤 模块 是本系 统工 作的基 础 ,在 设计 阶段 充分考 虑 了系 统在 实际应用 中的 实际应用 情况 , 设计 了过滤规 则 的添 加 、 修改 ,过滤数 据包 的实 时性等 ,并详 细描述 了过 滤钩子 驱动 的实 现 。进 程管理 模块可 以在 本系统 查看 并结束 相应 非法进 程 。客户 端使用 套接 口技术 实现 了端 口扫 描功 能 。三 部分 结合在 一起 组成 了个人 防火 墙系 统 的完 整功 能 。
当应 用程 序或者 上层 驱动程 序通 过 向过 滤器 钩子驱 动程序 发 送 I 控制请 求建 立过 滤器钩 子 时,驱动程 序 自 会响应 例程 , ] O 动 例程 处理发 来 的 I / O控制请 求 。 三、进 程管理 模块 ( )进 程管 理模块 的功 能 一 程 序 的进 程 管理模块 主要应 实现 的功 能包括 : 1 . 获取本机 正在 运行 的系统进 程 的名称 、D 号等 ,并显 示在 列 表框 中 。 2 除某 个进 程 :指定 需要 删 除的进程 的唯一 标志 号进行 删 . 删 除。 ( )进程 管理 的实现 二 1 . 和显 示系统 进程 获取 首先使 用 函数给 当前系统 内执 行的进程 拍 快照 ( npht, S aso) 也就 是获得 一个进 程列表 , 列表 中记录着 进程 的 I 、进 程对应 该 D 的可执 行文 件 的名称等 数据 。然 后遍历 快照 中记录 的列表 。可显 示每个 进程 的可执行 文件 名和进 程 I D号 等 。 2 除系 统进程 . 删 在对 一个 进程操 作前 ,必 须首先 取得 该进程 的进程 句柄 。函 数创 建进程 后会 返回 一个进 程句柄 , 而对 于一个 已经存在 的进程 , 只 能使用 固定 函数来 取得 这个进 程 的访 问权 限 ,该 函数 打开 一个 存在 的进程 并返 回其句 柄 。 四、基 于套接 口技 术端 口扫描 模块 的设计 端 口扫 描模块 通过创 建套 接 口、请求连 接 、套 接 口 I 状态 / O

如何利用网络防火墙实现带宽管理与流量控制?(十)

如何利用网络防火墙实现带宽管理与流量控制?(十)

如何利用网络防火墙实现带宽管理与流量控制引言:随着互联网的快速发展,网络安全问题日益引起人们的关注。

网络防火墙作为一种保护网络安全的重要设备,不仅能够有效地抵御攻击,还可以实现带宽管理与流量控制。

本文将从网络防火墙的原理和功能出发,探讨如何利用网络防火墙实现带宽管理与流量控制。

一、网络防火墙的基本原理网络防火墙是连接互联网和内部网络的一道屏障,通过实施访问控制、数据包过滤、隔离等策略,来保护内部网络的安全。

其基本原理包括:1.包过滤:防火墙根据事先设定的安全策略,对网络流量进行过滤,将合法的数据包通过,拦截不符合安全策略的数据包。

2.查杀病毒:防火墙内置病毒查杀引擎,能够检测并隔离携带病毒的数据包,防止病毒传播。

3.默认策略:防火墙需要设置默认策略,即对于未知数据包的处理方式,通常会选择拒绝或者丢弃,以避免风险。

二、带宽管理的必要性随着互联网应用的广泛普及,网络流量呈现爆发式增长,给网络带来了巨大压力。

合理分配和管理带宽资源,可以提高网络的使用效率和服务质量。

网络防火墙可以借助其流量控制功能,实现带宽管理,具体表现在以下几个方面:1.按优先级分配带宽:通过网络防火墙设置优先级,可以为重要业务分配更多的带宽资源,保障其正常运行。

例如,企业内部的视频会议、云计算应用等具有较高优先级,可以获得更多的带宽。

2.限制流量峰值:网络防火墙可以设置流量峰值,当网络流量超过设定的阈值时,自动进行限速处理。

这样可以避免网络拥堵和资源浪费。

3.流量分流:通过网络防火墙的流量控制功能,可以将网络流量按照不同的规则进行分流,例如按照用户、应用、时间等进行分类。

这样可以更加精确地控制不同类型流量的使用情况。

4.流量优化:网络防火墙可以通过深度包检测等技术手段,识别并剔除网络流量中的冗余数据、恶意软件等,从而优化带宽利用效率。

三、流量控制的实践方法实现带宽管理与流量控制,并不仅仅依赖于网络防火墙的一己之力,还需要结合其他技术手段和策略。

深度解读网络防火墙的四层与七层过滤(七)

深度解读网络防火墙的四层与七层过滤(七)

深度解读网络防火墙的四层与七层过滤网络防火墙是保护计算机网络免受恶意攻击和未经授权访问的关键工具。

其中,最常见的两种类型是四层和七层过滤。

本文将深入探讨这两种过滤技术的原理、应用和区别。

一、四层过滤四层过滤是指网络防火墙在传输控制协议(TCP)和用户数据报协议(UDP)之上进行过滤和检测。

它基于源地址、目标地址、端口号和协议类型等信息进行过滤。

四层过滤技术具有高效、稳定和快速的特点,适用于大多数网络环境。

四层过滤的实现原理类似于“端口转发”,即通过检查连接请求的源地址和目标地址,防火墙可以识别是否允许或拒绝该连接。

同时,它还会检查端口号和协议类型,以确保只有经过授权的连接可以通过。

例如,允许传输HTTP协议的连接流量,但阻止传输FTP协议的连接。

四层过滤在保护网络安全方面非常有效,但它无法检测和过滤应用层协议的特定内容。

这就引出了七层过滤的概念。

二、七层过滤与四层过滤不同,七层过滤基于应用层协议对网络流量进行过滤和检测。

它可以分析传输的数据包内容,并根据协议和应用层规则进行决策。

因此,七层过滤技术可以实现更精确和细致的网络流量控制。

七层过滤的实现主要基于深度包检测(DPI)技术。

DPI技术具有强大的数据分析能力,可以检测特定应用程序协议、网络流量类型和数据包内容。

例如,七层过滤可以在HTTP协议中检测恶意代码、广告和非法网站等威胁,从而保护网络免受攻击。

七层过滤相比四层过滤更加智能化和复杂,但也更加耗费计算资源。

因此,在大型网络环境中,四层过滤和七层过滤通常会结合使用,以平衡网络性能和安全需求。

三、四层与七层过滤的区别除了实现原理和功能上的不同,四层过滤和七层过滤还存在其他一些区别。

首先,四层过滤更加侧重于网络连接层面的过滤,而七层过滤更关注应用层面的过滤。

四层过滤主要通过源地址和目标地址、端口号和协议类型等信息进行筛选,而七层过滤则在这些基础上还能对数据包内容进行更精准的分析和过滤。

其次,四层过滤执行速度更快,而七层过滤在处理复杂的应用层协议时会稍微慢一些。

深度解读网络防火墙的四层与七层过滤(四)

网络防火墙是现代网络安全的重要组成部分,它能够通过过滤和监控网络数据流量,保护网络系统免受网络攻击和恶意行为的侵害。

网络防火墙根据过滤的深度可以分为四层和七层过滤,本文将对两者进行深入解读。

一、四层过滤四层过滤是指网络防火墙在传输层和网络层进行数据包过滤。

传输层是指OSI模型的第四层,主要负责数据传输的可靠性和流控制。

而网络层是指OSI模型的第三层,负责数据在不同网络之间的路由选择和传输。

在四层过滤中,网络防火墙主要通过检查源地址、目标地址、源端口号和目标端口号等信息,来判断数据包的合法性和是否允许通过防火墙。

这种过滤方式可以高效地对大量数据包进行处理,提高网络的传输速率。

但是,四层过滤的缺点是过于粗略,无法识别应用层的具体协议和内容。

二、七层过滤七层过滤是指网络防火墙在传输层、网络层和应用层进行数据包过滤。

应用层是指OSI模型的最顶层,负责应用程序和用户之间的交互。

在七层过滤中,网络防火墙通过深度检查数据包的应用层协议和内容,可以更加准确地判断数据包的合法性和是否允许通过防火墙。

七层过滤可以根据特定的应用层协议对数据进行精确过滤,包括HTTP、FTP、SMTP等。

通过识别具体的应用层协议,网络防火墙可以对特定协议的攻击进行防范,提高网络的安全性。

七层过滤还可以检查应用层的内容,对恶意软件、病毒和垃圾邮件等进行识别和过滤,保护网络系统的完整性和可用性。

三、四层与七层过滤的优缺点四层过滤和七层过滤各有优缺点,根据不同的应用场景选择适合的过滤方式非常重要。

四层过滤的优点在于高效性和简单性。

通过根据传输层和网络层的信息进行过滤,可以快速地处理大量的数据包,并提高网络的传输效率。

此外,由于四层过滤不需要深入到应用层的协议和内容,减少了过滤规则的复杂性和配置的难度。

然而,四层过滤的缺点是无法对特定应用层协议进行精确识别和过滤。

攻击者可以利用一些常用的端口号和协议来绕过四层过滤,进行恶意攻击和数据传输。

此外,由于无法识别应用层的具体内容,四层过滤无法对恶意软件和病毒进行有效监控和防范。

防火墙技术在计算机网络安全中的应用

防火墙技术在计算机网络安全中的应用防火墙技术是广泛应用于计算机网络安全领域的一种网络安全措施,防火墙通过过滤网络流量,控制访问权限、限制网络攻击等手段实现网络安全保障。

1. 访问控制:防火墙通过设置访问权限实现对网络的管控,限制一些不必要的流量,防止不合法的入侵。

类似于网络门禁,只有被访问的主机经过认证后才能访问网络。

2. 流量过滤:防火墙通过过滤网络数据流量,对网络流量进行检测和控制,阻隔不合法的数据包进入网络。

关键信息和敏感数据在经过防火墙检测之后才能进入网络,有效避免了一些恶意攻击和非法访问。

3. 内容过滤:防火墙可以设置过滤规则,根据规定的关键字、内容类型、协议等方式对网络流量进行过滤。

通过区分数据包内容,这样恶意软件和攻击性的代码将会被驳回。

同时可以有效限制网络流量,优化网络带宽的利用效率。

4. 网络地址转换(NAT):防火墙可以对内部IP地址与外部IP地址之间进行转换,在网络中隐藏内部网络情况,使内部网络对外不可见,提高网络的安全性。

同时,这种IP 地址转化技术还能为网络提供更多的IP地址,提高网络的可扩展性。

5. 虚拟私人网络(VPN):防火墙可以通过VPN实现远程工作人员与内外网络的安全通信,有效保障数据的安全性和可靠性。

破解防火墙技术要点:防火墙技术的破解是黑客活动的一个核心部分,黑客一般采用以下几种技术破解防火墙:1. IP地址欺骗:通过伪造IP地址,使得黑客的信息传递时不被防火墙所拦截。

2. SYN洪水攻击:发送大量的TCP请求令服务器忙于回复,导致无法提供服务,从而达到破坏或是入侵网站的目的。

3. UDP泛洪攻击:利用大量的UDP数据包发送给网络,使得网络繁忙,从而影响其它的网络通信。

4. 缓解型攻击:通过使许多TCP连接半开,从而使得服务器资源得不到释放,导致系统卡死,让入侵者更好地混入系统中。

在实际应用中,防火墙技术是电子商务、互联网金融、医疗卫生、大型企业等领域使用比较普遍的一种网络安全技术。

基于进程防火墙与虚拟盘的非法信息流过滤方法


Ne t wor k a n d Comm un i c a t i on
1 模 型 系 统 的 构 成
1 . 1 系 统 结 构
查 的 目的页 面 ; 如 果 不存 在 , 则 继 续 搜 索 该 页 面 的 后 续 内容 ; ( 4 ) 将 合 法 信息 流 关 键 字 ( 或信 息 流 特 征 ) 映 像 虚
I S O、 B I N等 ) 光盘映像文件 中, 将 文 件 映 射 为 一 个 虚 拟 磁盘 , 以 实 现 用 户 的 透 明 性 文 件 操 作 。 非 法 信 息 流 过 滤
驱 动 通 常有 两 种 实现 方 法 : 一 种 是 以微 软 的 S i f l t e r 模 型 为基 础 、以过 滤 底 层 文 件操 作 I R P包 为 技 术 的 传 统 模
Zh a n g Xu e f e n g, Zh o u S hu n x i a n
( G u a n g z h o u P a n y u P o l y t e c h n i c , G u a n g z h o u 5 1 1 4 8 3, C h i n a )
g a l i n f o r m a t i o n . I t s p u r p o s e i s t o p r e v e n t d o c u me n t f r o m d e s t r u c t i o n b y v i us r o r T r o j a n p r o g r a m,a n d a c h i e v e c o n t r o l l a b i l i t y a n d s a f e —
据 包 的 攻 击 行 为 和 运 行 中 应 用 程 序 的攻 击 行 为 推 理 , 可

深度解读网络防火墙的四层与七层过滤(八)

网络防火墙是在计算机网络中起到保护网络安全的关键设备,它可以通过过滤和监控网络数据包来拦截恶意攻击和非法访问。

网络防火墙的过滤方式可以分为四层和七层过滤,本文将深度解读这两种过滤方式的特点和应用。

一、四层过滤四层过滤是指网络防火墙在数据链路层、网络层和传输层进行过滤和监控。

这种过滤方式主要基于源IP地址、目标IP地址、源端口号、目标端口号以及传输协议(如TCP、UDP)等信息来进行过滤判断。

四层过滤具有以下特点:1. 灵活性:四层过滤可以根据特定的IP地址、端口号等信息进行策略配置,从而实现对特定流量的限制和控制。

2. 高效性:由于只需要判断数据包中的源与目标IP地址以及端口号等基本信息,所以四层过滤的处理速度相对较快。

3. 局限性:四层过滤通常不能对应用层的协议及数据进行细粒度的过滤和监控,容易出现漏检的情况。

四层过滤主要适用于以下场景:1. 防止DDoS攻击:通过限制特定IP地址或端口的流量,可以减轻DDoS攻击带来的影响。

2. 控制违规访问:可以对特定协议或端口进行限制,防止违规访问和非法入侵。

3. 过滤恶意流量:通过对传输层信息的检测,可以及时过滤恶意的数据包。

二、七层过滤七层过滤是在四层过滤的基础上,进一步对应用层进行过滤和监控。

它可以识别特定的应用层协议、数据内容以及用户行为等,从而实现对应用层细粒度的控制和管理。

七层过滤具有以下特点:1. 准确性:七层过滤可以对应用层的协议、数据内容进行深入分析和处理,对恶意攻击和流量进行更准确的判断。

2. 灵活性:通过识别应用层协议和用户行为,可以实现更多样化的访问控制策略,以适应不同应用场景的需求。

3. 工作量较大:由于七层过滤需要对数据内容进行深入分析,所以相比四层过滤,它的处理速度相对较慢。

七层过滤主要适用于以下场景:1. 应用层协议控制:通过识别应用层协议,可以对特定协议的流量进行控制,如阻止P2P、FTP等协议的传输。

2. 网络行为管理:通过识别用户行为,可以限制非法下载、违规上传等行为,确保网络资源的合理使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文章编号:100622475(2005)0720124203收稿日期:2004209227作者简介:颜浩(19792),男,江西萍乡人,贵州大学硕士研究生,研究方向:计算机网络;徐洪峰(19772),男,江西鹰潭人,硕士研究生,研究方向:计算机网络;孟传良(19502),男,四川人,教授,研究方向:计算机网络、工业控制等。

基于防火墙的数据过滤方法颜 浩,徐洪峰,孟传良(贵州大学信息工程学院,贵州贵阳 550003)摘要:从包过滤和应用代理防火墙技术入手,结合主机型和边界型防火墙的特点,对过滤网上不良数据的实现方法进行了具体分析,总结不同方法的特点和不足,为基于防火墙的数据过滤技术的进一步研究打下基础。

关键词:包过滤;应用代理;SPI ;NDIS;TIS/FWTK 中图分类号:TP393.08 文献标识码:AData Filtering Methods B ased on Fire w allY AN Hao ,X U H ong 2feng ,ME NG Chuan 2liang(In formation Engineering Department ,G uizhou University ,G uiyang 550003,China )Abstract :This paper ,mainly based on the firewall technologies of packet filtering and application proxy ,combining the host 2based and border firewall features ,analyzes the practical methods of data filtering.Furtherm ore it summarizes the characteristics and disadvantages of different filtering ways.Therefore the deeper research w ork of data filtering can be based on the paper.K ey w ords :packet filtering ;application proxy ;SPI ;NDIS;TIS/FWTK0 引 言随着信息技术的不断发展,人类社会已经进入了信息时代,Internet 作为信息时代的产物在全球迅速地蔓延,延伸到社会的各个角落。

它加快了信息的传输,极大促进了国民经济的发展。

但与此同时,它作为一个开放式的系统,充斥着各种各样的信息,其中很多是一些诸如暴力、色情、反动等的不良信息,如何保证人们在享受Internet 方便快捷服务的同时,能够尽量避免这些不良信息的干扰是当前网络研究的一个重要的方向。

如何有效地对网络数据进行过滤呢?人们会自然地想到防火墙。

防火墙作为设置在不同网络或网络安全域之间的一系列部件的组合,它是不同网络或网络安全域之间信息的唯一出入口。

它能够根据企业或个人的控制策略对出入防火墙的数据流进行有效的监控,从而达到数据过滤的功能。

随着防火墙技术的不断发展,防火墙的分类和功能也在不断的细化,但总的来说,从功能上来分可以被分为两大类:(1)包过滤(packet filtering )防火墙。

(2)应用代理(ap 2plication proxy )防火墙。

从所处位置来分也可以被分为两大类:(1)主机型防火墙。

(2)边界型防火墙,此外还有其他如软件防火墙和硬件防火墙等一些分类方法。

本文主要从功能分类方法入手,结合位置分类方法的特点,对数据过滤在不同防火墙之中的实现方法进行了一些研究。

1 包过滤防火墙的数据过滤实现方法包过滤防火墙多数工作在网络层,因此又可称为网络级防火墙。

包过滤防火墙在边界型防火墙和主机型防火墙中均有应用。

下面分别进行讨论:(1)主机型包过滤防火墙的数据过滤方法。

主机型防火墙,运行于被保护主机的操作系统内核,除了完成对网络数据包的过滤等处理,还对系统内应用程序的所有网络连接进行认证。

提到主机型防火墙就必须要与目前流行的个人操作系统联系起来考虑。

在目前流行的个人操作系统中Windows 占据了其中的绝大部分,因此基于Windows 平台的包过计算机与现代化 2005年第7期J IS UAN J I Y U XI ANDAIH UA总第119期滤防火墙在数据过滤方面的作用显得尤为重要。

下面将主要讨论基于Windows平台的包过滤防火墙的数据过滤实现方法。

Windows下实现包过滤防火墙,首先必须了解OSI七层协议在Windows操作系统中是如何实现的,其结构如图1所示。

基于Windows操作系统网络协议栈的特殊结构,可以在Windows系统的用户态(us2 er2m ode)和内核态(kernel2m ode)两个层面上获取数据包。

在用户态中,通过WinS ock2(Windows S ockets的2.0版本)所引入的SPI(Service Provider Interface)编程接口,对输入、输出的数据流进行截获和分析,根据事先定义的过滤规则,将不满足规则的数据包过滤掉,过滤规则通常可设置为指定范围的IP地址和指定的UR L。

传输服务提供者又可分为基础服务提供者(Base Service Provider)和分层服务提供者(Layered Ser2 vice Provider),所以可以分别编写和安装自己的基础和分层服务提供者,然后在自己的服务提供者函数中获取系统基础服务提供者或下一层服务提供者的D LL文件句柄,再通过该句柄调用系统基础或下一层服务提供者的WSPStartup入口函数,最终得到服务提供者的30个服务函数指针。

然后将截包中需要的系统服务函数替换成自己的过滤函数,并在该过滤函数处理完成过滤功能之后,调用被替换的系统服务函数,从而可以在不影响系统正常通信的基础之上,完成数据过滤的功能。

 图1 OSI七层协议 图2 NDIS驱动程序接口结构图 规范结构在核心态中,则可以编写T DI过滤驱动程序(T DI Filter Driver)、NDIS中间层驱动程序(NDIS Intermediate Driver)和NDIS钩子驱动程序(NDIS H ook Driver)等方式来实现数据包的截获和过滤。

当应用程序要发送或接收网络数据包的时候,都是通过与传输驱动接口(T DI)来进行的。

在Windows2000/NT下,IP,TCP, UDP是在一个驱动程序里实现的,叫做tcp.sys,这个驱动程序创建了几个设备:DeviceRawI p,DeviceUdp,DeviceT cp,DeviceI p,DeviceM U LTIC AST。

应用程序所有的网络数据操作都是通过这几个设备进行的。

因此,T DI过滤驱动利用这些交互的接口,就可以实现网络数据包的拦截和过滤。

要编写NDIS中间层驱动程序和钩子驱动程序,就必须熟悉NDIS(Netw ork Driver Interface S pecification)网络驱动程序接口规范的结构(图2)。

中间层驱动程序位于网卡驱动和协议驱动程序之间,对协议驱动程序表现为一个网卡驱动程序,而对网卡驱动程序则表现为一个协议驱动程序,它能够截获主机的所有数据包,利用DDK(Device Driver K it:设备驱动程序开发包)可以进行NDIS中间层驱动程序的开发。

此外,DDK中附带了一个中间层驱动的例程passthru,passthru实现了中间层驱动程序的基本功能,并截获了数据包,但未做任何处理。

根据passthru的功能特点,如果要实现数据包过滤,只需修改passthru的protocol.c文件中的PtReceive和PtReceivePacket函数,在其中加入实现数据包控制规则的代码,便可达到数据过滤的功能。

NDIS钩子驱动程序是目前Windows下的个人防火墙比较常用的技术,但实现比较复杂,特别是在Window2000/XP 下。

在Window2000下要实现NDIS钩子驱动程序,首先需要在系统加载ndis.sys之后,加载协议驱动程序之前,通过调出内存中内核态PE文件的导出表,在其中获取ndis.sys模块的内存基址,然后通过该基址进行PE文件解析,得到所有导出函数列表,在该表中,查找NdisRegisterProtocol和NdisOpenAdapter的函数指针,用自定义的另外两函数指针替换这两个函数指针,并在替换NdisRegisterProtocol的自定义函数中,再次用自定义的接收函数替换系统的接收函数ReceiveHandler,则可以截获接受的数据包;同理,在替换NdisOpenAdapter的自定义函数中,可以用自定义的发送函数系统的发送函数SendHandler,从而截获发送的数据包。

(2)边界型包过滤防火墙的数据过滤实现方法。

边界型防火墙主要位于2个网络的边界,为其中一端(通常为内部网)提供网络安全防范,对进出被保护网络的信息进行过滤、阻断、监视等操作。

Linux2.4版本中的网络过滤器的netfilter/iptables就是一个性能出众、功能强大的防火墙操作平台,操作人员可以通过方便、灵活的配置,完成访问控制、数据包过滤等。

该网络过滤器定义了三种表:filter、nat和mangle,在每个表中包含预定义的链,在预定义的链上分别定义了521 2005年第7期颜浩等:基于防火墙的数据过滤方法5个挂接点,可以在其上挂接自定义的钩子函数,结构如图3所示。

通过netfilter/iptables 实现边界型包过滤防火墙主要用到3个挂接点:NF -IP -LOC A L -I N ,NF -IP -FORW ARD ,NF -IP -LOC A L -OUT ,使用linux 下的模块编程方法,编写自己的过滤模块函数,编译成目标文件,通过模块加载命令insm od 将自己的过滤模块加载入内核,从而实现自定义功能的数据包过滤。

如果需要卸载过滤模块可使用卸载命令rmm od 。

由此可见,在Linux 下通过netfilter/iptables 实现包过滤思路清楚,结构简单。

图3 Linux 中网络过滤器结构图图4 TIS/FWTK 代理防火墙中ftp 2g w 组件工作流程图2 应用代理防火墙的数据过滤技术应用代理防火墙工作在网络协议的最高层———应用层,其原理是彻底隔断两端的直接通信,所有通信都必须经应用层的代理转发,访问者任何时候都不能直接与服务器建立直接的TCP 连接,应用层的协议会话过程必须符合代理的安全策略的要求。

相关文档
最新文档