导航:首页 > 净水问答 > windows基于包过滤的防火墙

windows基于包过滤的防火墙

发布时间:2021-11-05 06:27:54

❶ 防火墙的包过滤型是基于应用层的防火墙为什么错

包过滤防火墙工作在OSI网络参考模型的网络层和传输层,去查一下它的工作原理就知道了。

❷ windows防火墙和其他一般的软件防火墙有什么异同

windows防火墙完全属于鸡肋,但它还是拥有防火墙的最基础的功能,例如:包过滤、阻挡外部攻击。但它没有其它防火墙的记录和提示功能,也没有当前主流防火墙的木马墙功能。

❸ 包过滤型是基于( )的防火墙

包过滤是一种内置于Linux内核路由功能之上的防火墙类型,其防火墙工作在网版络层。
1.1.3 包过滤防火墙的权工作原理
(1)使用过滤器。数据包过滤用在内部主机和外部主机之间, 过滤系统是一台路由器或是一台主机。过滤系统根据过滤规则来决定是否让数据包通过。用于过滤数据包的路由器被称为过滤路由器。
数据包过滤是通过对数据包的IP头和TCP头或UDP头的检查来实现的,主要信息有:
* IP源地址
* IP目标地址
* 协议(TCP包、UDP包和ICMP包)
* TCP或UDP包的源端口
* TCP或UDP包的目标端口
* ICMP消息类型
* TCP包头中的ACK位
* 数据包到达的端口
* 数据包出去的端口
在TCP/IP中,存在着一些标准的服务端口号,例如,HTTP的端口号为80。通过屏蔽特定的端口可以禁止特定的服务。包过滤系统可以阻塞内部主机和外部主机或另外一个网络之间的连接,例如,可以阻塞一些被视为是有敌意的或不可信的主机或网络连接到内部网络中。

❹ 阐述数据包过滤防火墙的工作原理_______.

推荐看一看 朱雁冰 写的《Windows防火墙与网络封包截获技术》,上面介绍了三种分别基于用户态和核心态下的防火墙编译,虽然他提到的三种技术现在看来都有不足,但是是一本讲解详细的好书~~~!!

防火墙就是一种过滤塞(目前你这么理解不算错),你可以让你喜欢的东西通过这个塞子,别的玩意都统统过滤掉。在网络的世界里,要由防火墙过滤的就是承载通信数据的通信包。

天下的防火墙至少都会说两个词:Yes或者No。直接说就是接受或者拒绝。最简单的防火墙是以太网桥。但几乎没有人会认为这种原始防火墙能管多大用。大多数防火墙采用的技术和标准可谓五花八门。这些防火墙的形式多种多样:有的取代系统上已经装备的TCP/IP协议栈;有的在已有的协议栈上建立自己的软件模块;有的干脆就是独立的一套操作系统。还有一些应用型的防火墙只对特定类型的网络连接提供保护(比如SMTP或者HTTP协议等)。还有一些基于硬件的防火墙产品其实应该归入安全路由器一类。以上的产品都可以叫做防火墙,因为他们的工作方式都是一样的:分析出入防火墙的数据包,决定放行还是把他们扔到一边。

所有的防火墙都具有IP地址过滤功能。这项任务要检查IP包头,根据其IP源地址和目标地址作出放行/丢弃决定。看看下面这张图,两个网段之间隔了一个防火墙,防火墙的一端有台UNIX计算机,另一边的网段则摆了台PC客户机。

当PC客户机向UNIX计算机发起telnet请求时,PC的telnet客户程序就产生一个TCP包并把它传给本地的协议栈准备发送。接下来,协议栈将这个TCP包“塞”到一个IP包里,然后通过PC机的TCP/IP栈所定义的路径将它发送给UNIX计算机。在这个例子里,这个IP包必须经过横在PC和UNIX计算机中的防火墙才能到达UNIX计算机。

现在我们“命令”(用专业术语来说就是配制)防火墙把所有发给UNIX计算机的数据包都给拒了,完成这项工作以后,“心肠”比较好的防火墙还会通知客户程序一声呢!既然发向目标的IP数据没法转发,那么只有和UNIX计算机同在一个网段的用户才能访问UNIX计算机了。

还有一种情况,你可以命令防火墙专给那台可怜的PC机找茬,别人的数据包都让过就它不行。这正是防火墙最基本的功能:根据IP地址做转发判断。但要上了大场面这种小伎俩就玩不转了,由于黑客们可以采用IP地址欺骗技术,伪装成合法地址的计算机就可以穿越信任这个地址的防火墙了。不过根据地址的转发决策机制还是最基本和必需的。另外要注意的一点是,不要用DNS主机名建立过滤表,对DNS的伪造比IP地址欺骗要容易多了。

服务器TCP/UDP 端口过滤

仅仅依靠地址进行数据过滤在实际运用中是不可行的,还有个原因就是目标主机上往往运行着多种通信服务,比方说,我们不想让用户采用 telnet的方式连到系统,但这绝不等于我们非得同时禁止他们使用SMTP/POP邮件服务器吧?所以说,在地址之外我们还要对服务器的TCP/ UDP端口进行过滤。

