包过滤防火墙包过滤规则,应用网关防火墙包过滤规则和规则检查防火墙包过滤规则之间的区别?

目前的防火墙包过滤规则总共分㈣类:

包过滤防火墙包过滤规则:包过滤防火墙包过滤规则不检查数据区包过滤防火墙包过滤规则不建立连接状态表,前后报文无关應用层控制很弱。

应用网关防火墙包过滤规则:不检查IP、TCP标头不建立连接状态表,网络层保护比较弱

状态检测防火墙包过滤规则:不檢查数据区,建立连接状态表前后报文相关,应用层控制很弱

复合型防火墙包过滤规则:可以检查整个数据包内容,根据需要建立连接状态表网络层保护强,应用层控制细会话控制较弱。

包过滤是一种内置于Linux内核路由功能之上的防火墙包过滤规则类型其防火墙包過滤规则工作在网络层。传统的包过滤功能在路由器上常可看到而专门的防火墙包过滤规则系统一般在此之上加了功能的扩展,如状态檢测等它通过检查单个包的地址,协议端口等信息来决定是否允许此数据包通过。

数据包过滤用在内部主机和外部主机之间 过滤系統是一台路由器或是一台主机。过滤系统根据过滤规则来决定是否让数据包通过用于过滤数据包的路由器被称为过滤路由器。

数据包过濾是通过对数据包的IP头和TCP头或UDP头的检查来实现的主要信息有:

在TCP/IP中,存在着一些标准的服务端口号例如,HTTP的端口号为80通过屏蔽特定嘚端口可以禁止特定的服务。包过滤系统可以阻塞内部主机和外部主机或另外一个网络之间的连接例如,可以阻塞一些被视为是有敌意嘚或不可信的主机或网络连接到内部网络中

数据包过滤一般使用过滤路由器来实现,这种路由器与普通的路由器有所不同

普通的路由器只检查数据包的目标地址,并选择一个达到目的地址的最佳路径它处理数据包是以目标地址为基础的,存在着两种可能性:若路由器鈳以找到一个路径到达目标地址则发送出去;若路由器不知道如何发送数据包则通知数据包的发送者“数据包不可达”

过滤路由器会更加仔细地检查数据包,除了决定是否有到达目标地址的路径外还要决定是否应该发送数据包。“应该与否”是由路由器的过滤策略决定並强行执行的

2.它有一个新的命令行工具 ntf,它的语法与 iptables 不同;

3.它也包含了一个兼容层让你在新的 nftables 内核框架之上运行 iptables 命令;

4.它提供了通用嘚集合基础允许你建立映射和关联。你可以使用这个新特性把你的规则集分类到多维树中这大大地减少了找到包最终的行为之前需要检查的规则的数量;

1.拥有一些高级的类似编程语言的能力,例如定义变量和包含外部文件即拥有使用额外脚本的能力,nftables也可以用于多种地址簇的过滤和处理

2.不同于iptables, nftables并不包含任何的内置表。由管理员决定需要哪些表并添加这些表的处理规则

3.表包含规则链,规则链包含规则

Synacktiv公司的网络安全专家在对防火墙包过滤规则实施的安全评估中,观察到一个奇怪的防火墙包过滤规则行为它可能会影响多个IP堆栈的漏洞。

起初 Synacktiv 公司的网络安全专家认为这种攻击方式是他们第一个发现的,但之后他们发现2004年安全专家Fernando Gont也发布了一篇《如何检测你的IPv6地址组件是否易受到攻击》的文章在文章中他在本文中,探讨了IPv6的不同组件将如何受到基于ND的攻击但是,这篇文章的局限之处在于它当时没囿确定这种攻击是不是发生在Packet Filter和nftables中

ICMP和ICMPv6是互联网的主要支持协议,这些协议是为连接测试和数据包没有到达目的地时的错误信号而设计的接收ICMP消息可以让应用程序理解失败的原因,比如数据包太大没有可用路由等等。

从协议本身来说ICMPv6和基于IPv4的ICMP协议发生了很大的变化,昰两个不同的协议所以为了区分两者,基于IPv6的ICMP协议我们用ICMPv6来命名协议识别号58。而ICMP一般指代传统的IPv4下的协议而ICMP协议我们最常用的功能莫过于Ping了,这是网络工程师判断故障或问题的第一步

ICMPv6是IPv6非常重要的基础性协议,在IPv6中许多基础机制都是由ICMPv6定义及完成例如地址冲突检測、地址解析、无状态自动获取等等。ICMPv6定义了多种消息类型和机制来实现这些功能在IPv6包头中,NextHeader=58则表示IPv6包头后封装着一个ICMPv6消息

ICMPv6消息有两夶类:差错消息及信息消息。

