|
|
|
一. 防火墙是什么? j' ]& A3 g \" K, B' J; Z( h3 q& p
0 w8 m/ j6 s+ b, ]4 { 所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方 G- {* i) Q% u9 f7 F5 k5 Y, W
法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制
( `& o1 m( @" O/ i' Y9 f5 h) R% x尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人2 b* T4 ], t. a+ k* A. `
和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络,防止他们更" E0 Y9 G- P) S* P: A
改、拷贝、毁坏你的重要信息。 0 c' j+ r2 P, @& \& m
. [: d6 L3 w% I. l7 X 二.防火墙的安全技术分析 + A; O# [# m: z
6 C$ y, f7 c; d% _1 \ J
防火墙对网络的安全起到了一定的保护作用,但并非万无一失。通过对防火
" m/ B9 |% x( Y$ C7 Q' `墙的基本原理和实现方式进行分析和研究,我对防火墙的安全性有如下几点认& {8 C# h# Y' R) E3 p4 `/ E& S7 e* D
识。 7 }3 c5 n9 `9 R5 p9 y; W% Y
$ o4 U b/ D5 W
1.正确选用、合理配置防火墙非常不容易
6 f( V k. o7 g) f& n5 Z- L5 M% |6 |* n2 X; ^0 u: `
防火墙作为网络安全的一种防护手段,有多种实现方式。建立合理的防护系: h" Y5 ?; k' e+ c8 u
统,配置有效的防火墙应遵循这样四个基本步骤:
! p8 `$ T; |: w' L. L9 C
S: V% _; o3 ?( C2 p: q% `( U- | a. 风险分析;
5 y( Z0 u2 _. j5 q" n$ Y8 a& Q8 `+ s4 d q/ @3 O
b. 需求分析;
1 Q# j( O1 s1 l
4 P3 S) L+ w: a c. 确立安全政策; - H- X" v" j% W: l& ~
: i4 W4 o' v9 B d. 选择准确的防护手段,并使之与安全政策保持一致。
; r. y" z9 o2 ^" Z
/ R0 h1 ~7 L+ v" u 然而,多数防火墙的设立没有或很少进行充分的风险分析和需求分析,而只1 C; I% n8 J6 r
是根据不很完备的安全政策选择了一种似乎能“满足”需要的防火墙,这样的防
{0 l. S1 C' T" B; @5 f火墙能否“防火”还是个问题。 8 v, \- J$ j; P! ^2 z
$ t: e3 h( f! v4 y5 _; q 2.需要正确评估防火墙的失效状态 # U$ p0 W0 D( j9 ?$ q
9 L+ y, s5 \2 v, f7 j9 G) [. o
评价防火墙性能如何及能否起到安全防护作用,不仅要看它工作是否正常,
8 H% T4 n: N3 O; I能否阻挡或捕捉到恶意攻击和非法访问的蛛丝马纪,而且要看到一旦防火墙被攻, B1 L- Q( `7 V/ K# ~ b; j
破,它的状态如何? 按级别来分,它应有这样四种状态:a.未受伤害能够继续正
' {) ~! ?1 e. j; ^2 k常工作;b.关闭并重新启动,同时恢复到正常工作状态;c.关闭并禁止所有的数
; i2 J" v1 h6 d# G: r% G8 @据通行;d.关闭并允许所有的数据通行。 " J. G% v" V* }" S% R
3 p. H7 n: |. P 前两种状态比较理想,而第四种最不安全。但是许多防火墙由于没有条件进
$ f* K. Y! a/ c I+ u# E行失效状态测试和验证,无法确定其失效状态等级,因此网络必然存在安全隐( U- u/ x4 p' U9 R4 }7 U
患。3.防火墙必须进行动态维护
0 d: ^' p$ {! g) ^- ]
& S- F- d; U# T4 ?6 H 防火墙安装和投入使用后,并非万事大吉。要想充分发挥它的安全防护作
/ L6 r" i# D7 ^! x, Y用,必须对它进行跟踪和维护,要与商家保持密切的联系,时刻注视商家的动; G0 I! F: g+ \
态。因为商家一旦发现其产品存在安全漏洞,就会尽快发布补救(Patch) 产品,
, C! Z# l8 j- I2 ~此时应尽快确认真伪(防止特洛伊木马等病毒),并对防火墙软件进行更新。
* e& ]# ~7 S* J; f" a* ~" [1 g& U' E/ P* t
4.目前很难对防火墙进行测试验证
/ M1 r. o/ f/ t, j: C2 x3 A& d2 _7 N% }" T4 ]
防火墙能否起到防护作用,最根本、最有效的证明方法是对其进行测试,甚6 x2 r# U7 C6 M5 x7 E; w# G
至站在“黑客”的角度采用各种手段对防火墙进行攻击。然而具体执行时难度较
, w0 @% b1 N8 k) n( |0 Z大: / M* k7 u8 ^+ o3 ^% w
/ F3 D* o7 D1 O U! R. Y0 b C( k a.防火墙性能测试目前还是一种很新的技术,尚无正式出版刊物,可用的
: a" }2 N; h& u0 m工具和软件更是寥寥无几。据了解目前只有美国ISS公司提供有防火墙性能测试0 f$ Q8 P9 e& \* S
的工具软件。
2 J" ^7 |% ~! d; _$ G( J
& e5 v2 G2 q. u1 h4 B6 x- \1 Z b.防火墙测试技术尚不先进,与防火墙设计并非完全吻合,使得测试工作- n7 h( n6 B9 L+ ^# B, g
难以达到既定的效果。
3 \$ A0 g! ?8 c
8 H6 P- W& V% k6 @# N h6 w" x c.选择“谁”进行公正的测试也是一个问题。 % h: ?" v4 `3 k$ e) B
- t! V$ {8 q7 J! e
可见,防火墙的性能测试决不是一件简单的事情,但这种测试又相当必要,7 N- r5 b; \' B0 {+ r
进而提出这样一个问题:不进行测试,何以证明防火墙安全?
$ ]) x, {6 D/ U& R: E0 T6 C" r
2 Y9 \! ~$ P$ b" d 5.非法攻击防火墙的基本“招数”
/ f- n! j3 J% H5 G9 \" @- X1 r8 W w7 a/ ]
a.通常情况下,有效的攻击都是从相关的子网进行的。因为这些网址得到- h* H9 L8 D+ X8 F$ s1 k/ b( P1 @" O
了防火墙的信赖,虽说成功与否尚取决于机遇等其他因素,但对攻击者而言很值
7 B' ]2 _8 V5 V& c$ q得一试。下面我们以数据包过滤防火墙为例,简要描述可能的攻击过程。
7 g9 @0 {+ v) a! c: L: a, N6 f# q# j6 G: l
这种类型的防火墙以IP地址作为鉴别数据包是否允许其通过的条件,而这恰
4 W! v5 t, F/ H' }9 O a恰是实施攻击的突破口。许多防火墙软件无法识别数据包到底来自哪个网络接
" a4 y8 z! V, J口,因此攻击者无需表明进攻数据包的真正来源,只需伪装IP地址,取得目标的
( B, k3 |' A" g. K' }4 ]信任,使其认为来自网络内部即可。IP地址欺骗攻击正是基于这类防火墙对IP地
/ d" \0 o3 A2 _% k6 J址缺乏识别和验证的机制。
6 @2 O6 ~+ }! t! _" T z8 L
5 \* V: G% B: x; M! J 通常主机A与主机B的TCP连接(中间有或无防火墙) 是通过主机A向主机B提出
8 Y4 o- f4 E% k) l! b' ~& w" F请求建立起来的, 而其间A和B的确认仅仅根据由主机A产生并经主机B验证的初
: ~/ h3 @" }- f始序列号ISN。 & s( z# p3 \" d6 h
: }7 k" R2 ~; k8 f+ e. H7 N( l& n
具体分三个步骤: 5 w9 |' W o2 v" Z: i$ V
) w [8 D; s- o) N6 O$ D
1.主机A产生它的ISN,传送给主机B,请求建立连接; " ~( j4 [2 F+ t" z! j
6 ~! K0 y G6 {$ o$ |+ H* S) L 2.B接收到来自A的带有SYN标志的ISN后,将自己本身的ISN连同应答信息$ a! ], d* E1 Y7 O: P8 R
ACK一同返回给A; - U5 X9 _* W# }1 N
4 t: z' k/ A) `( o; c
3. A再将B传送来的ISN及应答信息ACK返回给B。 / K/ W, k6 d5 T6 \ n) M
- z9 X: y9 Z: i
至此,正常情况,主机A与B的TCP连接就建立起来了。 . ]; I$ J- Z1 v+ e' t' Q7 H
% p8 r8 V; E7 _) L IP地址欺骗攻击的第一步是切断可信赖主机。 0 s1 q" e$ c# d& r' o; V1 H
3 f( D; f9 }. P n8 _0 [- e. n, C
这样可以使用TCP淹没攻击(TCPSynFloodAttack) ,使得信赖主机处于"自顾
. ?( P2 h1 j- S, z* C不暇"忙碌状态,相当于被切断,这时目标主机会认为信赖主机出现了故障, 只
/ f' n# w/ b% u能发出无法建立连接的RST包而无暇顾及其他。 . X$ l, v7 W) G
% W4 }! |# Z8 J; \# G" w( `# z 攻击者最关心的是猜测目标主机的ISN。为此,可以利用SMTP的端口(25),$ Z* M, }/ k# r
通常它是开放的,邮件能够通过这个端口,与目标主机打开(Open) 一个TCP连
$ ?* k! Y' B Z: v: W4 j1 T7 r8 V. ?接,因而得到它的ISN。在此有效期间,重复这一过程若干次,以便能够猜测和4 ?9 G' g. _- i% T7 k4 r- A
确定ISN的产生和变化规律,这样就可以使用被切断的可信赖主机的IP地址向目6 Y: S' }( G; W# Q$ X" X/ [
标主机发出连接请求。请求发出后,目标主机会认为它是TCP连接的请求者,从* E, a% Y: S& ~3 w6 N0 N! k; c
而给信赖主机发送响应(包括SYN) ,而信赖主机目前仍忙于处理Flood淹没攻击$ |0 n& ]! W4 G! S. [2 [
产生的"合法"请求,因此目标主机不能得到来自于信赖主机的响应。 % `+ P/ y: J& h9 W4 g
; C; C- g7 o; i1 h3 i' ?3 ]8 ?5 Z
现在攻击者发出回答响应,并连同预测的目标主机的ISN一同发给目标主
! v7 `) K' C9 w1 o {9 R机。 . P2 M& k1 e/ B' q
! }4 s/ L3 y0 y7 m& W1 G 随着不断地纠正预测的ISN, 攻击者最终会与目标主机建立一个会晤。通过/ X1 o! ~& _4 l0 E# n; _
这种方式,攻击者以合法用户的身份登录到目标主机而不需进一步的确认。如果
- z `7 U; m) v7 H( M3 @) f, S反复试验使得目标主机能够接收对网络的ROOT登录,那么就可以完全控制整个网
+ o m7 N( V4 l8 e2 y) ~络。 . P* R' }1 r! Y9 i
1 \7 j0 u! z/ Y( q 归纳起来,防火墙安全防护面临威胁的几个主要原因有:SOCK的错误配置;
7 L" A( v3 O# g& R不适当的安全政策; 强力攻击;允许匿名的FTP协议;允许TFTP协议;允许
: K5 q9 h% H- p1 ~Rlogin命令;允许X-Windows或OpenWindows;端口映射;可加载的NFS协议;允& O0 M7 z5 s7 B9 G
许Win95/NT文件共享;Open端口。 8 P1 ]& k7 X `3 W1 o
9 L0 B7 D: O( N" z! i b.破坏防火墙的另一种方式是攻击与干扰相结合。也就是在攻击期间使防2 ]5 p$ x6 f) \4 e0 D3 C
火墙始终处于繁忙的状态。防火墙过分的繁忙有时会导致它忘记履行安全防护的
2 o* D7 V3 k! H8 H/ I1 g职能,处于失效状态。
( y5 ~ n3 @3 _* w
% ~/ ?+ b2 R+ c1 `) O C.需要特别注意的是,防火墙也可能被内部攻击。因为安装了防火墙后,
8 b) z. [, `: p$ l, X/ J随意访问被严格禁止了, 这样内部人员无法在闲暇的时间通过Telnet浏览邮件
4 b3 P0 i' A* n3 ^8 l8 q) X0 @或使用FTP向外发 送信息,个别人会对防火墙不满进而可能攻击它、破坏它,期$ d7 h/ M# _3 q: H7 g" L; ]
望回到从前的状态。这里,攻击的目标常常是防火墙或防火墙运行的操作系统,! n; F2 E- E4 k; y# k9 f4 K
因此不仅涉及网络安全,还涉及主机安全问题。 1 N. j+ Z6 T4 T9 W9 x! U, e
2 u+ P! \2 P0 P0 P+ P
以上分析表明,防火墙的安全防护性能依赖的因素很多。防火墙并非万能,% C/ X/ T" c5 R
它最多只能防护经过其本身的非法访问和攻击,而对不经防火墙的访问和攻击则& p O4 Z; E. a. _
无能为力。从技术来讲,绕过防火墙进入网络并非不可能。 6 J( t' y4 }+ b" g# f
X; F7 G$ W0 F1 x7 Q; Z 目前大多数防火墙都是基于路由器的数据包分组过滤类型,防护能力差,存 J4 x0 m' {+ F4 ?
在各种网络外部或网络内部攻击防火墙的技术手段。 ! M# T6 h# u6 E3 T/ J: f
) p6 J3 F! h/ c8 u6 x5 \8 F 三.防火墙的基本类型
+ V( K7 I# k& W9 Z
# P$ D+ s: I9 ?$ Y0 E 实现防火墙的技术包括四大类:网络级防火墙(也叫包过滤型防火墙)、应/ }6 Z0 F& i3 P+ i/ _
用级网关、电路级网关和规则检查防火墙。 7 p# v4 H- A j5 I# C8 k6 j {
6 d) i* A; E* B
1.网络级防火墙
/ \9 k4 F0 n/ b- v
2 B0 G' S( p, L! U7 @ 一般是基于源地址和目的地址、应用或协议以及每个IP包的端口来作出通过: v5 y& g- _6 w h. A
与否的判断。一个路由器便是一个“传统”的网络级防火墙,大多数的路由器都
! k; ?5 k$ V5 ]4 K# S% v/ \能通过检查这些信息来决定是否将所收到的包转发,但它不能判断出一个IP包来8 E. O! C% D% e9 f2 [
自何方,去向何处。
; @# x6 A5 l( {1 I/ V; _
9 ~. m/ U9 _$ m$ V# \% S0 B: y 先进的网络级防火墙可以判断这一点,它可以提供内部信息以说明所通过的
; S; Y" f5 a! S0 S0 |2 _( A连接状态和一些数据流的内容,把判断的信息同规则表进行比较,在规则表中定
" E! i' l' C" B5 h; q, ]* J义了各种规则来表明是否同意或拒绝包的通过。包过滤防火墙检查每一条规则直( g8 z) h$ d' Y- |7 x
至发现包中的信息与某规则相符。如果没有一条规则能符合,防火墙就会使用默" j- w3 x3 x1 n4 B0 B
认规则,一般情况下,默认规则就是要求防火墙丢弃该包。其次,通过定义基于) e4 G! A( m! P% \. y4 m7 u, ?3 @+ h
TCP或UDP数据包的端口号,防火墙能够判断是否允许建立特定的连接,如
1 h Y- T) X* M8 z3 qTelnet、FTP连接。 $ C4 b7 `+ z3 E+ e3 Z3 e
' R1 F0 g* |, P! w. @ 下面是某一网络级防火墙的访问控制规则:
% ?" K6 O& N& M0 Z, a+ Y
: Y. n4 p$ `" W+ Z) | K (1)允许网络123.1.0使用FTP(21口)访问主机150.0.0.1;
P, E$ J/ T R! X# z1 Q5 ^
0 k d$ R2 R) m (2) 允许IP地址为202.103.1.18和202.103.1.14的用户Telnet(23口)到主5 k, q# |* t3 }; g% d
机150.0.
8 v/ x: e! x& ^/ w" A
4 @' P+ G5 X8 }$ v2 R4 h 0.2上; 2 f% E5 z' y- w% S. y, E: u
1 |$ i" y R" O3 D% b (3)允许任何地址的E-mail(25口)进入主机150.0.0.3; 0 C* W: Z, Z% v3 j0 a
* y' J; ~$ S2 e7 \0 b2 N) C (4)允许任何WWW数据(80口)通过; " T" H& y3 O3 f0 [+ p( i! n7 C5 ]8 z c
2 f2 L0 {1 N6 Y; ]) [( p2 M4 E (5)不允许其他数据包进入。
' M, Y9 R9 M. i2 ?5 o- G+ i8 l7 a, |
网络级防火墙简洁、速度快、费用低,并且对用户透明,但是对网络的保护
5 i0 L( e& z& {: |6 u8 T M很有限,因为它只检查地址和端口,对网络更高协议层的信息无理解能力。
& p' I) d3 _. u e1 ~
& q l' G" q& P 2.应用级网关 6 l% [) @! {* O3 C4 f1 q' D
( b4 C6 ]+ B' K1 C0 l6 |- F* M
应用级网关能够检查进出的数据包,通过网关复制传递数据,防止在受信任
2 j# R" `/ e2 r1 p/ x2 L服务器和客户机与不受信任的主机间直接建立联系。应用级网关能够理解应用层
0 R- T) w' Q2 Q' U上的协议,能够做复杂一些的访问控制,并做精细的注册和稽核。但每一种协议 V" ~- H C, h4 V7 p( O4 k7 U I
需要相应的代理软件,使用时工作量大,效率不如网络级防火墙。 * V! [* P0 V2 f M
! t0 i0 H# o6 S y9 m/ j" ~ 常用的应用级防火墙已有了相应的代理服务器, 例如: HTTP、 NNTP、
" J9 E6 v2 l D( j) I% H4 }FTP、Telnet、rlogin、X-windows等,但是,对于新开发的应用,尚没有相应的. j' V$ u+ U& Q) x' x
代理服务,它们将通过网络级防火墙和一般的代理服务。 * S! n- `6 k& S
. c4 X, H9 H( h# d' K
应用级网关有较好的访问控制,是目前最安全的防火墙技术,但实现困难,
5 [1 [( j8 s* ]1 W4 Q& h% {' t而且有的应用级网关缺乏"透明度"。在实际使用中,用户在受信任的网络上通过7 r% ^1 C& X; \: P2 |$ E+ |/ o
防火墙访问Internet时, 经常会发现存在延迟并且必须进行多次登录
; \+ C, t! U" F4 F$ _(Login) 才能访问Internet或Intranet。 3 @* |: r# M0 {
9 ^8 r" O% B4 ~+ m( r% }) B' x
3.电路级网关
6 F# I+ p9 }% U' G( q
7 w' y8 L* q' a" a: C7 \ 电路级网关用来监控受信任的客户或服务器与不受信任的主机间的TCP握手
( J; X8 A. Y7 j: o* v/ r5 v; l信息,这样来决定该会话(Session) 是否合法,电路级网关是在OSI模型中会话层0 F7 r" L l( P' A c
上来过滤数据包,这样比包过滤防火墙要高二层。 - T* e9 e6 m7 J" y% U; s. A9 s
y0 k9 A5 [# F/ E- ^- \9 X
实际上电路级网关并非作为一个独立的产品存在,它与其他的应用级网关结
7 r5 u( l2 e8 l合在一 起, 如TrustInformationSystems公司的GauntletInternetFirewall;
3 X9 U7 _1 B" G0 x2 |2 ^0 b u/ nDEC公司的AltaVistaFirewall等产品。 另外,电路级网关还提供一个重要的安- H" O: z7 I5 C K5 h
全功能:代理服务器(ProxyServer) ,代理服务器是个防火墙,在其上运行一4 K- x0 m4 n: }" g% _5 E
个叫做"地址转移"的进程,来将所有你公司内部的IP地址映射到一个"安全"的IP' C4 p& Z1 J2 d; }
地址,这个地址是由防火墙使用的。但是,作为电路级网关也存在着一些缺陷,
7 k0 k8 Q, \7 g5 s- ~ ~8 V" ?因为该网关是在会话层工作的,它就无法检查应用层级的数据包。 : o$ }7 Q# [0 A. M" e3 `: @7 |
3 f' B+ w5 ~+ x9 f 4.规则检查防火墙 , {% V8 J# o4 j. G' b5 X
9 g4 t! ` f# o2 U# h+ j a 该防火墙结合了包过滤防火墙、电路级网关和应用级网关的特点。它同包过- M+ C& i4 C/ ^0 ]' t( ?- b: e5 d) J
滤防火墙一样, 规则检查防火墙能够在OSI网络层上通过IP地址和端口号,过滤
- f1 U1 L! A3 Z5 m# I6 y. M: ?进出的数据包。它也象电路级网关一样,能够检查SYN和ACK标记和序列数字是否
) c4 W; ]. j0 A h% N6 R逻辑有序。当然它也象应用级网关一样, 可以在OSI应用层上检查数据包的内; b3 D$ b5 d2 Z, Y
容,查看这些内容是否能符合公司网络的安全规则。 - Q4 [$ m! M! K' `- I
5 u% J3 _- n( J 规则检查防火墙虽然集成前三者的特点,但是不同于一个应用级网关的是,( i# j, b) p+ w" p6 L& H2 a5 O
它并不打破客户机/服务机模式来分析应用层的数据, 它允许受信任的客户机和
$ Z- W4 l+ N8 W( X' X* B3 F3 y- O不受信任的主机建立直接连接。规则检查防火墙不依靠与应用层有关的代理,而4 t0 R/ N3 I! D+ n8 g. f4 ^
是依靠某种算法来识别进出的应用层数据,这些算法通过已知合法数据包的模式9 D% L- z5 A# X& P& C% z' B
来比较进出数据包,这样从理论上就能比应用级代理在过滤数据包上更有效。
; x4 |) {- Y6 q$ L* ]% |5 u3 `! T y, d7 q8 t9 D- n& O9 C
目前在市场上流行的防火墙大多属于规则检查防火墙,因为该防火墙对于用
) I" Y" _9 |7 B- f2 J户透明,在OSI最高层上加密数据,不需要你去修改客户端的程序,也不需对每3 F. D0 K0 Q* z. t
个需要在防火墙上运行的服务额外增加一个代理。如现在最流行的防火墙之一$ A. c4 R! h- R4 g0 F6 U% w
OnTechnology软件公司生产的OnGuard和CheckPoint软件公司生产的FireWall-1
& ?, n# ^ H0 |! Q, O防火墙都是一种规则 检查防火墙。 9 h' o1 D1 p, _. O! O, b) Z( H4 [
2 O7 z K5 M' U8 d
从趋势上看,未来的防火墙将位于网络级防火墙和应用级防火墙之间,也就
, l, N+ Q0 ]. r2 U3 u+ W是说,网络级防火墙将变得更加能够识别通过的信息,而应用级防火墙在目前的! [/ C+ p: I: _; X2 f2 F
功能上则向“ 透明”、“低级”方面发展。最终防火墙将成为一个快速注册稽
& h1 G2 A& }7 z查系统,可保护数据以加密方式通过,使所有组织可以放心地在节点间传送数6 N3 ~8 [8 c5 W) R' F' \
据。 |
|