比如,默认的telnet服务连接端口号是23。假如我们不许PC客户机建立对UNIX计算机(在这时我们当它是服务器)的telnet连接,那么我们只需命令防火墙检查发送目标是UNIX服务器的数据包,把其中具有23目标端口号的包过滤就行了。这样,我们把IP地址和目标服务器TCP/UDP端口结合起来不就可以作为过滤标准来实现相当可靠的防火墙了吗?不,没这么简单。

客户机也有TCP/UDP端口

TCP/IP是一种端对端协议,每个网络节点都具有唯一的地址。网络节点的应用层也是这样,处于应用层的每个应用程序和服务都具有自己的对应“地址”,也就是端口号。地址和端口都具备了才能建立客户机和服务器的各种应用之间的有效通信联系。比如,telnet服务器在端口23侦听入站连接。同时telnet客户机也有一个端口号,否则客户机的IP栈怎么知道某个数据包是属于哪个应用程序的呢?

由于历史的原因,几乎所有的TCP/IP客户程序都使用大于1023的随机分配端口号。只有UNIX计算机上的root用户才可以访问1024以下的端口,而这些端口还保留为服务器上的服务所用。所以,除非我们让所有具有大于1023端口号的数据包进入网络,否则各种网络连接都没法正常工作。

这对防火墙而言可就麻烦了,如果阻塞入站的全部端口,那么所有的客户机都没法使用网络资源。因为服务器发出响应外部连接请求的入站(就是进入防火墙的意思)数据包都没法经过防火墙的入站过滤。反过来,打开所有高于1023的端口就可行了吗?也不尽然。由于很多服务使用的端口都大于1023,比如X client、基于RPC的NFS服务以及为数众多的非UNIX IP产品等(NetWare/IP)就是这样的。那么让达到1023端口标准的数据包都进入网络的话网络还能说是安全的吗?连这些客户程序都不敢说自己是足够安全的。

双向过滤

OK,咱们换个思路。我们给防火墙这样下命令:已知服务的数据包可以进来,其他的全部挡在防火墙之外。比如,如果你知道用户要访问Web服务器,那就只让具有源端口号80的数据包进入网络:

不过新问题又出现了。首先,你怎么知道你要访问的服务器具有哪些正在运行的端口号呢? 象HTTP这样的服务器本来就是可以任意配置的,所采用的端口也可以随意配置。如果你这样设置防火墙,你就没法访问哪些没采用标准端口号的的网络站点了!反过来,你也没法保证进入网络的数据包中具有端口号80的就一定来自Web服务器。有些黑客就是利用这一点制作自己的入侵工具,并让其运行在本机的80端口!

检查ACK位

源地址我们不相信,源端口也信不得了,这个不得不与黑客共舞的疯狂世界上还有什么值得我们信任呢?还好,事情还没到走投无路的地步。对策还是有的,不过这个办法只能用于TCP协议。

TCP是一种可靠的通信协议,“可靠”这个词意味着协议具有包括纠错机制在内的一些特殊性质。为了实现其可靠性,每个TCP连接都要先经过一个“握手”过程来交换连接参数。还有,每个发送出去的包在后续的其他包被发送出去之前必须获得一个确认响应。但并不是对每个TCP包都非要采用专门的ACK包来响应,实际上仅仅在TCP包头上设置一个专门的位就可以完成这个功能了。所以,只要产生了响应包就要设置ACK位。连接会话的第一个包不用于确认,所以它就没有设置ACK位,后续会话交换的TCP包就要设置ACK位了。

举个例子,PC向远端的Web服务器发起一个连接,它生成一个没有设置ACK位的连接请求包。当服务器响应该请求时,服务器就发回一个设置了ACK位的数据包,同时在包里标记从客户机所收到的字节数。然后客户机就用自己的响应包再响应该数据包,这个数据包也设置了ACK位并标记了从服务器收到的字节数。通过监视ACK位,我们就可以将进入网络的数据限制在响应包的范围之内。于是,远程系统根本无法发起TCP连接但却能响应收到的数据包了。

这套机制还不能算是无懈可击,简单地举个例子,假设我们有台内部Web服务器,那么端口80就不得不被打开以便外部请求可以进入网络。还有,对UDP包而言就没法监视ACK位了,因为UDP包压根就没有ACK位。还有一些TCP应用程序,比如FTP,连接就必须由这些服务器程序自己发起。

FTP带来的困难

一般的Internet服务对所有的通信都只使用一对端口号,FTP程序在连接期间则使用两对端口号。第一对端口号用于FTP的“命令通道”提供登录和执行命令的通信链路,而另一对端口号则用于FTP的“数据通道”提供客户机和服务器之间的文件传送。

在通常的FTP会话过程中,客户机首先向服务器的端口21(命令通道)发送一个TCP连接请求,然后执行LOGIN、DIR等各种命令。一旦用户请求服务器发送数据,FTP服务器就用其20端口 (数据通道)向客户的数据端口发起连接。问题来了,如果服务器向客户机发起传送数据的连接,那么它就会发送没有设置ACK位的数据包,防火墙则按照刚才的规则拒绝该数据包同时也就意味着数据传送没戏了。通常只有高级的、也就是够聪明的防火墙才能看出客户机刚才告诉服务器的端口,然后才许可对该端口的入站连接。

UDP端口过滤

