$水手$ 发表于 2009-6-2 22:17:15

防火墙知识

(一)防火墙概念
(二)采用防火墙的必要性
(三)防火墙的构成
--------------------------------------------------------------------------
(一)防火墙概念
防火墙不只是一种路由器、主系统或一批向网络提供安全性的系统。相反,防火
墙是一种获取安全性的方法;它有助于实施一个比较广泛的安全性政策,用以确定允
许提供的服务和访问。就网络配置、一个或多个主系统和路由器以及其他安全性措施
(如代替静态口令的先进验证)来说,防火墙是该控制对受保护的网络(即网点)的往返
访问。它实施网络访问政策的方法就是逼使各连接点通过能得到检查和评估的防火墙。
____________ ___________
| | | |
| Computer | | Computer |
|__________| |___________| ____________ ________
| | |应 | |Packet |
______|________________|__________| 用 |_____|Filter |___Internet
| 网 | |Router |
网点系统 | 关 | |________|
|__________|
路由器和应用网关防火墙范例
防火墙系统可以是路由器,也可以是个人主机、主系统和一批主系统,专门把网
络或子网同那些可能被子网外的主系统滥用的协议和服务隔绝。防火墙系统通常位于
等级较高的网关如网点与Internet的连接处,但是防火墙系统可以位于等级较低的网
关, 以便为某些数量较少的主系统或子网提供保护。
防火墙基本上是一个独立的进程或一组紧密结合的进程,运行于Router or Server
来控制经过防火墙的网络应用程序的通信流量。 一般来说,防火墙置于公共网络 (如
Internet) 入口处。 它可以看作是交通警察。 它的作用是确保一个单位内的网络与
Internet之间所有的通信均符合该单位的安全方针。这些系统基本上是基于TCP/IP,并
与实现方法有关,它能实施安全路障并为管理人员提供对下列问题的答案:
* 谁在使用网络?
* 他们在网上做什么?
* 他们什么时间使用过网络?
* 他们上网时去了何处?
* 谁要上网但没有成功?
---------------------------------------------------------------------------
(二)采用防火墙的必要性
引入防火墙是因为传统的子网系统会把自身暴露给NFS或NIS等先天不安全的服务,
并受到网络上其他地方的主系统的试探和攻击。在没有 Firewall 的环境中,网络安
全性完全依赖主系统安全性。在一定意义上,所有主系统必须通力协作来实现均匀一
致的高级安全性。子网越大,把所有主系统保持在相同安全性水平上的可管理能力就
越小。随着安全性的失误和失策越来越普遍,闯入时有发生,这不是因为受到多方的
攻击,而仅仅是因为配置错误.
防火墙能提高主机整体的安全性,因而给站点带来了众多的好处。以下是使用防
火墙的好处:
1.防止易受攻击的服务
防火墙可以大大提高网络安全性,并通过过滤天生不安全的服务来降低子网上主
系统所冒的风险。因此,子网网络环境可经受较少的风险,因为只有经过选择的协议
才能 通过Firewall。
For example, Firewall可以禁止某些易受攻击的服务(如NFS)进入或离开受保护
的子网。这样得到的好处是可防护这些服务不会被外部攻击者利用。而同时允许在大
大降低被外部攻击者利用的风险情况下使用这些服务。对局域网特别有用的服务如NIS
或NFS因而可得到公用,并用来减轻主系统管理负担。
防火墙还可以防护基于路由选择的攻击,如源路由选择和企图通过ICMP改向把发
送路径转向遭致损害的网点。防火墙可以排斥所有源点发送的包和ICMP改向,然后把
偶发事件通知管理人员。
2.控制访问网点系统
防火墙还有能力控制对网点系统的访问。例如,某些主系统可以由外部网络访问,
而其他主系统则能有效地封闭起来,防护有害的访问。除了邮件服务器或信息服务器
等特殊情况外,网点可以防止外部对其主系统的访问。
这就把防火墙特别擅长执行的访问政策置于重要地位:不访问不需要访问的主系
统或服务。当不用访问或不需要访问时,为什么要提供能由攻击者利用的主系统和服
务访问呢?例如,如果用户几乎不需要通过网络访问他的台式工作站,那么,防火墙
就可执行这一政策。
3.集中安全性
如果一个子网的所有或大部分需要改动的软件以及附加的安全软件能集中地放在
防火墙系统中,而不是分散到每个主机中,这样防火墙的保护就相对集中一些,也相
对便宜一点。尤其对于密码口令系统或其他的身份认证软件等等,放在防火墙系统中
更是优于放在每个Internet能访问的机器上。
当然,还有一些关于网络安全的出来方法,比如 Kerberos,包含了每个主机系统
的改动。也许,在某些特定场合,Kerberos或其他类似的技术比防火墙系统更好一些。
但有一点不容忽视,由于只需在防火墙上运行特定的软件,防火墙系统实现起来要简
单的多。
4.增强的保密、强化私有权
对一些站点而言,私有性是很重要的,因为,某些看似不甚重要的信息往往回成
为攻击者灵感的源泉.使用防火墙系统,站点可以防止finger以及DNS域名服务.finger
会列出当前使用者名单,他们上次登录的时间,以及是否读过邮件等等。但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端口(port 23)来提供 Telnet服务,而是从另一个Port来提供此服务,
由于标准的Telnet端口已被防火墙所禁止,而另一Port没有被禁止。这样,虽然防火
墙主观上想禁止提供Telnet服务,但实际上却没有达到这种效果。因此,采用第二种
政策的防火墙不仅要防止外部人员的攻击,而且要防止内部成员不管是有意还是无意
的攻击。
总的来说,从安全性的角度考虑,第一种政策更可取一些;而从灵活性和使用方
便性的角度考虑,则第二种政策更适合。
3.2 先进的验证
多年来,管理员劝告用户要选择那些难以猜测的口令,并且不泄露其口令。但是,
即使用户接受这一劝告(而很多人不接受这劝告),入侵者可以监视并确实监视Internet
来获取明文传输口令这一事实也反映传统的口令已经过时。
先进的验证措施,如智能卡、验证令牌、生物统计学和基于软件的工具以被用来
克服传统口令的弱点。尽管验证技术个不相同,但都是相类似的,因为由先进验证装
置产生的口令不能由监视连接的攻击者重新使用。如果Internet上的口令问题是固有
的话,那么,一个可访问Internet的防火墙,如果不使用先进验证装置或不包含使用
先进验证装置的挂接工具,则是几乎没有意义的。
当今使用的一些比较流行的先进验证装置叫做一次性口令系统。例如,智能卡或
验证牌产生一个主系统可以用来取代传统口令的响应信号。由于令牌或智能卡是与主
系统上的软件或硬件协同工作,因此,所产生的响应对每次注册都是独一无二的。其
结果是一种一次性口令。这种口令如果进行监控的话,就不可能被侵入者重新使用来
获得某一帐号。
由于防火墙可以集中并控制网点访问,因而防火墙是安装先进的验证软件或硬件
的合理场所。虽然先进验证措施可用于每个主系统,但是,把各项措施都集中到防火
墙更切合实际,更便于管理。 下图表明,一个不使用先进验证措施的防火墙的网点,
允许TELNET或FTP等未经验证的应用信息量直接传送到网点系统。 如果主系统不使用
先进验证措施,则入侵者可能企图揭开口令奥秘,或者能监视网络进行的包括有口令
的注册对话.图还显示出一种备有使用先进验证措施的防火墙的网点,以致从Internet
发送到网点系统的TELNET 或FTP对话都必须通过先进的验证才允许到达网点系统。网
点系统可能仍然需要静态口令才允许访问,但是,只要先进的验证措施和其他防火墙
组成部分可防护入侵者渗透或绕过防火墙,这些口令就不会被利用,即使口令受到监
视也是如此。
3.3 包过滤
包过滤技术(Ip Filtering or packet filtering)的原理在于监视并过滤网络上
流入流出的Ip包,拒绝发送可疑的包。由于Internet 与Intranet 的连接多数都要使
用路由器,所以Router成为内外通信的必经端口,Router的厂商在Router上加入 IP
Filtering功能,这样的 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的顺序来进行过滤后采取的
动作的结果如表二所示(注意:两种动作的结果有不同)
页: [1]
查看完整版本: 防火墙知识