和ICMP一样ICMPv6仍然是用于传递错误信息和网络故障诊断的。ICMP V6除了基本的错误反馈和信息控制功能外还包括一些使用ICMPV6的机制,如路径MTU发现(PDM)机制PDM机制通过发送长度越来越大的数据包到达目的节点,当一个给定的数据包长度超过到达目的节点路径仩最小的MTU时该数据包将被丢弃,并发送一个数据包太大的消息给源点从而源地址节点就知道了这条路径上最小的MTU为多少。

出于不同的目的ICMPv6反馈的消息可以用类型和代码分别标识,每种标识都有不同的含义例如,ICMP会反馈以下消息:

1.Echo回复和请求(类型1和8);

2.无法到达目嘚地(类型3);

4.时间戳回复和请求(类型14和15);

ICMPv6则会反馈以下消息:

1. 无法到达目的地(类型1);

2.数据包太大(类型2);

3. 超时(类型3);

4.参數问题(类型4);

5. 路由器请求和路由器通告(133和134型);

6.邻居请求和邻居通告(类型135和136);

目前其中的很多消息类型已经被弃用,我们可鉯根据不同目的大致将ICMP消息分为三类:

1.请求:它们由主机生成以查询某些信息;

2.回复:它们是上述ICMP请求的ICMP响应;

3.错误:它们是由网络设備或主机在无法处理数据包时创建的;

本文重点介绍错误消息,这个类别非常有趣因为它的消息会被作为带外数据(out-of-band,OOB)进行发送以響应另一个协议的第4层通信消息。传输层协议使用带外数据(out-of-bandOOB)来发送一些重要的数据,如果通信一方有重要的数据需要通知对方时協议能够将这些数据快速地发送到对方。为了发送这些数据协议一般不使用与普通数据相同的通道,而是使用另外的通道

例如,UDP数据包可能会生成ICMP错误这些错误通常被封装在ICMP有效载荷、IP标头以及接下来的64字节的出错包中。图1显示了主机B拒绝关闭端口上的数据包的行为:

帶外ICMP错误的示例

作为信号协议ICMP消息可以改变接收系统的IP栈的行为。例如ICMP Redirect和ICMPv6 Router通告可以改变主机的路由表。

恶意用户可以滥用ICMP来破坏网络操作以下就是过去与ICMP有关的各种攻击方法:

2.ICMP隧道滥用ICMP协议将任意数据封装在ICMP消息之上;

4.通过攻击MTU发现进程或数据包拥塞信号,降低网络數据拥塞(Congestion)是评价一个后端设计是否能绕线绕的通的重要评价指标;

通过正确配置操作系统的IP堆栈,可以缓解以上攻击有趣的是,可以茬不使用操作系统的防火墙包过滤规则特性下(例如:sysctlnetsh,...)启用各种ICMP保护

在理想情况下,危险的ICMP消息应该被每个主机的IP堆栈阻止而鈈需要防火墙包过滤规则。但在实践中安全加固通常由广域网和受限局域网之间的防火墙包过滤规则来实现。这就会产生一个问题即ICMP囷ICMPv6应该如何过滤?

在过滤ICMP消息时阻止所有消息类型并不是一个好的缓解方式。它会降低整体用户体验例如,阻止“太大的数据包” 类型实际上就会完全阻止IPv6工作,并可能严重降低IPv4的性能

RFC07)在第4.3.1章是明确说明允许ICMPv6的错误消息的,它们是不能被阻止的:

草案“过滤ICMP消息的建议”(2013)曾建议;“当设备充当网关或防火墙包过滤规则时哪些ICMP和ICMPv6消息应该被接受、限制速率或拒绝。”该草案建议允许接受或限制鉯下消息:

似乎人们对什么是安全的ICMP数据有不同的看法通常认为,防火墙包过滤规则应该阻止来自WAN的所有入站ICMP和ICMPv6数据包(NDP除外)除非咜们与已知的现有连接相关,而已知的现有连接可以由有状态检测防火墙包过滤规则跟踪。

注意:草案“过滤ICMP消息的建议”(2013)目前已被升级更新了

状态检测是比包过滤更为有效的安全控制方法。对新建的应用连接状态检测检查预先设置的安全规则,允许符合规则的連接通过并在内存中记录下该连接的相关信息,生成状态表对该连接的后续数据包,只要符合状态表就可以通过。这种方式的好处茬于:由于不需要对每个数据包进行规则检查而是一个连接的后续数据包(通常是大量的数据包)通过散列算法,直接进行状态检查從而使得性能得到了较大提高;而且,由于状态表是动态的因而可以有选择地、动态地开通1024号以上的端口,使得安全性得到进一步地提高

事实上,状态检测防火墙包过滤规则实现了相关数据包的概念这些相关数据包是与附加到现有连接的带外数据匹配的数据包。与此楿关的概念不仅用于ICMP还用于其他协议,如可能使用辅助TCP数据传送的FTP

关于ICMP、带内和带外数据之间的关联是通过从封装在ICMP错误消息中的IP分組中提取“状态标识符”来完成的,如果连接已知则使用此标识符在表中查找。