好了,现在我们回过头来看看怎么解决UDP问题。刚才说了,UDP包没有ACK位所以不能进行ACK位过滤。UDP 是发出去不管的“不可靠”通信,这种类型的服务通常用于广播、路由、多媒体等广播形式的通信任务。NFS、DNS、WINS、NetBIOS-over-TCP/IP和 NetWare/IP都使用UDP。

看来最简单的可行办法就是不允许建立入站UDP连接。防火墙设置为只许转发来自内部接口的UDP包,来自外部接口的UDP包则不转发。现在的问题是,比方说,DNS名称解析请求就使用UDP,如果你提供DNS服务,至少得允许一些内部请求穿越防火墙。还有IRC这样的客户程序也使用UDP,如果要让你的用户使用它,就同样要让他们的UDP包进入网络。我们能做的就是对那些从本地到可信任站点之间的连接进行限制。但是,什么叫可信任!如果黑客采取地址欺骗的方法不又回到老路上去了吗?

有些新型路由器可以通过“记忆”出站UDP包来解决这个问题:如果入站UDP包匹配最近出站UDP包的目标地址和端口号就让它进来。如果在内存中找不到匹配的UDP包就只好拒绝它了!但是,我们如何确信产生数据包的外部主机就是内部客户机希望通信的服务器呢?如果黑客诈称DNS服务器的地址,那么他在理论上当然可以从附着DNS的UDP端口发起攻击。只要你允许DNS查询和反馈包进入网络这个问题就必然存在。办法是采用代理服务器。

所谓代理服务器,顾名思义就是代表你的网络和外界打交道的服务器。代理服务器不允许存在任何网络内外的直接连接。它本身就提供公共和专用的DNS、邮件服务器等多种功能。代理服务器重写数据包而不是简单地将其转发了事。给人的感觉就是网络内部的主机都站在了网络的边缘,但实际上他们都躲在代理的后面,露面的不过是代理这个假面具。

小结

IP地址可能是假的,这是由于IP协议的源路有机制所带来的,这种机制告诉路由器不要为数据包采用正常的路径,而是按照包头内的路径传送数据包。于是黑客就可以使用系统的IP地址获得返回的数据包。有些高级防火墙可以让用户禁止源路由。通常我们的网络都通过一条路径连接ISP,然后再进入Internet。这时禁用源路由就会迫使数据包必须沿着正常的路径返回。

还有,我们需要了解防火墙在拒绝数据包的时候还做了哪些其他工作。比如,防火墙是否向连接发起系统发回了“主机不可到达”的ICMP消息?或者防火墙真没再做其他事?这些问题都可能存在安全隐患。ICMP“主机不可达”消息会告诉黑客“防火墙专门阻塞了某些端口”,黑客立即就可以从这个消息中闻到一点什么气味。如果ICMP“主机不可达”是通信中发生的错误,那么老实的系统可能就真的什么也不发送了。反过来,什么响应都没有却会使发起通信的系统不断地尝试建立连接直到应用程序或者协议栈超时,结果最终用户只能得到一个错误信息。当然这种方式会让黑客无法判断某端口到底是关闭了还是没有使用。

❺ windows自带防火墙有什么用啊能防黑客攻击么

基本上可以,但防止被PING这是肯定的

❻ 基于包过滤防火墙的原理和实现技术是怎样的

推荐看一看 朱雁冰 写的《Windows防火墙与网络封包截获技术》,上面介绍了三种分别基于用户态和核心态下的防火墙编译,虽然他提到的三种技术现在看来都有不足,但是是一本讲解详细的好书~~~!!

防火墙就是一种过滤塞(目前你这么理解不算错),你可以让你喜欢的东西通过这个塞子,别的玩意都统统过滤掉。在网络的世界里,要由防火墙过滤的就是承载通信数据的通信包。

天下的防火墙至少都会说两个词:Yes或者No。直接说就是接受或者拒绝。最简单的防火墙是以太网桥。但几乎没有人会认为这种原始防火墙能管多大用。大多数防火墙采用的技术和标准可谓五花八门。这些防火墙的形式多种多样:有的取代系统上已经装备的TCP/IP协议栈;有的在已有的协议栈上建立自己的软件模块;有的干脆就是独立的一套操作系统。还有一些应用型的防火墙只对特定类型的网络连接提供保护(比如SMTP或者HTTP协议等)。还有一些基于硬件的防火墙产品其实应该归入安全路由器一类。以上的产品都可以叫做防火墙,因为他们的工作方式都是一样的:分析出入防火墙的数据包,决定放行还是把他们扔到一边。

所有的防火墙都具有IP地址过滤功能。这项任务要检查IP包头,根据其IP源地址和目标地址作出放行/丢弃决定。看看下面这张图,两个网段之间隔了一个防火墙,防火墙的一端有台UNIX计算机,另一边的网段则摆了台PC客户机。

当PC客户机向UNIX计算机发起telnet请求时,PC的telnet客户程序就产生一个TCP包并把它传给本地的协议栈准备发送。接下来,协议栈将这个TCP包“塞”到一个IP包里,然后通过PC机的TCP/IP栈所定义的路径将它发送给UNIX计算机。在这个例子里,这个IP包必须经过横在PC和UNIX计算机中的防火墙才能到达UNIX计算机。

现在我们“命令”(用专业术语来说就是配制)防火墙把所有发给UNIX计算机的数据包都给拒了,完成这项工作以后,“心肠”比较好的防火墙还会通知客户程序一声呢!既然发向目标的IP数据没法转发,那么只有和UNIX计算机同在一个网段的用户才能访问UNIX计算机了。

