网站公告列表

  没有公告

加入收藏
设为首页
在线投稿

您现在的位置: IT知识网 >> IT知识 >> 网络安全 >> 防火墙 >> 文章正文

 

  Firewall的原理           

Firewall的原理
作者:佚名 文章来源:不详 点击数: 更新时间:2006-12-4 16:00:59
各公司都有各自的FIREWALL产品,而且在各平台下都有不同的FIREWALL。我们不可能接触到所有类型的FIREWALL,因此我在此就FIREWALL的原理与大家讨论讨论。

  各公司的FIREWALL之间有一定的差异,但原理是相通的。现有的FIREWALL大致分为两种:基于包过滤方式的;基于应用级别的(比如PROXY)。下面分别就这两种FIREWALL做一些说明。

  基于包过滤方式的FIREWALL:

  在Internet上走的基本上是IP包,FIREWALL都是对IP包进行过滤的,TCP、UDP、ICMP等都是封装在IP包之内的,所以基于IP包过滤的FIREWALL能够很好的控制进出站的TCP、UDP、ICMP包。
IP包通过基于包过滤方式的FIREWALL时并没有被隔断(这是与PROXY的最大区别),过滤的法则只能控制某个IP包能否进站或出站。

  配置基于包过滤方式的FIREWALL,需要对IP、TCP、UDP、ICMP等各种协议有一定程度的了解(更确切的说是需要有很深入的了解)。下面我们就一个例子来说明基于包过滤方式的FIREWALL是怎么工作的:

  假设我们希望在FIREWALL内部的安全网络的用户能TELNET到FIREWALL外部的非安全网络,而不希望非安全网络的用户TELNET到安全网络。

  首先我们看看一个TELNET连接是怎样建立的:

  在CLIENT端发起一个TELNET连接到SERVER端,首先CLIENT端打开一个大于1023的TCP端口,向SERVER端23端口发出一个连接请求(SYN),如果SERVER端允许23端口连接,那么SERVER端的23端口向CLINET端的大于1023的TCP端口发出一个允许连接的回应(SYN/ACK),最后CLIENT端的大于1023的端口向SERVER端的23端口发出一个确认连接的数据包(ACK)。这称为TCP的三步握手。上面的ACK标志说明前一个TCP包已经被接收到;SYN的意思是表示这一次的连接是新建的。

  FIREWALL正是利用这两个标志来限制某些连接的。我们用下面的方式来定义一个TCP连接:

$#@60; Source Address,Source Port,Destination Address,Destination
Port$#@62;

  要注意的是:建立TCP连接的第一个包没有ACK标志酉吕吹幕赜Π蠥CK标志,这就可以决定一个TCP连接的方向。
我们打算让FIREWALL内部的安全网络的CLIENT端能够用TELNET访问FIREWALL外部的非安全网络的SERVER端,而不允许非安全网络TELNET进安全网络,那我们可以建立以下的法则来实现:

  1 拒绝所有的TCP连接

  2 允许源IP地址为安全网段的TCP端口大于1023,目的IP地址为0.0.0.0(所有IP地址)TCP端口等于23的TCP包从FIREWALL内部经FIREWALL出站。

  3 允许源IP地址为0.0.0.0、TCP端口等于23,目的IP地址为安全网段IP、目的TCP端口大于1023的TCP/ACK包从FIREWALL外部经FIREWALL进站。

  这样我们就可以很霸道的使用Internet了,我能TELNET你,而你不能TELNET我。UDP和TCP类似。

  ICMP叫做消息控制协议,这个协议的主要应用是察看目标主机的信息(PING),还有目标网络的信息(TRACEROUTE)。ICMP对应用程序来说并不重要,当然有一小部分的应用程序用PING来察看目标主机是否活动。但ICMP对暴露我们的网络结构有很大的威胁。我们也能像过滤TCP包一样过滤ICMP包,做到我能PING你,而你不能PING我。

  包过滤是基于IP地址,各种协议端口(TCP、UDP、ICMP)来过滤包的,它可以防止IP欺骗,半开扫描等等攻击。

  基于应用级别的FIREWALL(PROXY),也许更为大家所熟悉。IP包在FIREWALL中是断开的,当内部网络向外部网络申请一个连接时,PROXY截断了这个申请,并以自己的身份向目标申请连接,最后把结果返回内部网络。PROXY的最大缺点是不支持UDP(我没见过哪个PROXY支持UDP)。

  我所见过的PROXY有HTTP,HTTPS,FTP,TELNET,SMTP,SOCK等等。

  SOCK代理能用于任何应用,但必须在CLIENT端加装SOCK CLIENT,这在WINDOWS下很容易实现,但是在UNIX中就有点麻烦了,我一直找不到UNIX下的SOCK CLIENT。而且SOCK PROXY还和一些应用不兼容----微软建议:不要把EXCHANGE SERVER和MS PROXY CLIENT端装在一台NT机上。


文章录入:bolang    责任编辑:bolang 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最 新 热 门
    相 关 文 章
    OSPF MULTI AREA 实验
    multiple ospf area实验
    use a route-map to lim
    回拨测试config
    CiscoAironet天线和附件
    Cisco路由器上配置WRED的
    Re:請教一下IOS files的
    Configuring Secure She
    Cisco路由器auto secure
    Configuring Secure She
     
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    Copyright© ITZS.NET All Rights Reserved
    QQ:272895858   ICP备案编号:吉ICP备07000044号
    IT知识网 站长:博浪