当前位置:Linux教程 - 基础知识 - 防火墙基础知识

防火墙基础知识



        
    (一)防火墙概念

    防火墙不只是一种路由器、主系统或一批向网络提供安全性的系统。相反,防火墙是一种获取安全性的方法;它有助于实施一个比较广泛的安全性政策,用以确定允许提供的服务和访问。就网络配置、一个或多个主系统和路由器以及其他安全性措施(如代替静态口令的先进验证)来说,防火墙是该政策的具体实施。防火墙系统的主要用途就是控制对受保护的网络(即网点)的往返访问。它实施网络访问政策的方法就是逼使各连接点通过能得到检查和评估的防火墙。
    ____________ ___________
    | | | |
    | Computer | | Computer |
    |__________| |___________| ____________ ________
    | | |应 | |Packet |
    ______|________________|__________| 用 |_____|Filter |___Internet
    | 网 | |Router |
    网点系统 | 关 | |________|
    |__________|


    路由器和应用网关防火墙范例


    防火墙系统可以是路由器,也可以是个人主机、主系统和一批主系统,专门把网

    络或子网同那些可能被子网外的主系统滥用的协议和服务隔绝。防火墙系统通常位于等

    级较高的网关如网点与Internet的连接处,但是防火墙系统可以位于等级较低的网关,

    以便为某些数量较少的主系统或子网提供保护。

    防火墙基本上是一个独立的进程或一组紧密结合的进程,运行于Router or Server

    来控制经过防火墙的网络应用程序的通信流量。一般来说,防火墙置于公共网络(如Inter-

    -net)人口处。它可以看作是交通警察。它的作用是确保一个单位内的网络与Internet之间

    所有的通信均符合该单位的安全方针。这些系统基本上是基于TCP/IP,并与实现方法有关

    ,它能实施安全路障并为管理人员提供对下列问题的答案:

    * 谁在使用网络?

    * 他们在网上做什么?

    * 他们什么时间使用过网络?

    * 他们上网时去了何处?

    * 谁要上网但没有成功?
    (二)采用防火墙的必要性

    引入防火墙是因为传统的子网系统会把自身暴露给NFS或NIS等先天不安全的服务,并

    受到网络上其他地方的主系统的试探和攻击。在没有Firewall的环境中,网络安全性完

    全依赖主系统安全性。在一定意义上,所有主系统必须通力协作来实现均匀一致的高级

    安全性。子网越大,把所有主系统保持在相同安全性水平上的可管理能力就越小。随着

    安全性的失误和失策越来越普遍,闯入时有发生,这不是因为受到多方的攻击,而仅仅

    是因为配置错误、口令不适当而造成的。

    防火墙能提高主机整体的安全性,因而给站点带来了众多的好处。以下是使用防火墙

    的好处:

    1.防止易受攻击的服务

    防火墙可以大大提高网络安全性,并通过过滤天生不安全的服务来降低子网上主系

    统所冒的风险。因此,子网网络环境可经受较少的风险,因为只有经过选择的协议才能

    通过Firewall。

    For example, Firewall 可以禁止某些易受攻击的服务(如NFS)进入或离开受保护

    的子网。这样得到的好处是可防护这些服务不会被外部攻击者利用。而同时允许在大大

    降低被外部攻击者利用的风险情况下使用这些服务。对局域网特别有用的服务如NIS或

    NFS因而可得到公用,并用来减轻主系统管理负担。

    防火墙还可以防护基于路由选择的攻击,如源路由选择和企图通过ICMP改向把发送

    路径转向遭致损害的网点。防火墙可以排斥所有源点发送的包和ICMP改向,然后把偶发

    事件通知管理人员。


    2.控制访问网点系统

    防火墙还有能力控制对网点系统的访问。例如,某些主系统可以由外部网络访问

    ,而其他主系统则能有效地封闭起来,防护有害的访问。除了邮件服务器或信息服务器

    等特殊情况外,网点可以防止外部对其主系统的访问。

    这就把防火墙特别擅长执行的访问政策置于重要地位:不访问不需要访问的主系

    统或服务。当不用访问或不需要访问时,为什么要提供能由攻击者利用的主系统和服务

    访问呢?例如,如果用户几乎不需要通过网络访问他的台式工作站,那么,防火墙就可

    执行这一政策。


    3.集中安全性

    如果一个子网的所有或大部分需要改动的软件以及附加的安全软件能集中地放在

    防火墙系统中,而不是分散到每个主机中,这样防火墙的保护就相对集中一些,也相对

    便宜一点。尤其对于密码口令系统或其他的身份认证软件等等,放在防火墙系统中更是

    优于放在每个Internet能访问的机器上。

    当然,还有一些关于网络安全的出来方法,比如Kerberos,包含了每个主机系统的

    改动。也许,在某些特定场合,Kerberos或其他类似的技术比防火墙系统更好一些。但

    有一点不容忽视,由于只需在防火墙上运行特定的软件,防火墙系统实现起来要简单的

    多。


    4.增强的保密、强化私有权

    对一些站点而言,私有性是很重要的,因为,某些看似不甚重要的信息往往回成

    为攻击者灵感的源泉。使用防火墙系统,站点可以防止finger 以及DNS域名服务。fing-

    -er会列出当前使用者名单,他们上次登录的时间,以及是否读过邮件等等。但finger

    同时会不经意地告诉攻击者该系统的使用频率,是否有用户正在使用,以及是否可能发

    动攻击而不被发现。

    防火墙也能封锁域名服务信息,从而是Internet外部主机无法获取站点名和Ip地

    址。通过封锁这些信息,可以防止攻击者从中获得另一些有用信息。


    5.有关网络使用、滥用的记录和统计

    如果对Internet的往返访问都通过防火墙,那么,防火墙可以记录各次访问,并

    提供有关网络使用率的有价值的统计数字。如果一个防火墙能在可疑活动发生时发出音

    响报警,则还提供防火墙和网络是否受到试探或攻击的细节。

    采集网络使用率统计数字和试探的证据是很重要的,这有很多原因。最为重要的是

    可知道防火墙能否抵御试探和攻击,并确定防火墙上的控制措施是否得当。网络使用率

    统计数字也很重要的,因为它可作为网络需求研究和风险分析活动的输入。


    6.政策执行

    最后,或许最重要的是,防火墙可提供实施和执行网络访问政策的工具。事实上,

    防火墙可向用户和服务提供访问控制。因此,网络访问政策可以由防火墙执行,如果没

    有防火墙,这样一种政策完全取决于用户的协作。网点也许能依赖其自己的用户进行协

    作,但是,它一般不可能,也不依赖Internet 用户
    (三)防火墙的构成

    防火墙的主要组成部分有:

    3.1 * 网络政策;
    3.2 * 先进的验证工具;
    3.3 * 包过滤;
    3.4 * 应用网关;


    3.1 网络政策

    有两级网络政策会直接影响防火墙系统的设计、安装和使用。高级政策是一种发

    布专用的网络访问政策,它用来定义那些有受限制的网络许可或明确拒绝的服务,如何

    使用这些服务以及这种政策的例外条件。低级政策描述防火墙实际上如何尽力限制访问

    ,并过滤在高层政策所定义的服务。以下是这些政策的描述。


    3.1.1 服务访问政策

    服务访问政策应集中与上面定义的Internet专用的使用问题,或许也应集中与所

    有的外部网络访问问题(即拨入政策以及SLIP和PPP连接)。这种政策应当是整个机构有关

    保护机构信息资源政策的延伸。要使防火墙取得成功,服务访问政策必须既切合实际,

    又稳妥可靠,而且应当在实施防火墙前草拟出来。切合实际的政策是一个平衡的政策,

    既能防护网络免受已知风险,而且仍能使用户利用网络资源。如果防火墙系统拒绝或限

    制服务,那么,它通常需要服务访问政策有力量来防止防火墙的访问控制措施不会受到

    带针对的修改。只有一个管理得当的稳妥可靠政策才能做到这一点。

    防火墙可以实施各种不同的服务访问政策,但是,一个典型的政策可以不允许从

    Internet访问网点,但要允许从网点访问Internet。另一个典型政策是允许从Internet

    进行某些访问,但是或许只许可访问经过选择的系统,如信息服务器和电子邮件服务器

    。防火墙常常实施允许某些用户从Internet访问经过选择的内部主系统的服务访问政策,

    但是,这种访问只是在必要时,而且只能与先进的验证措施组合时才允许进行。


    3.1.2 防火墙设计政策


    防火墙设计政策是防火墙专用的。它定义用来实施服务访问政策的规则。一个人

    不可能在完全不了解防火墙能力和限制以及与TCP/IP相关联的威胁和易受攻击性等问题

    的真空条件下设计这一政策。防火墙一般实施两个基本设计方针之一:


    1. 拒绝访问除明确许可以外的任何一种服务;也即是拒绝一切未予特许的东西

    2. 允许访问除明确拒绝以外的任何一种服务;也即是允许一切未被特别拒绝的东西


    如果防火墙采取第一种安全控制的方针,那么,需要确定所有可以被提供的服务以及

    它们的安全特性,然后,开放这些服务,并将所有其它未被列入的服务排斥在外,禁止

    访问。如果防火墙采取第二中安全控制的方针,则正好相反,需要确定那些认为是不安全

    的服务,禁止其访问;而其它服务则被认为是安全的,允许访问。


    比较这两种政策,我们可以看到,第一种比较保守,遵循\"我们所不知道的都会伤害

    我们\"的观点,因此能提供较高的安全性。但是,这样一来,能穿过防火墙为我们所用的

    服务,无论在数量上还是类型上,都受到很大的限制。第二种则较灵活,虽然可以提供

    较多的服务,但是,所存在的风险也比第一种大。对于第二种政策,还有一个因素值得

    考虑,即受保护网络的规模。当受保护网络的规模越来越大时,对它进行完全监控就会

    变得越来越难。因此,如果网络中某成员绕过防火墙向外提供以被防火墙所禁止的服务

    ,网络管理员就很难发现。For example : 有一用户,他有权不从标准的Telnet端口(po-

    -rt 23)来提供Telnet服务,而是从另一个Port来提供此服务,由于标准的Telnet端口已

    被防火墙所禁止,而另一Port没有被禁止。这样,虽然防火墙主观上想禁止提供Telnet

    服务,但实际上却没有达到这种效果。因此,采用第二种政策的防火墙不仅要防止外部

    人员的攻击,而且要防止内部成员不管是有意还是无意的攻击。

    总的来说,从安全性的角度考虑,第一种政策更可取一些;而从灵活性和使用方

    便性的角度考虑,则第二种政策更适合。
    (三)防火墙的构成(续1)


    3.2 先进的验证

    多年来,管理员劝告用户要选择那些难以猜测的口令,并且不泄露其口令。但是,

    即使用户接受这一劝告(而很多人不接受这劝告),入侵者可以监视并确实监视Internet

    来获取明文传输口令这一事实也反映传统的口令已经过时。

    先进的验证措施,如智能卡、验证令牌、生物统计学和基于软件的工具以被用来克

    服传统口令的弱点。尽管验证技术个不相同,但都是相类似的,因为由先进验证装置产

    生的口令不能由监视连接的攻击者重新使用。如果Internet上的口令问题是固有的话,

    那么,一个可访问Internet的防火墙,如果不使用先进验证装置或不包含使用先进验证

    装置的挂接工具,则是几乎没有意义的。

    当今使用的一些比较流行的先进验证装置叫做一次性口令系统。例如,智能卡或验证

    牌产生一个主系统可以用来取代传统口令的响应信号。由于令牌或智能卡是与主系统上的

    软件或硬件协同工作,因此,所产生的响应对每次注册都是独一无二的。其结果是一种

    一次性口令。这种口令如果进行监控的话,就不可能被侵入者重新使用来获得某一帐号。


    由于防火墙可以集中并控制网点访问,因而防火墙是安装先进的验证软件或硬件的合

    理场所。虽然先进验证措施可用于每个主系统,但是,把各项措施都集中到防火墙更切

    合实际,更便于管理。下图表明,一个不使用先进验证措施的防火墙的网点,允许TELNET

    或FTP等未经验证的应用信息量直接传送到网点系统。如果主系统不使用先进验证措施,

    则入侵者可能企图揭开口令奥秘,或者能监视网络进行的包括有口令的注册对话。图还

    显示出一种备有使用先进验证措施的防火墙的网点,以致从Internet发送到网点系统的

    TELNET 或FTP对话都必须通过先进的验证才允许到达网点系统。网点系统可能仍然需要

    静态口令才允许访问,但是,只要先进的验证措施和其他防火墙组成部分可防护入侵者

    渗透或绕过防火墙,这些口令就不会被利用,即使口令受到监视也是如此。
    __________
    | |
    |Computer|
    |________|
    未经验证的TELNET |
    FTP信息量 ∧ |
    <----------------- __________ ---> ____________ ‖ |
    __________________‖__| |_______| |_________‖___|_________
    | ‖ |Internet| | Firewall |--------------------->
    | ∨ |________| |__________| 防火墙系统
    _____|____ 带先进验证软件
    | | 经过验证的TELNET
    |Computer| FTP信息量
    |________|

    (三)防火墙的构成(续2)

    3.3 包过滤

    包过滤技术(Ip Filtering or packet filtering) 的原理在于监视并过滤网络上

    流入流出的Ip包,拒绝发送可疑的包。由于Internet 与Intranet 的连接多数都要使用

    路由器,所以Router成为内外通信的必经端口,Router的厂商在Router上加入IP Filte-

    -ring 功能,这样的Router也就成为Screening Router 或称为Circuit-level gateway

    网络专家Steven.M.Bellovin认为这种Firewall 应该是足够安全的,但前提是配置合理。

    然而一个包过滤规则是否完全严密及必要是很难判定的,因而在安全要求较高的场合,

    通常还配合使用其它的技术来加强安全性。

    Router 逐一审查每份数据包以判定它是否与其它包过滤规则相匹配。(注:只检查

    包头的内容,不理会包内的正文信息内容) 过滤规则以用于IP顺行处理的包头信息为基

    础。包头信息包括: IP 源地址、IP目的地址、封装协议(TCP、UDP、或IP Tunnel)、

    TCP/UDP源端口、ICMP包类型、包输入接口和包输出接口。如果找到一个匹配,且规则允

    许这包,这一包则根据路由表中的信息前行。如果找到一个匹配,且规则允许拒绝此包,

    这一包则被舍弃。如果无匹配规则,一个用户配置的缺省参数将决定此包是前行还是被

    舍弃。

    *从属服务的过滤

    包过滤规则允许Router取舍以一个特殊服务为基础的信息流,因为大多数服务检测

    器驻留于众所周知的TCP/UDP端口。例如,Telnet Service 为TCP port 23端口等待远程

    连接,而SMTP Service为TCP Port 25端口等待输入连接。如要封锁输入Telnet 、SMTP

    的连接,则Router舍弃端口值为23,25的所有的数据包。

    典型的过滤规则有以下几种:

    .允许特定名单内的内部主机进行Telnet输入对话

    .只允许特定名单内的内部主机进行FTP输入对话

    .只允许所有Telnet 输出对话

    .只允许所有FTP 输出对话

    .拒绝来自一些特定外部网络的所有输入信息

    * 独立于服务的过滤

    有些类型的攻击很难用基本包头信息加以鉴别,因为这些独立于服务。一些Router

    可以用来防止这类攻击,但过滤规则需要增加一些信息,而这些信息只有通过以下方式才

    能获悉:研究Router选择表、检查特定的IP选项、校验特殊的片段偏移等。这类攻击有

    以下几种:

    .源IP地址欺骗攻击

    入侵者从伪装成源自一台内部主机的一个外部地点传送一些信息包;这些信息包似

    乎像包含了一个内部系统的源IP地址。如果这些信息包到达Router的外部接口,则舍弃每

    个含有这个源IP地址的信息包,就可以挫败这种源欺骗攻击。

    .源路由攻击

    源站指定了一个信息包穿越Internet时应采取的路径,这类攻击企图绕过安全措施

    ,并使信息包沿一条意外(疏漏)的路径到达目的地。可以通过舍弃所有包含这类源路由

    选项的信息包方式,来挫败这类攻击。

    .残片攻击

    入侵者利用Ip残片特性生成一个极小的片断并将TCP报头信息肢解成一个分离的信

    息包片断。舍弃所有协议类型为TCP、IP片断偏移值等于1的信息包,即可挫败残片的攻

    击。

    从以上可看出定义一个完善的安全过滤规则是非常重要的。通常,过滤规则以表

    格的形式表示,其中包括以某种次序排列的条件和动作序列。每当收到一个包时,则按

    照从前至后的顺序与表格中每行的条件比较,直到满足某一行的条件,然后执行相应的

    动作(转发或舍弃)。有些数据包过滤在实现时,\"动作\"这一项还询问,若包被丢弃是否

    要通知发送者(通过发ICMP信息),并能以管理员指定的顺序进行条件比较,直至找到满足

    的条件。以下是两个例子:

    * 例 一

    某公司有一个B类地址 123.45.0.0,它不希望Internet上的其他站点对它进行访问。

    但是,该公司网中有一个子网123.45.6.0 用于和某大学合作开发项目,该大学有一个B

    类地址 135.79.0.0 ,并希望大学的各个子网都能访问123.45.6.0 子网。但是,由于

    135.79.99.0 子网中存在着不安全因素,因此,它除了能访问123.45.6.0 子网之外,不

    能访问公司网中的其它子网。为了简单起见,假定只有从大学到公司的包,表一中列出

    了所需的规则集。

    表 一

    规 则 源 地 址 目 的 地 址 动 作

    A 135.79.0.0 123.45.6.0 permit

    B 135.79.99.0 123.45.0.0 deny

    C 0.0.0.0 0.0.0.0 deny


    其中0.0.0.0代表任何地址,规则C是缺省规则,若没有其它的规则可满足,则应用

    此规则。如果还有从公司到大学的包,相对称的规则应加入到此表格中,即源地址与目的

    地址对调,再定义相应的动作。

    现在,我们按照规则ABC的顺序来进行过滤和按照BAC的顺序来进行过滤后采取的动作

    的结果如表二所示(注意:两种动作的结果有不同)

    表 二

    Packet 源 地 址 目 的 地 址 希望的动作 执行ABC后 执行BAC后

    1 135.79.99.1 123.45.1.1 deny deny(B) deny(B)

    * 2 135.79.99.1 123.45.6.1 permit permit(A) deny(B)

    3 135.79.1.1 123.45.6.1 permit permit(A) permit(A)

    4 135.79.1.1 123.45.1.1 deny deny(C) deny(c)


    从表二可以看出,以ABC的顺序来应用规则的Router能达到预想的结果: 从

    135.79.99.0子网到公司网的包(如包1)都被拒绝(根据规则B),从135.79.99.0子网到

    123.45.6.0子网的包(如包2)将被转发(根据规则A),从大学中的其它子网到123.45.6.0

    的子网包(如包3)也将被转发(根据规则A),从大学中的其它子网到公司中的其它字网的

    包(如包4)都被拒绝(根据规则C)。若以BAC的顺序来应用规则,则不能达到预计的目的。

    实际上,在上面的规则外集中存在着一个小错误,正是由于这个错误,导致了以

    ABC的顺序和以BAC的顺序来应用规则而出现了不同的结果。该错误就是:规则B似乎用于

    限制135.79.99.0子网访问公司网,但实际上这是多余的。如果将这条规则去掉,那么

    顺序ABC和BAC都将归结为AC顺序。以AC的顺序进行过滤后的结果如表三所示。


    表 三

    Packet 源 地 址 目 的 地 址 希望的动作 AC 动作

    1 135.79.99.1 123.45.1.1 deny deny(C)

    2 135.79.99.1 123.45.6.1 permit permit(A)

    3 135.79.1.1 123.45.6.1 permit permit(A)

    4 135.79.1.1 123.45.1.1 deny deny(C)




    * 例 二

    ________
    | | Network 199.245.180.0 ______________
    |______| _________ | |
    _________|_______________________________|Packet |______| Internet |
    ___|____ ___|___ |Filter | |____________|
    | | | | |router |
    |______| |_____| |_______|

    图 一


    如图一所示的网络,由包过滤的Router作为在内部被保护的网络与外部不安全的网

    络之间的第一道防线。假设网络的安全策略为:从外部主机来的Internet Mail 在一个指

    定的网关上接收,同时你不信任外部网络上一个名叫HPVC的主机,准备拒绝任何由它发

    起的网络通信。

    本例中,关于使用SMTP的网络安全策略必须转移为包过滤规则。可以将网络安全规

    则转换成下述用语言表示的规则:

    规则1: 拒绝从主机HPVC发起的连接。

    规则2:允许连接到我们的E-Mail网关。

    这些规则可以用下面的表四来表示。星号(*)表示可以匹配该列的任何值。


    表 四

    规则 动作 本地 本地 远地主机 远地 说明
    序号 主机 端口号 端口号

    1 Block * * HPVC * Block traffic from
    HPVC

    2 Allow Mail-GW 25 * * Allow Connection to Our
    Mail gateway


    对于表四所示的规则1而言,在远地主机栏中填入了HPVC,而其它所有栏的内容

    都是星号;在动作栏填入阻塞。这条规则的意义可以理解为:阻塞所有从远地主机HPVC

    发起的从它的任意端口到我们本地任意主机的任意端口的连接。

    对于表四所示的规则2而言,在本地主机和本地端口号两栏中都有内容,而其它栏

    都是星号;在动作栏填入允许。这个规则的意义可以理解为:允许从任意远地主机的任

    意端口发起的到本地主机Mail-GW的25号端口连接(端口25是为SMTP保留的)

    规则是按照它们在表中的顺序来执行的。如果一个分组不符合任何规则,则它将被

    拒绝。

    在表四中对规则的描述有一个严重的问题,它允许任意外部主机从端口25发起一个

    呼叫。端口25是为SMTP保留的,但是一个外部主机有可能利用这个权利从事其它活动。

    这条规则的一个更好的描述方案是允许本地主机发起呼叫,同远地主机的端口25进行通

    信。这使得本地主机可以向远地站点发送电子邮件。如果远地主机不是用端口25执行

    SMTP,则SMTP的发送进程将不能发送电子邮件。这等价与远地主机不支持电子邮件。

    一个TCP连接是一个全双工连接,信息双向流动。在表四所示的包过滤规则中没有

    明确指定被发送报文分组中信息的传递方向,即是从本地主机发送远地站点,还是从远

    地站点发送到本地主机。

    当一个TCP包在某一个方向上传递时,它必须被接收方确认。接收方通过设置TCP ACK

    标志来发送应答帧。TCP ACK标志也被用来确认TCP建立连接请求,ACK包将在所有TCP连接

    上发送。当一个ACK包被发送后,发送方向就逆转过来,包过滤规则应该考虑为响应控制

    或数据包而发回的ACK包。

    对于下面的表五中的规则1,在源主机栏中填入199.245.180.0,在目标主机端口号栏

    中填入25,其它栏中都填入星号,在动作栏中填入允许.整个规则的意义为:允许所有从网

    络199.245.180.0任意端口发起的任意目标主机端口号为25的连接 (其中199.245.180.0

    是一个C类网络地址,主机号字段为0表示网络上任意一台主机).

    基于以上的讨论,修改后的包过滤规则如表五中所示.


    表 五
    SMTP的包过滤规则

    规则 动作 源主机 源端 目标主机 远地 TCP标识 说明
    序号 口号 端口号 /IP选项

    1 Allow 199.245.180.0 * * 25 Allow packet
    from Network
    199.245.180.0

    2 Allow * 25 199.245.180.0 * TCP ACK Allow return
    acknowledgement


    对于表五中的规则2,在源端口号栏中填入25,在目标主机栏中填入199.245.180.0,

    在TCP标志和IP选项栏中填入TCP ACK,其它栏中都填入星号,在动作栏中填入允许.整个

    规则的意义为:允许所有从任何外部网络主机上源端口号25发起的到任意本地主机(在网

    络199.245.180.0上)任意端口号的TCP ACK标志置位的连接.

    表五中的两条过滤规则合并起来的效果是:允许网络199.245.180上的任意主机同任何

    外部网络主机的SMTP端口建立连接.

    由于包过滤器只工作在OSI模型的第二和第三层(数据层和网络层).它无法绝对保证

    返回的TCP确认帧中是否属于同一个连接.在实际应用中,这个策略运行得很好,因为TCP

    维护连接两侧的状态信息,它们知道将要发送或接收的序号和确认信息.同时,一些上层

    应用服务,例如TELNET ,SMTP 和FTP等,只能接受遵循应用层协议规则的包,想要伪造包含正确

    应答信息的包是非常困难的.如想要使安全程度更高,可考虑和应用层网关一起使用(下

    节将会讨论).


    罗罗嗦嗦说了一大通,可以综述为下面两点:

    包过滤路由器的优点:绝大多数Internet 防火墙系统只用一个包过滤路由器.与设计过

    滤器和匹配Router不同的是,执行PACKET FILTER 所用的时间很

    少或几乎不需要什么时间.因为Internet 访问一般被提供给一个

    WAN接口.如果通信负载适中且定义的过滤很少的话,则对Router

    性能没有多大影响.最后一点,包过滤路由器对终端用户和应用程

    序是透明的,因此不需要专门的用户培训或在每主机上设置特别

    的软件.


    包过滤路由器的局限性:定义包过滤器可能是一项复杂的工作,因为网管员需要详细地了

    解Internet 各种服务、包头格式和他们在希望每个域查找的特

    定的值。如果必须支持复杂的过滤要求的,则过滤规则集可能

    会变得很长和很复杂,从而很难管理。存在几种自动测试软件,

    被配置到Router上后即可校验过滤规则。这可能对未检测到的

    易损部件开放了一个地点。


    一般来说,一个路由器和信息包吞吐量随过滤器数量的增加而减少。Router 被优

    化用来从每个包中提取目的IP地址、查找一个相对简单的路由表,而后将信息包顺向运

    行到适当转发接口。如果过滤可执行,Router还必须对每个包执行所有过滤规则。这可

    能消耗CPU的资源,并影响一个完全饱和的系统性能。
    (三)防火墙的构成(续3)

    3.4 应用网关

    为了克服与包过滤路由器相关联的某些弱点,防火墙需要使用应用软件来转发和过

    滤Telnet和Ftp等服务的连接。这样一种应用叫做代理服务,而运行代理服务软件的主系

    统叫做应用网关。应用网关和包过滤路由器可以组合在一起使用,以获得高于单独使用

    的安全性和灵活性。

    作为一个例子,请考虑一个用包过滤路由器封锁所有输入Telnet 和Ftp 连接的网点

    。路由器允许Telnet和Ftp包只通过一个主系统,即Telnet/Ftp应用网关,然后再连接到

    目的主系统,过程如下:

    1. 用户首先把Telnet连接到应用网关,并输入内部主系统的名字;

    2. 网关检验用户的源IP地址,并根据任何合适的访问准则接受或拒绝;

    3. 用户可能需要证明自己的身份(可使用一次性口令装置);

    4. 代理服务软件在网关和内部主系统之间建立Telnet连接;

    5. 于是,代理服务软件在两个连接之间传送数据;

    6. 应用网关记录连接情况。

    这一例子指出了使用代理服务软件的几个好处。第一,代理服务软件只允许有代理

    的服务通过。换句话说,如果应用网关包含Telnet和Ftp的代理软件,则只有Ftp和Teln-

    -et被允许进入受保护的子网,而其它所有服务都完全被封锁住。对有些网点来说,这种

    程度的安全性是很重要的,因为它保证,只有那些被认为“可信赖的”服务才被允许通

    过防火墙。它还防止其他不可靠的服务不会背着防火墙管理人员实施。

    使用代理服务的另一好处是可以过滤协议。例如,有些防火墙可以过滤FTP连接,并

    拒绝使用FTP 协议中的 put 命令。如果人们要保证用户不能写到匿名FTP服务器软件,

    则这一点是很有用的。

    ___________
    __________ 1 |应 | 2 __________
    | 目的 |------------->| 用 |------------->| 源 |
    | 主系统 |<-------------| 网 |<-------------| 主系统 |
    |________| 4 | 关 | 3 |________|
    |_________|

    应用网关和代理服务软件实施的虚拟连接

    应用网关有三种基本的原型,分别适用于不同的网络规模。

    * 双穴主机网关(Dual-Homed Gateway)

    * 屏蔽主机网关(Screened Host Gateway)

    * 屏蔽子网网关(Screened Subnet Gateway)


    这三种原型有一个共同的特点,就是都需要一台主机(如上面所述一样),通常称为

    桥头堡主机(Bastion Host) 。该主机充当应用程序转发者、通信登记者以及服务提供者

    的角色。因此,保护该主机的安全性是至关重要的,建立防火墙时,应将较多的注意力

    放在该主机上。

    * 双穴主机网关

    该原型的结构如图一所示。

    __________
    __________ | | ___________
    |Internet |___________|Bastion | |Protected |
    |_________| | Host |___________|Network |
    |________| |__________|

    Running Firewall Software

    & Routing disable

    图一 双穴主机网关


    其中,桥头堡主机充当网关,因此,需要在此主机中装两块网卡,并在其上运行

    防火墙软件。受保护网与Internet之间不能直接进行通信,必须经过桥头堡主机,因此

    ,不必显示地列出受保护网与不受保护网之间的路由,从而达到受保护网除了看到桥头堡

    主机之外,不能看到其他任何系统的效果。同时,桥头堡主机不转发TCP/IP包,网络中

    的所有服务都必须由此主机的相应代理程序支持。

    由于双穴主机网关容易安装,所需的硬件设备也较少,且容易验证其正确性,因

    此,这是一种使用较多的纺火墙。

    双穴主机网关最致命的弱点是:一旦防火墙被破坏,桥头堡主机实际上就变成了

    一台没有寻径功能的路由器,一个有经验的攻击者就能使它寻径,从而使受保护网完全

    开放并受到攻击。例如,在基于Unix的双穴主机网关中,通常是先修改一个名叫IPfor-

    -warding的内核变量,来禁止桥头堡主机的寻径能力,非法攻击者只要能获得网关上的

    系统特权,就能修改此变量,使桥头堡主机恢复寻径能力,以进行攻击。


    * 屏蔽主机网关

    该原型的结构如图二所示。


    ___________________
    ____________ 1 Permitted | __________ |
    | |—————————————|——|Bastion | |
    | | 2 Blocked | | Host | |
    | Internet |———————×—————| |________| |
    | |3 router packet screening | |
    |__________|———□—————————| Protected |
    | Network |
    |_________________|

    图 二

    屏蔽主机网关
    ( Bastion Host Running Firewall software )


    其中,桥头堡主机在受保护网中,将带有包屏蔽功能的路由器置于保护网和Inter-

    -net之间,它不允许Internet对保护网的直接访问,只允许对受保护网中桥头堡主机的访

    问。与双穴网关类似,桥头堡主机运行防火墙软件。

    屏蔽主机网关是一种很灵活的防火墙,它可以有选择地允许那些值得信任的应用程

    序通过路由器。但它不像双穴网关,只需注意桥头堡主机的安全性即可,它必须考虑两

    方面的安全性,即桥头堡主机和路由器。如果路由器中的访问控制列表允许某些服务能

    够通过路由器,则防火墙管理员不仅要管理桥头堡主机中的访问控制表,还要管理路由

    器中的访问控制列表,并使它们互相协调。当路由器允许通过的服务数量逐渐增多时,

    验证防火墙的正确性就会变得越来越困难。


    * 屏蔽子网网关

    该原型的结构如图三所示。
    __________
    _____|Bastion | Running
    | | Host | Firewall Software
    | |________|
    |
    ____________ ________ |
    | Internet |____|Router|____|
    | | |______| | ________ ___________
    |__________| |________|Router|_______|Protected|
    Packet |______| | Network |
    Screening |_________|


    图 三 屏蔽子网网关


    其中,一个小型的独立网络放在受保护网与Internet之间,对这个网络的访问受到

    路由器中屏蔽规则的保护。因此,屏蔽子网中的主机是唯一一个受保护网和Internet都

    能访问到的系统。

    从理论上来说,这也是一种双穴网关的方法,只是将其应用到了网络上。防火墙被

    破坏后,它会出现与双穴主机网关同样的问题。不同的是,在双穴主机网关中只需配置

    桥头堡主机的寻径功能,而在屏蔽子网网关中则需配置三个网络(受保护网、屏蔽子网

    和Internet)之间的寻径功能,即先要闯入桥头堡主机,再进入受保护网中的某台主机,

    然后返回包屏蔽路由器,分别进行配置。这对攻击者来说显然是极其困难的。另外,由

    于Internet很难直接与受保护网进行通信,因此,防火墙管理员不需指出受保护网到In-

    -ternet之间的路由。这对于保护大型网络来说是一种很好的方法。

    应用网关的一个缺点是,就Telnet 等客户机--服务器协议来说,需要采取两个

    步骤来连接输入信息或输出信息。有些应用网关需要经过修改的客户机,这一点既可看

    作是缺点,也可看作是优点,视修改的客户机是否更加容易使用防火墙而定。Telnet应

    用网关不一定需要经过修改的Telnet客户机,但是,它需要修改用户行为:用户必须连

    接到防火墙(但不记录),而不是直接连接到主系统。但是,经过修改的Telnet客户机可

    以使防火墙透明,因为它允许用户用Telnet命令规定目的系统(不是防火墙)。防火墙起

    着通向目的系统通道的作用,从而拦截连接,再按需完成其他步骤,如查询一次性口令

    。用户行为仍然是相同的,但其代价是每个系统需要一个经过修改的客户机。

    除了Telnet 外,应用网关一般用于Ftp 和电子邮件,同时也用于XWindows和其他

    某些服务。有些Ftp应用网关包括拒绝特定主系统的put 和get 命令的能力。例如,一个

    已同内部系统(如匿名Ftp服务器)建立Ftp对话(通过Ftp应用网关)的外部用户,可能试图

    把文件上装到服务器。应用网关可以过滤Ftp协议,并拒绝把所有puts命令发送给匿名Ftp

    服务器;这将保证没有文件能上装到服务器,而且所提供的确信程度要高于只依赖由设

    置正确的匿名Ftp服务器进行的文件许可。

    电子邮件应用网关可集中收集电子邮件,并把它分发给内部主系统和用户。对外部

    用户来说,所有内部用户都拥有电子邮件地址,其格式为:user@emailhost 其中,emai-

    -lhost是电子邮件网关的名字。网关会接受外部用户的邮件,然后按需把邮件转发到其

    他内部系统。从内部系统发送电子邮件的用户可以从其主系统直接发送电子邮件,否则

    在内部系统名字只有受保护的子网知道的情况下,邮件会发送给应用网关,然后应用网

    关着把邮件转发给目的主系统。有些电子邮件网关使用更加安全的sendmail程序版本来

    接收电子邮件。

    发布人:netbull 来自:LinuxAid