还有一种情况,你可以命令防火墙专给那台可怜的PC机找茬,别人的数据包都让过就它不行。这正是防火墙最基本的功能:根据IP地址做转发判断。但要上了大场面这种小伎俩就玩不转了,由于黑客们可以采用IP地址欺骗技术,伪装成合法地址的计算机就可以穿越信任这个地址的防火墙了。不过根据地址的转发决策机制还是最基本和必需的。另外要注意的一点是,不要用DNS主机名建立过滤表,对DNS的伪造比IP地址欺骗要容易多了。

服务器TCP/UDP 端口过滤

仅仅依靠地址进行数据过滤在实际运用中是不可行的,还有个原因就是目标主机上往往运行着多种通信服务,比方说,我们不想让用户采用 telnet的方式连到系统,但这绝不等于我们非得同时禁止他们使用SMTP/POP邮件服务器吧?所以说,在地址之外我们还要对服务器的TCP/ UDP端口进行过滤。

比如,默认的telnet服务连接端口号是23。假如我们不许PC客户机建立对UNIX计算机(在这时我们当它是服务器)的telnet连接,那么我们只需命令防火墙检查发送目标是UNIX服务器的数据包,把其中具有23目标端口号的包过滤就行了。这样,我们把IP地址和目标服务器TCP/UDP端口结合起来不就可以作为过滤标准来实现相当可靠的防火墙了吗?不,没这么简单。

客户机也有TCP/UDP端口

TCP/IP是一种端对端协议,每个网络节点都具有唯一的地址。网络节点的应用层也是这样,处于应用层的每个应用程序和服务都具有自己的对应“地址”,也就是端口号。地址和端口都具备了才能建立客户机和服务器的各种应用之间的有效通信联系。比如,telnet服务器在端口23侦听入站连接。同时telnet客户机也有一个端口号,否则客户机的IP栈怎么知道某个数据包是属于哪个应用程序的呢?

由于历史的原因,几乎所有的TCP/IP客户程序都使用大于1023的随机分配端口号。只有UNIX计算机上的root用户才可以访问1024以下的端口,而这些端口还保留为服务器上的服务所用。所以,除非我们让所有具有大于1023端口号的数据包进入网络,否则各种网络连接都没法正常工作。

这对防火墙而言可就麻烦了,如果阻塞入站的全部端口,那么所有的客户机都没法使用网络资源。因为服务器发出响应外部连接请求的入站(就是进入防火墙的意思)数据包都没法经过防火墙的入站过滤。反过来,打开所有高于1023的端口就可行了吗?也不尽然。由于很多服务使用的端口都大于1023,比如X client、基于RPC的NFS服务以及为数众多的非UNIX IP产品等(NetWare/IP)就是这样的。那么让达到1023端口标准的数据包都进入网络的话网络还能说是安全的吗?连这些客户程序都不敢说自己是足够安全的。

双向过滤

OK,咱们换个思路。我们给防火墙这样下命令:已知服务的数据包可以进来,其他的全部挡在防火墙之外。比如,如果你知道用户要访问Web服务器,那就只让具有源端口号80的数据包进入网络:

不过新问题又出现了。首先,你怎么知道你要访问的服务器具有哪些正在运行的端口号呢? 象HTTP这样的服务器本来就是可以任意配置的,所采用的端口也可以随意配置。如果你这样设置防火墙,你就没法访问哪些没采用标准端口号的的网络站点了!反过来,你也没法保证进入网络的数据包中具有端口号80的就一定来自Web服务器。有些黑客就是利用这一点制作自己的入侵工具,并让其运行在本机的80端口!

检查ACK位

源地址我们不相信,源端口也信不得了,这个不得不与黑客共舞的疯狂世界上还有什么值得我们信任呢?还好,事情还没到走投无路的地步。对策还是有的,不过这个办法只能用于TCP协议。

TCP是一种可靠的通信协议,“可靠”这个词意味着协议具有包括纠错机制在内的一些特殊性质。为了实现其可靠性,每个TCP连接都要先经过一个“握手”过程来交换连接参数。还有,每个发送出去的包在后续的其他包被发送出去之前必须获得一个确认响应。但并不是对每个TCP包都非要采用专门的ACK包来响应,实际上仅仅在TCP包头上设置一个专门的位就可以完成这个功能了。所以,只要产生了响应包就要设置ACK位。连接会话的第一个包不用于确认,所以它就没有设置ACK位,后续会话交换的TCP包就要设置ACK位了。

举个例子,PC向远端的Web服务器发起一个连接,它生成一个没有设置ACK位的连接请求包。当服务器响应该请求时,服务器就发回一个设置了ACK位的数据包,同时在包里标记从客户机所收到的字节数。然后客户机就用自己的响应包再响应该数据包,这个数据包也设置了ACK位并标记了从服务器收到的字节数。通过监视ACK位,我们就可以将进入网络的数据限制在响应包的范围之内。于是,远程系统根本无法发起TCP连接但却能响应收到的数据包了。

这套机制还不能算是无懈可击,简单地举个例子,假设我们有台内部Web服务器,那么端口80就不得不被打开以便外部请求可以进入网络。还有,对UDP包而言就没法监视ACK位了,因为UDP包压根就没有ACK位。还有一些TCP应用程序,比如FTP,连接就必须由这些服务器程序自己发起。