为了说明这个概念我会举以下一个例子。在一个简单嘚网络中如果我们希望只允许LAN上的主机通过端口1234上的UDP与WAN上的任何主机连接,且仍然希望A接收带外错误在这种情况下,将使用以下高级防火墙包过滤规则配置:

2.如果数据包与现有的允许连接相关则允许从WAN到LAN的输入;

传出的带内UDP数据将匹配规则1,输入的带外ICMP错误消息将匹配规则2如图2所示,规则3将拒绝任何其他数据包

通过提取内层对ICMP错误进行状态过滤

实际上,根据防火墙包过滤规则配置的语义不同规則2实现的方式也不同。

到目前为止我们知道有状态防火墙包过滤规则会根据ICMP(或ICMPv6)错误推断状态。但剩下的问题是哪些信息实际上是从内蔀IP数据包中提取的?

由于第4层协议具有不同的语义每个协议都有自己的提取器,但我们在Packet Filter和nftables衍生物中观察到以下内容:

TCP使用以下字段构慥状态:

1.内部IP源和IP目的地;

2.内部源和目标端口;

而UDP使用以下字段构造状态:

而ICMP使用以下字段构造状态:

1.内部IP源和目的地;

2.不同类型的ICMP字段;

3. 洳果防火墙包过滤规则支持协议提供的属性(如SCTP或UDP-Lite端口)则将使用协议提供的属性(nftables可以,而Packet Filter不可以);

总而言之当防火墙包过滤规则收箌带外ICMP反馈的错误消息时,它会执行以下操作:

2.从封装的IP或IPv6数据包中提取状态;

3.尝试匹配现有状态列表中的“状态标识符”;

4.如果内部IP数據包状态与现有状态匹配则将数据包标记为相关。

我们发现当提取内部包来寻找状态时与外部数据包的相关性都将丢失。这意味着呮要封装的数据包可以与现有连接相关,整个数据包就会被标记为相关然后,在大多数情况下这个数据包将被允许通过

被恶意篡改的ICMPv6數据包经常滥用此行为,这种攻击会以使用过滤规则的主机为攻击目标攻击时,该恶意数据包会被封装在一个具有合法状态的数据包中如下所示。

在这种情况下恶意ICMPv6数据包就会运行被通过, nftables和Packet Filter在实现时都受此攻击的影响

状态ICMP过滤被攻击的过程

接下来,我将介绍Linux和OpenBSD的實现细节以剖析这种恶意数据包为何会通过以及这种行为如何被预防。

特别声明:本文为网易自媒体平台“网易号”作者上传并发布僅代表该作者观点。网易仅提供信息发布平台

}

考试中心《理论题库-网络知识》茬线考试

试卷年份2015年上半年

在包过滤防火墙包过滤规则中定义数据包过滤规则的是( )。

D(仅供参考欢迎评论交流)


信管网解析: 普通会員无法查看试题解析。[]

}
什么叫状态防火墙包过滤规则啊... 什么叫状态防火墙包过滤规则啊?
知道合伙人法律行家 推荐于

多年法律服务经验专注于公司法务、合同纠纷、房产纠纷、劳动人事等各类民商事案件

防火墙包过滤规则通常使用的安全控制手段主要有包过滤、状态检测、代理服务。

包过滤技术是一种简单、有效的安全控淛技术它通过在网络间相互连接的设备上加载允许、禁止来自某些特定的源地址、目的地址、TCP端口号等规则,对通过设备的数据包进行檢查限制数据包进出内部网络。包过滤的最大优点是对用户透明传输性能高。但由于安全控制层次在网络层、传输层安全控制的力喥也只限于源地址、目的地址和端口号,因而只能进行较为初步的安全控制对于恶意的拥塞攻击、内存覆盖攻击或病毒等高层次的攻击掱段,则无能为力

状态检测是比包过滤更为有效的安全控制方法。对新建的应用连接状态检测检查预先设置的安全规则,允许符合规則的连接通过并在内存中记录下该连接的相关信息,生成状态表对该连接的后续数据包,只要符合状态表就可以通过。这种方式的恏处在于:由于不需要对每个数据包进行规则检查而是一个连接的后续数据包(通常是大量的数据包)通过散列算法,直接进行状态检查从而使得性能得到了较大提高;而且,由于状态表是动态的因而可以有选择地、动态地开通1024号以上的端口,使得安全性得到进一步哋提高

包过滤防火墙包过滤规则:包过滤防火墙包过滤规则不检查数据区,包过滤防火墙包过滤规则不建立连接状态表前后报文无关,应用层控制很弱

应用网关防火墙包过滤规则:不检查IP、TCP报头,不建立连接状态表网络层保护比较弱。

状态检测防火墙包过滤规则:鈈检查数据区建立连接状态表,前后报文相关应用层控制很弱。

复合型防火墙包过滤规则:可以检查整个数据包内容根据需要建立連接状态表,网络层保护强应用层控制细,会话控制较弱

你对这个回答的评价是?

}

我要回帖

更多关于 防火墙包过滤规则 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信