|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
在这篇文章中,笔者将脱开技术层面的内容,谈谈自己在访问控制列表管理中的经验教训,或许,这可以从另一个角度提高大家对访问控制列表的认识。 4 i5 r! O( R4 }+ Q$ k# ~' |' `
: \1 k' V' D' R9 Y" Q$ ~ 思考一:如何合理放置访问控制列表
) q. o! k9 _; L8 ]# v' T. K' I7 F( r2 T! y3 s. I) ~: i' k. V
访问控制列表即可以放在进口,也可以放在出口,都是正确的。但是,正确跟合理还是有一步之差。位置正确,不一定说,如此放置是最合理的,效率是最高的。
$ Q9 M+ p0 i* R. ]2 E& u) R4 [. j# b
若我们把访问控制列表放在进口的话,在路由器在进口就会对数据流量进行判断,看其是否满足条件语句,若满足的话,则放行,转发给下一个端口;不满足的话,就直接丢进垃圾桶。若把访问控制列表放在出口的话,则当满足放行条件时,则路由器会把数据流转发出去;当不满足条件时,则会把已经在这个端口存储缓存中的数据丢进垃圾桶。很明显,这个访问控制列表放在进口或者出口,对路由器的性能会有所影响。 ' X% h: L R- k6 z9 c8 P
; v, ~+ `' H, j$ h0 N3 `
假设现在某个集团企业的网络部署架构如下:
3 D! W0 @ B! p
9 i- U& _: ]! c5 l 用户主机---路由器A—路由器B-----互联网。 ' a( _( ?* L! x3 s# r/ l
: O% B# Y! }% v8 V' i7 {. L 在这种网络架构下,企业现在希望实现如下控制。 % Q9 E/ r: F4 J- R" m1 h) a
. K$ }5 I! Q _" \+ ? 1、 用户主机甲不能够访问互联网。
* V8 Z4 y- F; |0 P* K
2 ~" q5 X2 B; V$ ~4 w; ^3 T 2、 其他用户都可以不受限制的访问互联网。
* k, f0 }) m' f) O; ^" A% B2 h5 l% V# K: \% k; U' F
此时,很明显可以通过多种方式来实现这种需求。不过,访问控制列表是实现这种控制的一个比较灵活的策略。此时,拒绝用户主机甲访问互联网的访问控制列表可以放在路由器A,也可以放在路由器B上;可以放在路由器A的进口或者出口端口上,也可以放在路由器B的进口或者出口端口上。放在这四个位置的任何一个位置上,都可以实现企业的需求。只是对于网络的影响有所不同。
8 C$ d, K* M. Z9 o9 D* [8 A0 q; |7 I H& u
假设我们现在把这个访问控制列表放在路由器B的出口上,则当用户主机甲访问互联网时,这个数据流会通过路由器A,到达路由器B的出口站点上,然后才被丢弃。如此的话,这个本来早早应该被丢弃的数据流,却一直畅通无阻的到了路由器B的出口商,才被抛弃。
8 c! J C! Y+ h3 h* c0 T" P \2 l# ]; L( { W
这就好像群众上访,本来在农村基层就可以解决的问题,但是,农村基层不解决,当地政府也不解决,一直闹到中央,这不仅会浪费各地政府部门的精力,而且,中央政府若每天都处理这些基层来的上访者,那他们就没有精力去关心一些重大问题了。所以,一些纠纷,在基层可以解决,还是在基层解决好。
1 ^- q8 T# e! R: [
9 H6 }6 {' \2 k 访问控制列表也是如此。若按上面这个位置放置,用户主机甲若想访问互联网,则这些数据流量一直畅通无阻的到达路由器B出口站是,是一种浪费网络带宽的行为。所以,应该把拒绝主机用户甲的访问控制列表放置在路由器A的进口上,从源头就把不需要的访问控制列表抛弃。
9 \! _ Q6 B6 t6 a* g' M, B: e
1 {6 b4 | R: v: A! | 很明显,若只有一台用户主机不能访问互联网的话,则这个访问控制列表具体放在上面位置,其所产生的影响对于企业整个网络来说,是微乎其微的。但是,在实际工作中,我们往往不是拒绝一台主机的通信流量,而是拒绝一批,如一个子网的通信流量。如此的话,其产生的数据流量就比较大了,会对企业的内部网络产生比较大的影响。
: u/ o" l% l0 Y1 V% i' |& x" [9 Z4 M3 c
所以,在访问控制列表管理的时候,要慎重考虑访问控制列表的放置地方,否则的话,会对整个网络产生比较大的影响。那这访问控制列表该放在什么地方合适呢?笔者给大家提个建议,最好把访问控制列表放置在离被拒绝的信息来源最近的地方,即上面讲的路由器A的进口站点上。如此的话,不允许通过的数据流量就会被尽早的丢进垃圾桶,而不会被畅通无阻的传递下去。当然,前期是,路由器A必须支持访问控制列表,否则的话,也指能够放在路由器B上了。
0 h& \2 k* A' z$ A- c# ^) s& {
思考二:访问控制列表如何跟防火墙配合使用
- T2 L) C( a2 V5 M' a9 ?2 [" |) C
' x* b0 w4 j2 f& w% U 现在大部分企业都在企业内外网的接口处,部署了防火墙。那么,访问控制列表该如何跟防火墙配合使用呢? " n1 H# w0 n2 |& {& V. D
! t2 `- |9 q( z; `6 @ 根据官方的建议,访问控制列表应该用在防火墙路由器上,防火墙路由器经常放置在内部网络与外部网络之间,即企业内网与互联网的分割点,目的是为其提供一个孤立的点,以便不受其他互联网网络结构的影响。
6 [6 g) I3 C6 y: {3 s" r0 u( B( ]5 h6 s
其实,有些防火墙服务器的话,本身就带有访问控制列表的功能。如防火墙的低安全端口要访问防火墙中的高安全端口的话,就需要访问控制列表的支持。所以,把访问控制列表结合防火墙服务器使用,是一个比较好的选择。
5 `7 {* R7 R1 s1 W: @" I ?$ u0 m: T% |- F1 q" H
不过,说实话,若把他们两个部署在一起的话,会增加访问控制列表的复杂程度,会增加访问控制列表与防火墙服务器的维护难度。笔者虽然觉得这么部署比较合理,但是,在实际工作中,笔者出于管理与维护的方便,确不是这么部署的。 ( |7 \' N+ X/ V! X# R" c6 f' a
8 V) b$ n6 t+ v( ?# [+ p
如企业现在的网络部署架构如下: ( E* P! p" C' k$ I. \$ G
8 l1 |+ Z, T3 f$ O" e4 H
主机-路由器-VPN服务器-防火墙。 & T% H, F9 W/ P0 ~+ J; Q! V
( n" S5 T# N5 D, [- ]9 D 其中,这个路由器与防火墙都支持访问控制列表的功能。按照官方的建议,应该把访问控制列表部署在防火墙服务器上。但是,笔者认为这么管理的话,会增加防火墙与访问控制列表的复杂程度,不利于后续的维护与故障的维修。所以,笔者在部署访问控制列表的时候,没有遵循官方的建议,而是把访问控制列表部署在路由器上,而不是防火墙。如此的话,把防火墙与路由器上的访问控制列表独立管理,虽然可能会增加一定的工作量,但是,至少把复杂的工作简单化,反而有利于企业网络的管理,出现故障的时候,也比较容易检修。 % w( j/ y: q" ]# ^% ~. D6 ]
) ~- J( O. L( \: U, ~- K5 t 不过这是笔者个人的工作经验,其到底是否合理,还需要靠以后网络维护工作的检验。 9 d/ ~7 U& g3 n4 w: l
" c9 o( G! X; c" L
不过如果要在防火墙服务器这种边界设备上,部署访问控制列表的话,笔者可以给大家提一些意见。
' S! `' B* B/ p
" z0 _% m4 k I5 }4 C 一是部署在边界设备上的访问控制列表,无论是防火墙服务器还是路由器上,可以为配置在设备接口上的每一个网络协议创建访问控制列表。通过配置访问控制列表。来过滤通过接口的入站通信流量、出站通信流量。
( h$ Y/ K. `. O# k# c* v
# {. G8 @. ~# O/ B/ L 二是如果在边界路由器与内部的路由器,即上面的路由器A与路由器B上,都配置了访问控制列表,该如何处理呢?一般来说,若在路由器A上部署了拒绝用户主机甲访问互联网的访问控制列表,然后再边界路由器B上又配置了同样内容的访问控制列表,就有点脱裤子放屁,多此一举的感觉。但是,在实际管理中,有些网路管理元还是会这么处理。这主要是出于统一管理的需要。在路由器A上部署访问控制列表,可以拒绝不应该的数据流量在网络上传输;而在路由器B上部署访问控制列表的话,则是出于统一管理的需要。或者说,起到双重保险的作用,即使路由器A上的访问控制列表因为某种原因失效,还由路由器B在那边把关。不过,这么配置的话,边界路由器B的负担会比较中。因为他要对来自于企业网络的所有数据流量进行判断。所以,具体如何部署,还是要看企业对于安全性的要求。到底是牺牲一定的安全来提高网络性能,还是降低网络性能来提高网络的安全冗余,如何在网络的安全性与网络性能之间取得均衡的话,网络管理员还是需要根据企业的实际情况,在这上面花一番心思。 8 c% U3 G9 F) L* b, N
5 l4 A( g. g: H
三是要注意访问控制列表中最后的隐含语句。假设现在有一个访问控制列表,其前面有八条判断语句。而其实呢,有九条,最后一条是隐含的,当前面八条语句都没有满足的情况下,则这最后一条语句,就会把这个数据流量拒绝掉。不过在访问控制列表管理中,我们往往不希望出现这种情况。我们希望,当前面的这些条件都不满足的情况下,则该数据量背放行。如在一个访问控制列表中,我们写了两条判断语句,一是拒绝用户A访问互联网;二是拒绝用户B访问外部的邮件服务器。此时,若有用户C访问互联网的话,由于前面两条语句都不满足,则默认情况下,访问控制列表会应用隐含的判断语句,把用户C的数据流量也拒绝掉,这是我们不希望看到的。为此,我们就需要改变这条隐含的判断语句,把它改为上面条件都不满足的情况下,数据流量为允许通过。或者,我们可以显示的给出这条隐含语句,这有利于提高访问控制列表的可读性,对我们后续排除故障也是比较有利的。 |
|