FTP带来的困难

一般的Internet服务对所有的通信都只使用一对端口号,FTP程序在连接期间则使用两对端口号。第一对端口号用于FTP的“命令通道”提供登录和执行命令的通信链路,而另一对端口号则用于FTP的“数据通道”提供客户机和服务器之间的文件传送。

在通常的FTP会话过程中,客户机首先向服务器的端口21(命令通道)发送一个TCP连接请求,然后执行LOGIN、DIR等各种命令。一旦用户请求服务器发送数据,FTP服务器就用其20端口 (数据通道)向客户的数据端口发起连接。问题来了,如果服务器向客户机发起传送数据的连接,那么它就会发送没有设置ACK位的数据包,防火墙则按照刚才的规则拒绝该数据包同时也就意味着数据传送没戏了。通常只有高级的、也就是够聪明的防火墙才能看出客户机刚才告诉服务器的端口,然后才许可对该端口的入站连接。

UDP端口过滤

好了,现在我们回过头来看看怎么解决UDP问题。刚才说了,UDP包没有ACK位所以不能进行ACK位过滤。UDP 是发出去不管的“不可靠”通信,这种类型的服务通常用于广播、路由、多媒体等广播形式的通信任务。NFS、DNS、WINS、NetBIOS-over-TCP/IP和 NetWare/IP都使用UDP。

看来最简单的可行办法就是不允许建立入站UDP连接。防火墙设置为只许转发来自内部接口的UDP包,来自外部接口的UDP包则不转发。现在的问题是,比方说,DNS名称解析请求就使用UDP,如果你提供DNS服务,至少得允许一些内部请求穿越防火墙。还有IRC这样的客户程序也使用UDP,如果要让你的用户使用它,就同样要让他们的UDP包进入网络。我们能做的就是对那些从本地到可信任站点之间的连接进行限制。但是,什么叫可信任!如果黑客采取地址欺骗的方法不又回到老路上去了吗?

有些新型路由器可以通过“记忆”出站UDP包来解决这个问题:如果入站UDP包匹配最近出站UDP包的目标地址和端口号就让它进来。如果在内存中找不到匹配的UDP包就只好拒绝它了!但是,我们如何确信产生数据包的外部主机就是内部客户机希望通信的服务器呢?如果黑客诈称DNS服务器的地址,那么他在理论上当然可以从附着DNS的UDP端口发起攻击。只要你允许DNS查询和反馈包进入网络这个问题就必然存在。办法是采用代理服务器。

所谓代理服务器,顾名思义就是代表你的网络和外界打交道的服务器。代理服务器不允许存在任何网络内外的直接连接。它本身就提供公共和专用的DNS、邮件服务器等多种功能。代理服务器重写数据包而不是简单地将其转发了事。给人的感觉就是网络内部的主机都站在了网络的边缘,但实际上他们都躲在代理的后面,露面的不过是代理这个假面具。

小结

IP地址可能是假的,这是由于IP协议的源路有机制所带来的,这种机制告诉路由器不要为数据包采用正常的路径,而是按照包头内的路径传送数据包。于是黑客就可以使用系统的IP地址获得返回的数据包。有些高级防火墙可以让用户禁止源路由。通常我们的网络都通过一条路径连接ISP,然后再进入Internet。这时禁用源路由就会迫使数据包必须沿着正常的路径返回。

还有,我们需要了解防火墙在拒绝数据包的时候还做了哪些其他工作。比如,防火墙是否向连接发起系统发回了“主机不可到达”的ICMP消息?或者防火墙真没再做其他事?这些问题都可能存在安全隐患。ICMP“主机不可达”消息会告诉黑客“防火墙专门阻塞了某些端口”,黑客立即就可以从这个消息中闻到一点什么气味。如果ICMP“主机不可达”是通信中发生的错误,那么老实的系统可能就真的什么也不发送了。反过来,什么响应都没有却会使发起通信的系统不断地尝试建立连接直到应用程序或者协议栈超时,结果最终用户只能得到一个错误信息。当然这种方式会让黑客无法判断某端口到底是关闭了还是没有使用。

❼ 其他防火墙对于windows自带防火墙有什么好处

自己安装的比自带的功能强大

一、防火墙能够作到些什么?

1.包过滤

具备包过滤的就是防火墙?对,没错!根据对防火墙的定义,凡是能有效阻止网络非法连接的方式,都算防火墙。早期的防火墙一般就是利用设置的条件,监测通过的包的特征来决定放行或者阻止的,包过滤是很重要的一种特性。虽然防火墙技术发展到现在有了很多新的理念提出,但是包过滤依然是非常重要的一环,如同四层交换机首要的仍是要具备包的快速转发这样一个交换机的基本功能一样。通过包过滤,防火墙可以实现阻挡攻击,禁止外部/内部访问某些站点,限制每个ip的流量和连接数。

2.包的透明转发

事实上,由于防火墙一般架设在提供某些服务的服务器前。如果用示意图来表示就是 Server—FireWall—Guest 。用户对服务器的访问的请求与服务器反馈给用户的信息,都需要经过防火墙的转发,因此,很多防火墙具备网关的能力。

3.阻挡外部攻击

如果用户发送的信息是防火墙设置所不允许的,防火墙会立即将其阻断,避免其进入防火墙之后的服务器中。

4.记录攻击

如果有必要,其实防火墙是完全可以将攻击行为都记录下来的,但是由于出于效率上的考虑,目前一般记录攻击的事情都交给IDS来完成了,我们在后面会提到。

以上是所有防火墙都具备的基本特性,虽然很简单,但防火墙技术就是在此基础上逐步发展起来的。

二、防火墙有哪些缺点和不足?

1.防火墙可以阻断攻击,但不能消灭攻击源。

“各扫自家门前雪,不管他人瓦上霜”,就是目前网络安全的现状。互联网上病毒、木马、恶意试探等等造成的攻击行为络绎不绝。设置得当的防火墙能够阻挡他们,但是无法清除攻击源。即使防火墙进行了良好的设置,使得攻击无法穿透防火墙,但各种攻击仍然会源源不断地向防火墙发出尝试。例如接主干网10M网络带宽的某站点,其日常流量中平均有512K左右是攻击行为。那么,即使成功设置了防火墙后,这512K的攻击流量依然不会有丝毫减少。

2.防火墙不能抵抗最新的未设置策略的攻击漏洞

就如杀毒软件与病毒一样,总是先出现病毒,杀毒软件经过分析出特征码后加入到病毒库内才能查杀。防火墙的各种策略,也是在该攻击方式经过专家分析后给出其特征进而设置的。如果世界上新发现某个主机漏洞的cracker的把第一个攻击对象选中了您的网络,那么防火墙也没有办法帮到您的。

3.防火墙的并发连接数限制容易导致拥塞或者溢出

由于要判断、处理流经防火墙的每一个包,因此防火墙在某些流量大、并发请求多的情况下,很容易导致拥塞,成为整个网络的瓶颈影响性能。而当防火墙溢出的时候,整个防线就如同虚设,原本被禁止的连接也能从容通过了。

4.防火墙对服务器合法开放的端口的攻击大多无法阻止

某些情况下,攻击者利用服务器提供的服务进行缺陷攻击。例如利用开放了3389端口取得没打过sp补丁的win2k的超级权限、利用asp程序进行脚本攻击等。由于其行为在防火墙一级看来是“合理”和“合法”的,因此就被简单地放行了。

5.防火墙对待内部主动发起连接的攻击一般无法阻止

“外紧内松”是一般局域网络的特点。或许一道严密防守的防火墙内部的网络是一片混乱也有可能。通过社会工程学发送带木马的邮件、带木马的URL等方式,然后由中木马的机器主动对攻击者连接,将铁壁一样的防火墙瞬间破坏掉。另外,防火墙内部各主机间的攻击行为,防火墙也只有如旁观者一样冷视而爱莫能助。

6.防火墙本身也会出现问题和受到攻击

防火墙也是一个os,也有着其硬件系统和软件,因此依然有着漏洞和bug。所以其本身也可能受到攻击和出现软/硬件方面的故障。

7.防火墙不处理病毒

不管是funlove病毒也好,还是CIH也好。在内部网络用户下载外网的带毒文件的时候,防火墙是不为所动的(这里的防火墙不是指单机/企业级的杀毒软件中的实时监控功能,虽然它们不少都叫“病毒防火墙”)。

看到这里,或许您原本心目中的防火墙已经被我拉下了神台。是的,防火墙是网络安全的重要一环,但不代表设置了防火墙就能一定保证网络的安全。“真正的安全是一种意识,而非技术!”请牢记这句话。

不管怎么样,防火墙仍然有其积极的一面。在构建任何一个网络的防御工事时,除了物理上的隔离和目前新近提出的网闸概念外,首要的选择绝对是防火墙。那么,怎么选择需要的防火墙呢?

防火墙的分类

首先大概说一下防火墙的分类。就防火墙(本文的防火墙都指商业用途的网络版防火墙,非个人使用的那种)的组成结构而言,可分为以下三种:

第一种:软件防火墙

软件防火墙运行于特定的计算机上,它需要客户预先安装好的计算机操作系统的支持,一般来说这台计算机就是整个网络的网关。软件防火墙就象其它的软件产品一样需要先在计算机上安装并做好配置才可以使用。防火墙厂商中做网络版软件防火墙最出名的莫过于Checkpoint。使用这类防火墙,需要网管对所工作的操作系统平台比较熟悉。

第二种:硬件防火墙

这里说的硬件防火墙是指所谓的硬件防火墙。之所以加上"所谓"二字是针对芯片级防火墙说的了。它们最大的差别在于是否基于专用的硬件平台。目前市场上大多数防火墙都是这种所谓的硬件防火墙,他们都基于PC架构,就是说,它们和普通的家庭用的PC没有太大区别。在这些PC架构计算机上运行一些经过裁剪和简化的操作系统,最常用的有老版本的Unix、Linux和FreeBSD系统。 值得注意的是,由于此类防火墙采用的依然是别人的内核,因此依然会受到os本身的安全性影响。国内的许多防火墙产品就属于此类,因为采用的是经过裁减内核和定制组件的平台,因此国内防火墙的某些销售人员常常吹嘘其产品是“专用的os”等等,其实是一个概念误导,下面我们提到的第三种防火墙才是真正的os专用。

第三种:芯片级防火墙

它们基于专门的硬件平台,没有操作系统。专有的ASIC芯片促使它们比其他种类的防火墙速度更快,处理能力更强,性能更高。做这类防火墙最出名的厂商莫过于NetScreen.其他的品牌还有FortiNet,算是后起之秀了。这类防火墙由于是专用OS,因此防火墙本身的漏洞比较少,不过价格相对比较高昂,所以一般只有在“确实需要”的情况下才考虑。

在这里,特别纠正几个不正确的观念:

1.在性能上,芯片级防火墙>硬件防火墙>软件防火墙。

在价格上看来,的确倒是如此的关系。但是性能上却未必。防火墙的“好”,是看其支持的并发数、最大流量等等性能,而不是用软件硬件来区分的。事实上除了芯片级防火墙外,软件防火墙与硬件防火墙在硬件上基本是完全一样的。目前国内的防火墙厂商由于大多采用硬件防火墙而不是软件防火墙,原因1是考虑到用户网络管理员的素质等原因,还有就是基于我国大多数民众对“看得见的硬件值钱,看不到的软件不值钱”这样一种错误观点的迎合。不少硬件防火墙厂商大肆诋毁软件防火墙性能,不外是为了让自己那加上了外壳的普通pc+一个被修改后的内核+一套防火墙软件能够卖出一个好价钱来而已。而为什么不作芯片级防火墙呢?坦白说,国内没有公司有技术实力。而且在中国市场上来看,某些国内的所谓硬件防火墙的硬件质量连diy的兼容机都比不上。看看国内XX的硬件防火墙那拙劣的硬盘和网卡,使用过的人都能猜到是哪家,我就不点名了。真正看防火墙,应该看其稳定性和性能,而不是用软、硬来区分的。至少,如果笔者自己选购,我会选择购买CheckPoint而非某些所谓的硬件防火墙的。

2.在效果上,芯片防火墙比其他两种防火墙好

这同样也是一种有失公允的观点。事实上芯片防火墙由于硬件的独立,的确在OS本身出漏洞的机会上比较少,但是由于其固化,导致在面对新兴的一些攻击方式时,无法及时应对;而另外两种防火墙,则可以简单地通过升级os的内核来获取系统新特性,通过灵活地策略设置来满足不断变化的要求,不过其OS出现漏洞的概率相对高一些。

3.唯技术指标论

请以“防火墙买来是使用的”为第一前提进行购买。防火墙本身的质量如何是一回事,是否习惯使用又是另一回事。如果对一款产品的界面不熟悉,策略设置方式不理解,那么即使用世界最顶级的防火墙也没有多大作用。就如小说中武林中人无不向往的“倚天剑”、“屠龙刀”被我拿到,肯定也敌不过乔峰赤手的少林长拳是一般道理。防火墙技术发展至今,市场已经很成熟了,各类产品的存在,自然有其生存于市场的理由。如何把产品用好,远比盲目地比较各类产品好。

IDS

什么是IDS呢?早期的IDS仅仅是一个监听系统,在这里,你可以把监听理解成窃听的意思。基于目前局网的工作方式,IDS可以将用户对位于与IDS同一交换机/HuB的服务器的访问、操作全部记录下来以供分析使用,跟我们常用的widnows操作系统的事件查看器类似。再后来,由于IDS的记录太多了,所以新一代的IDS提供了将记录的数据进行分析,仅仅列出有危险的一部分记录,这一点上跟目前windows所用的策略审核上很象;目前新一代的IDS,更是增加了分析应用层数据的功能,使得其能力大大增加;而更新一代的IDS,就颇有“路见不平,拔刀相助”的味道了,配合上防火墙进行联动,将IDS分析出有敌意的地址阻止其访问。

就如理论与实际的区别一样,IDS虽然具有上面所说的众多特性,但在实际的使用中,目前大多数的入侵检测的接入方式都是采用pass-by方式来侦听网络上的数据流,所以这就限制了IDS本身的阻断功能,IDS只有靠发阻断数据包来阻断当前行为,并且IDS的阻断范围也很小,只能阻断建立在TCP基础之上的一些行为,如Telnet、FTP、HTTP等,而对于一些建立在UDP基础之上就无能为力了。因为防火墙的策略都是事先设置好的,无法动态设置策略,缺少针对攻击的必要的灵活性,不能更好的保护网络的安全,所以IDS与防火墙联动的目的就是更有效地阻断所发生的攻击事件,从而使网络隐患降至较低限度。

接下来,我简单介绍一下IDS与防火墙联动工作原理

入侵检测系统在捕捉到某一攻击事件后,按策略进行检查,如果策略中对该攻击事件设置了防火墙阻断,那么入侵检测系统就会发给防火墙一个相应的动态阻断策略,防火墙根据该动态策略中的设置进行相应的阻断,阻断的时间、阻断时间间隔、源端口、目的端口、源IP和目的IP等信息,完全依照入侵检测系统发出的动态策略来执行。一般来说,很多情况下,不少用户的防火墙与IDS并不是同一家的产品,因此在联动的协议上面大都遵从 opsec 或者 topsec协议进行通信,不过也有某些厂家自己开发相应的通信规范的。目前总得来说,联动有一定效果,但是稳定性不理想,特别是攻击者利用伪造的包信息,让IDS错误判断,进而错误指挥防火墙将合法的地址无辜屏蔽掉。

因为诸多不足,在目前而言,IDS主要起的还是监听记录的作用。用个比喻来形容:网络就好比一片黑暗,到处充满着危险,冥冥中只有一个出口;IDS就象一支手电筒,虽然手电筒不一定能照到正确的出口,但至少有总比没有要好一些。称职的网管,可以从IDS中得到一些关于网络使用者的来源和访问方式,进而依据自己的经验进行主观判断(注意,的确是主观判断。例如用户连续ping了服务器半个小时,到底是意图攻击,还是无意中的行为?这都依据网络管理员的主观判断和网络对安全性的要求来确定对应方式。)对IDS的选择,跟上面谈到的防火墙的选择类似,根据自己的实际要求和使用习惯,选择一个自己够用的,会使用的就足够了。

最后,要说的依然是那句“世界上没有一种技术能真正保证绝对地安全。”安全问题,是从设备到人,从服务器上的每个服务程序到防火墙、IDS等安全产品的综合问题;任何一个环节工作,只是迈向安全的步骤。
参考资料:TechTarget中文网

❽ 求个用C++编写的包过滤防火墙

................................................................................................................
建议你去研究LINUX的IPTABLES

❾ windows系统中自带的防火墙属于什么防火墙

(一)可以让你根据不同使用环境自定义安全规则
在不同的电脑使用环境中用户对防火墙的安全性的要求也不同,比如在办公室或是家庭的局域网中,为方便局域网内用户互相传送文件或一起玩游戏,不需要太高的防火墙安全规则;而经常抱着笔记本到处使用公共Wifi连接上网的时候则不希望任何外部连接接入自己的计算机,需要设置比较高的防火墙安全规则。而 Win7自带的防火墙就提供可以针对不同的网络环境轻松进行不同定义设置。你只需要点击Win7防火墙主界面左侧的“打开或关闭Windows防火墙”即可打开防火墙的自定义界面,在这里用户可以分别对家庭或工作局域网以及公用网络设置不同的安全规则。
在两个网络中用户都有“启用”和“关闭”两个选择,也就是启用或者是禁用Windows防火墙。启用防火墙下还有两个复选框,一个是“阻止所有传入连接,包括位于允许程序列表中的程序”,另一个是“Windows防火墙阻止新程序时通知我”。当用户进入到一个不太安全的网络环境时,可以选中“阻止所有传入连接”这个勾选框,禁止一切外部连接,即使是Windows防火墙设为“例外”的服务也会被阻止,为复杂环境中的计算机轻松提供严密的安全保护。
(二)支持详细的软件个性化设置,用户可以单独允许某个程序通过防火墙进行通讯。
点击Win7防火墙主界面左侧菜单中的“允许程序或功能通过Windows防火墙”,列表中可以看到常用的网络软件,我们可以在这里通过勾选复选框允许或者阻止某个程序软件在家庭或者公用网络中的通信状态。如果需要添加允许通过Win7防火墙的程度或功能,只需要点击右下角“允许运行另一程序”按钮,即可设置需要通过防火墙的程序。
在“添加程序”界面中,我们可以手动选择程序列表中的程序,如有些程序没有出现在列表中,还可以点击“浏览”按钮手动选择该程序所在地址。
(三)支持还原默认设置
当用户用户对防火墙设置不当,并且造成系统无法访问网络的状况,但是用户又不清楚到底怎么设置导致某些应用无法正常工作或者无法访问网络,可以点击Win7防火墙主界面左侧的“还原默认设置”,将防火墙配置恢复到Win7防火墙的默认状态。
简而言之,Win7系统具有丰富的创新功能、卓越的兼容性,其性能安全稳定,操作方式简单、安全、便捷,可以随时检查网络信息,根据设置灵活阻止或允许信息通过计算机。用好Win7防火墙,不仅有助于防止黑客或恶意软件(如蠕虫)通过网络访问计算机,帮助阻止计算机向其他计算机发送恶意软件,同时灵活的设置也能保证在安全的同时顺畅使用网络和程序及应用。

❿ 包过滤防火墙可以实现基于什么级别的控制

就是基于数据包中的IP地址、端口地址的过滤,比较简单。但是现在已经不适用了,很多软件都是自动转换端口的,所以现在都是第二代防火墙,基于应用层的数据进行控制。你搜下WFilter NGF下一代防火墙就知道了。

阅读全文

与windows基于包过滤的防火墙相关的资料

热点内容
大连树脂美牙 浏览:659
污水处理费怎么算 浏览:371
过滤器目会影响压力吗 浏览:168
饮水机的上水管是多少 浏览:675
超滤机不能过滤什么 浏览:991
乙烷蒸馏 浏览:321
up120前置过滤桶怎么安装 浏览:41
抚州如何处理污水 浏览:538
今麦郎软化纯净水正常温度是多少 浏览:872
中国是全球污水排放 浏览:920
进ro膜对ss有要求吗 浏览:761
用实际监测怎样算污水排污量 浏览:333
污水泵抽水怎么做 浏览:796
半透膜筒料 浏览:735
污水运行法规 浏览:378
消失模铸造用树脂砂 浏览:618
巩义污水处理费怎么收取的 浏览:225
饮水机从上盖溢水怎么回事 浏览:76
济南水景水处理设备 浏览:248
辐射水蒸馏后 浏览:63