2023年7月30日发(作者:)
CCSP-CSPFA自学指南学习笔记
ACL是由路由器和PIX防火墙维护的用来控制流量的一个列表。例如,ACL可以阻止含有特定IP地址的数据包通过某个特定的接口。ACL使你可以决定哪些特定流量可以或不可以通过PIX防火墙。
内容过滤可以阻止特定类型的内容(比如Java applets ,Active X控件等)进入你的网络,它还可以用来控制和阻止网络内部主机对受限的web站点的访问。
5-1-1 访问控制列表
使用access-list 和access-group 这两条命令可以实现-list命令用来创建ACL,而aceess-group命令用来把ACL绑定到路由器或PIX防火墙的特定的接口上。使用access-group命令在一个接口上只能绑定一个ACL.(书本这句话的意思不明确,不过最新的ASA/PIX防火墙在一个接口上已经可以绑定多个ACL)
如图:一个入站会话(inbound)是指来自一个低安全级到高安全级的接口的会话。
一个出站会话(outbound)是指来自一个高安全级到低安全级的接口的会话。
注意:与传统的IOS路由器的不同,在PIX防火墙上使用access-group命令只能将ACL绑定到任意接口的入站流量上。不过,在PIX防火墙上仍然能控制出站流量(例如,从inside到outside接口)。
注意: 7.0版本的系统已经支持控制入站和出站的数据流,并且已经取消了outbound和conduit的命令。
Access-list 和access-group 命令可以代替outbound命令或者conduit命令,且access-list和access-group命令具有较高的优先级。
欢迎光临 /racky2005@126 大家一起来学习网络安全! 1 CCSP-CSPFA自学指南学习笔记
当用来允许或拒绝流量时,access-list命令与conduit命令遵循同样的原理和规则。以下是设计和实现ACL时遵循的规则:
【1】从较高到较低的安全性:
――用ACL来限制出站流量
――ACL命令中的源地址是主机或网络的实际地址
【2】从较低到较高的安全性:
――用ACL来限制入站的流量:
――ACL命令中的目的地址是经过转换的全局IP地址。
Access-list命令使你可以指明允许或拒绝某IP地址访问某端口或协议。缺省情况下,访问列表中的所有访问都是被拒绝。因此,需要允许访问时必须明确指出。
在PIX防火墙6.3版本中加入了对ACL编辑及注释的支持。该版本中你可以为特定的ACL条目指定行编号,并把它放到ACL中的任意位置。
5-1-2 到DMZ 区web服务器的入站数据流
如图示,由于没有采用ACL,所以默认情况下,入站访问会被禁止。要允许入站数据流,必须完成下面的3个步骤:
1. 配置Web 服务器地址的静态转换
2. 配置入站ACL
3. 应用ACL到外部接口上
欢迎光临 /racky2005@126 大家一起来学习网络安全! 2 CCSP-CSPFA自学指南学习笔记
第一步:配置Web服务器地址的静态转换
pixfirewall (config)# static (DMZ,outside) 192.168.0.9 172.16.0.2 0 0
第二步:配置入站ACL
pixfirewall (config)# access-list aclout permit tcp any host 192.168.0.9 eq www
第三步:应用ACL到外部接口上
outside
pixfirewall(config)# access-group aclout in interface
第一个in 就是 inbound入站数据流的意思
欢迎光临 /racky2005@126 大家一起来学习网络安全! 3 CCSP-CSPFA自学指南学习笔记
5-1-2 命令show access-list
Show access-list 命令可以列出配置中的access-list命令语句,它还可以列出access-list命令搜索过程中各元素的匹配命中统计。在PIX防火墙6.3版本上,show access-list 命令还可以显示出所有添加倒ACL中的注释和每个条目的行编号(line number)
fw1(config)# show access-list
access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096)
300
alert-interval
access-list ACLOUT; 4 elements
access-list ACLOUT line 1 extended permit tcp 192.168.1.0 255.255.255.0 host 192.168.6.11
eq www (hitcnt=4)
access-list ACLOUT line 2 extended permit tcp host 192.168.1.10 host 192.168.6.11 eq ftp
(hitcnt=1)
access-list ACLOUT line 3 extended permit tcp any host 192.168.6.10 eq www (hitcnt=4)
access-list ACLOUT line 4 extended deny ip any any (hitcnt=0)
access-list ICMPDMZ; 1 elements
access-list ICMPDMZ line 1 extended permit icmp host bastionhost any echo-reply
(hitcnt=12)
access-list ACLIN; 1 elements
access-list ACLIN line 1 extended permit tcp any host 192.168.1.10 eq www (hitcnt=0)
5-1-4
命令clear access-list counters
欢迎光临 /racky2005@126 大家一起来学习网络安全! 4 CCSP-CSPFA自学指南学习笔记
fw1(config)# clear access-list aclout counters
fw1(config)# show access-list
access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096)
alert-interval 300
access-list ACLOUT; 4 elements
access-list ACLOUT line 1 extended permit tcp 192.168.1.0 255.255.255.0 host 192.168.6.11
eq www (hitcnt=0)
access-list ACLOUT line 2 extended permit tcp host 192.168.1.10 host 192.168.6.11 eq ftp
(hitcnt=0)
access-list ACLOUT line 3 extended permit tcp any host 192.168.6.10 eq www (hitcnt=0)
access-list ACLOUT line 4 extended deny ip any any (hitcnt=0)
access-list ICMPDMZ; 1 elements
access-list ICMPDMZ line 1 extended permit icmp host bastionhost any echo-reply (hitcnt=0)
access-list ACLIN; 1 elements
access-list ACLIN line 1 extended permit tcp any host 192.168.1.10 eq www (hitcnt=0)
5-1-5
配置带有时间范围的ACL
我们可以配置基于时间访问的ACL,如图:定义了一个从8月1日到8月30日,每天早上8点到下午5点的允许访问的ACL
第一步:定义一个时间范围名字
fw1(config)# time-range temp-worker //定一个名为temp-worker的时间范围
fw1(config-time-range)#
定义一个
第二步:定一个一个时间范围子模式
Absolute : 定义一个绝对时间范围
Periodic : 定义一个重复的时间范围
fw1(config)# time-range temp-worker
fw1(config-time-range)# absolute start 00:00 1 August 2004 end
00:00 30 August 2004
fw1(config-time-range)# periodic weekdays 8:00 to 17:00
如图absolute命令就是定义了一个绝对时间范围在2004年8月1日 00:00到8月30日 欢迎光临 /racky2005@126 大家一起来学习网络安全! 5 CCSP-CSPFA自学指南学习笔记
00:00的绝对时间段,这个是触发ACL的首要时间条件,接着命令periodic定一个了在绝对时间范围内的某个重复时间段:weekdays (星期1-5) 的早上8点到下午5点
第三步:应用ACL
fw1(config)# static (dmz,outside) 192.168.0.6 172.16.0.6
fw1(config)# access-list aclin permit tcp host 192.168.10.2 host 192.168.0.6 eq www
time-range temp-worker
应用范例:
fw1(config)# static (dmz,outside) 192.168.0.6 172.16.0.6
fw1(config)# access-list aclin permit tcp host 192.168.10.2 host 192.168.0.6 eq www
time-range temp-worker
fw1# show run time-range
time-range temp-worker
absolute start 00:00 1 August 2004 end 00:00 30 August 2004
periodic weekdays 8:00 to 17:00
fw1(config)# show clock
13:48:33.226 UTC Fri Jul 30 2004
fw1(config)# show access-list
access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096)
alert-interval 300
access-list aclin; 1 elements
access-list aclin line 1 extended permit tcp any any eq www time-range
temp-worker (hitcnt=0) (inactive)
我们看到,由于当前的时间不在绝对时间的范围内,应用了时间范围特性的ACL处于inactive(非活动)状态.
5-1-6
Turbo ACL
一个典型的ACL是由多个ACL条目组成,这些条目在PIX防火墙内被有序地组织起来形成一个链表(linked list)。当使用访问控制列表来处理数据包时,PIX防火墙顺序地查找该链表以发现匹配的条目。被匹配的条目用来决定转发或丢弃该数据包。在线性的查找过程中,平均查找时间与ACL的大小成正比。
Turbo ACL通过让PIX防火墙重新编辑ACL表格,在ACL包含大量条目时可以提高平均查找时间,如图8-1所示。你可以先对所有ACL启用该特性,然后再针对特定的ACL禁用该特性;也可以只为某个特定的ACL启用这个特性。对于较短的ACL来说,Turbo ACL 欢迎光临 /racky2005@126 大家一起来学习网络安全! 6 CCSP-CSPFA自学指南学习笔记
特性不会提高性能。一个Turbo ACL查询一个任意长度的ACL所需要的时间,与在一个大约12到18各条目构成的ACL中进行常规的查询所需的时间大致是相同的。因此,Turbo ACL
特性即使被启用,也仅仅被用到包含19个甚至更多条目的ACL上。
ACL条目在内部被有序地组织起来形成一个链表。
线性地查找相匹配的条目,用来决定允许或拒绝数据包通过。当一个ACL中包含的条目数量很多时会增大查找时间,导致性能下降
ACL被编辑成一些查找数据表。
对于大ACL来说,会减少查找时间。最少需要2.1MB的内存。
Turbo ACL特性对内存的要求比较高。因此,它比较适合在高端PIX防火墙上使用,例如PIX 525 、535。支持Turbo ACL所需要的最小内存为2.1MB,而且每2000条ACL条目大约需要1MB的内存。实际所需的内存量不仅与ACL中所拥有的条目数量有关,而且还和 欢迎光临 /racky2005@126 大家一起来学习网络安全! 7 CCSP-CSPFA自学指南学习笔记
条目的复杂程度有关。此外,当在启用Turbo ACL特性的ACL中添加或删除某个条目时,与该ACL相关联的内部数据表格将重新生成。这对PIX防火墙的CPU所增加的负担是不可以忽略的。
注意: PIX 501不支持Turbo ACL
配置Turbo ACL
Access-list compiled 命令可以为所有包含19个或更多条目的ACL启用Turbo ACL特性。该命令将使Turbo ACL处理过程扫描所有现有的ACL。在扫描期间,它将给每个ACL添加Turbo 配置标记,并为包含19个或更多条目的尚未被编辑的ACL进行编辑。
可以使用access-list acl_ID compiled 命令未单独的ACL启用Turbo ACL特性,还可以在统一配置Turbo ACL后使用该命令的no 形式未特定的ACL关闭该特性。
No access-list compiled 命令配置缺省地会使PIX防火墙的Turbo ACL处理过程扫描所有编辑过的ACL,并且将每个ACL标记为non-Turbo ,它还会删除所有存在的Turbo ACL结构。
5-2-1
在PIX防火墙配置中建议使用ACL而不是conduit 。这个变动一是考虑到将来的兼容性,二是熟悉Cisco IOS访问控制的人更易于使用。
Access-list 命令在PIX防火墙中与Cisco IOS 中使用相同的语法,但是两者有一个很重要的区别。在PIX防火墙中,access-list 命令与其他命令一样地指定子网掩码,这一点与CiscoIOS版本中的access-list命令是完全不同的、
Conduit 和 ACL的区别:
相同点:都可以结合Static命令来允许或拒绝从PIX防火墙外部网路到位于内部网络上主机的TCP/UDP服务的访问。更确切地说,这两个命令都可以用来允许或拒绝从具有较低安全级别的接口到具有较高安全级别的接口的连接。
欢迎光临 /racky2005@126 大家一起来学习网络安全! 8 CCSP-CSPFA自学指南学习笔记
异同点:
如图:
Conduit 定义了可以在两个接口之间的流动的流量,且通过允许从一个接口访问位于另一个接口上的主机,在PIX防火墙的ASA中创建了一个例外。
Access-list通过 access-group命令仅仅作用于单个接口上,且会影响进入该接口的所有流量,而不管该接口的安全级别。同时,ACL在最后有一条隐含的deny规则。一旦在一个接口上应用ACL,进入该接口的所有inbound数据包必须遵守该ACL的规则,而不管该接口的安全级别。
下面进一步列出ACL和conduit的特性:
[1] access-list 命令只有通过access-group 命令将其捆绑到一个接口上才能控制访问,而conduit根本不需要绑定到一个接口上。
[2] 配置时,access-list和access-group命令比conduit命令具有更高的优先级。
[3] ACL 比 conduit 更灵活。它可以限制从具有较高安全级别的接口到具有较低安全级别 欢迎光临 /racky2005@126 大家一起来学习网络安全! 9 CCSP-CSPFA自学指南学习笔记
的接口的连接,也可以允许或据绝从拥有较低安全级别的接口到拥有较高安全级别的接口的连接。
当在同一配置中同时使用conduit和ACL时,必须非常小心。请看下图:
上图要实现以下目的:
[1]允许 Partnernet网络上的用户能够访问内部的FTP服务器。
[2]除了去往内部网络,允许来自Partnernet网络的所有HTTP访问。
[3]允许 Partnernet 网络(外联网)上的用户能够访问到内部的mail服务器。
[4]禁止来自Partnernet网络的其它所有流量。
与Partnetnet网络相关的PIX防火墙的配置包括:
[1]用于Partnernet网络的一个NAT和一个全局地址池
[2]用于FTP服务器和mail服务器的静态转换
[3]一个允许从Partnernet网络访问FTP服务器的conduit
[4]一个在Partnernet接口上允许访问mail服务器的ACL
下面是配置:
pixfirewall(config)# nat (partnernet) 1 0 0
pixfirewall(config)#global (outside) 1 192.168.0.20-192.168.0.254 netmask 255.255.255.0
pixfirewall(config)# static (inside,partnernet) 172.18.0.10 10.0.0.3 netmask 255.255.255.255
pixfirewall(config)# static (inside,partnernet) 172.18.0.12 10.0.0.4 netmask 255.255.255.255
pixfirewall(config)# conduit permit tcp host 172.18.0.10 eq ftp any
pixfirewall(config)# access-list 102 permit tcp 172.18.0.0 255.255.255.0 host 172.18.0.12 eq smtp
pixfirewall(config)# access-group 102 in interface partnernet
上面的conduit和ACL的行为都是允许,但是这样配置并不能像预想的那样工作。为什么?
上图,PIX防火墙上已经有一条允许访问FTP服务的conduit语句。此时,一个新的系统工 欢迎光临 /racky2005@126 大家一起来学习网络安全! 10 CCSP-CSPFA自学指南学习笔记
程师决定在保留conduit命令语句以继续访问FTP服务器上的基础上,再配置一个ACL来访问mail服务器。这样配置后,一个ACL被绑定到连接Partnernet网络的接口上,使Partnernet网络中的客户端可以访问位于内部网络中的mail服务器。但是,这些用户将无法访问内部的FTP服务器和Internet。
以下列出了同时使用ACL和conduit命令导致无法达到预期效果的原因分析:
[1] 因为在所有的ACL结尾都隐含着一条deny规则,所以即使在一个包含permit现而没有deny项的ACL中也会阻塞某些流量。当ACL被绑定到连接Partnernet网络的接口上时,除了明确指定允许流量往外,其他流量都将被据绝。
[2] 即使conduit明确指出了允许访问一台位于较高安全级别接口上的主机,ACL仍然能覆盖conduit规则而使其不发生作用。这就是Partnernet网络上的用户突然不能访问FTP服务器的原因。
为解决此问题,必须添加适当的ACL命令来据绝到inside接口的Http流量,而同时允许所有其他的HTTP流量。Conduit命令应该被删除并用以下ACL命令来替换。
5-2-2
由于在新的系统版本中PIX防火墙将不提供对conduit的支持,所以有必要配置中已有的conduit命令转换成ACL.稍微研究一下conduit和access-list的命令的语法会发现,这种转换其实很简单。
global_ip foreign_ip
pixfirewall(config)# conduit permit tcp host 172.18.0.10 eq ftp 172.18.0.0 255.255.255.0
pixfirewall(config)# access-list 102 permit tcp 172.18.0.0 255.255.255.0 host 172.18.0.10
eq ftp
source_addDestination_add
欢迎光临 /racky2005@126 大家一起来学习网络安全! 11 CCSP-CSPFA自学指南学习笔记
将conduit命令中的参数搬到access-list命令中来使用,可以把conduit转换成ACL。这种变动的确有效,因为conduit命令中的foreign_ip参数与access-list命令中的source_addr参数是相同的,conduit命令中的global_ip参数与access-list命令中的destination_addr参数是相同的。以下是把conduit命令替换为access-list命令的例子。
下面没有转换前的错误配置:
pixfirewall(config)# nat (partnernet) 1 0 0
pixfirewall(config)#global (outside) 1 192.168.0.20-192.168.0.254 netmask 255.255.255.0
pixfirewall(config)# static (inside,partnernet) 172.18.0.10 10.0.0.3 netmask 255.255.255.255
pixfirewall(config)# static (inside,partnernet) 172.18.0.12 10.0.0.4 netmask 255.255.255.255
pixfirewall(config)# conduit permit tcp host 172.18.0.10 eq ftp any
pixfirewall(config)# access-list 102 permit tcp 172.18.0.0 255.255.255.0 host 172.18.0.12 eq smtp
pixfirewall(config)# access-group 102 in interface partnernet
下面是转换后的正确配置:
pixfirewall(config)# nat (partnernet) 1 0 0
pixfirewall(config)# global (outside) 1 192.168.0.20-192.168.0.254 netmask 255.255.255.0
pixfirewall(config)# static (inside,partnernet) 172.18.0.10 10.0.0.3 netmask 255.255.255.255
pixfirewall(config)# static (inside,partnernet) 172.18.0.12 10.0.0.4 netmask 255.255.255.255
pixfirewall(config)# access-list 102 permit tcp 172.18.0.0 255.255.255.0 host 172.18.0.10 eq
ftp
pixfirewall(config)# access-list 102 permit tcp 172.18.0.0 255.255.255.0 host 172.16.0.12 eq
smtp
Pixfirewall(config)# access-list 102 deny tcp 172.18.0.0 255.255.255.0 10.0.0.0 255.255.255.0
eq www
pixfirewall(config)# access-list 102 permit tcp 172.18.0.0 255.255.255.0 any eq www
pixfirewall(config)# access-group 102 in interface partnernet
欢迎光临 /racky2005@126 大家一起来学习网络安全! 12 CCSP-CSPFA自学指南学习笔记
5-2-3
ACL 行编号
fw1(config)# show access-list
access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096) alert-interval 300
access-list aclout line 2 extended permit tcp any host 192.168.0.7 eq www (hitcnt=0)
access-list aclout line 3 extended permit tcp any host 192.168.0.8 eq www (hitcnt=0)
access-list aclout line 4 extended permit tcp any host 192.168.0.10 eq www (hitcnt=0)
access-list aclout line 5 extended permit tcp any host 192.168.0.11 eq www (hitcnt=0)
插入行号为4的ACL条目:
fw1(config)# access-list aclout line 4 permit tcp any host 192.168.0.9 eq www
使用关键字:line来定义一个ACL行
插入后ACL变化:
fw1(config)# show access-list
access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096) alert-interval 300
access-list aclout line 2 extended permit tcp any host 192.168.0.7 eq www (hitcnt=0)
access-list aclout line 3 extended permit tcp any host 192.168.0.8 eq www (hitcnt=0)
access-list aclout line 4 extended permit tcp any host 192.168.0.9 eq www (hitcnt=0)
access-list aclout line 5 extended permit tcp any host 192.168.0.10 eq www (hitcnt=0)
access-list aclout line 6 extended permit tcp any host 192.168.0.11 eq www (hitcnt=0)
观测变化,插入的ACL条目位置保持不变,但之前的位置的ACL条目则相应增加编号,位于新插入的ACL条目后面
ACL 注释
插入ACL注释前:
fw1(config)# show access-list
access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096) alert-interval
300
access-list aclout line 1 extended permit tcp any host 192.168.0.8 eq www (hitcnt=0)
access-list aclout line 2 extended permit tcp any host 192.168.0.11 eq www (hitcnt=0)
插入ACL
fw1(config)# access-list outside line 1 remark web server http access-list
fw1(config)# access-list outside line 3 remark web server http access-list
使用关键字:remark来定义一个ACL注释行
欢迎光临 /racky2005@126 大家一起来学习网络安全! 13 CCSP-CSPFA自学指南学习笔记
插入ACL后的变化:
fw1(config)# show access-list
access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096) alert-interval
300
access-list aclout line 1 remark web server http
access-list
access-list aclout line 2 extended permit tcp any host 192.168.0.8 eq www (hitcnt=0)
access-list aclout line 3 remark web server http
access-list
access-list aclout line 4 extended permit tcp any host 192.168.0.11 eq www (hitcnt=0)
ACL注释也算作一条ACL语句,用来解释上下文,这里是解释下面接着的ACL语句。
5-3-1
范例1
下面的是要求通过实现外部到DMZ服务器的访问
默认情况下外部不能访问DMZ区的服务器,现通过ACL实现外部到DMZ服务器的访问
static (DMZ,outside) 192.168.0.9 172.16.0.2 0 0
fw1(config)#
access-list aclout permit tcp any host 192.168.0.9 eq www
fw1(config)#
fw1(config)# access-group aclout in interface outside
欢迎光临 /racky2005@126 大家一起来学习网络安全! 14 CCSP-CSPFA自学指南学习笔记
范例2
禁止到外部internet的www服务访问,记住有隐式deny all,要加permit ip any any允许其他服务连接通过防火墙
Pix(config)#access-list acl_out deny tcp any any eq www
Pix(config)#access-list acl_out permit ip any any
Pix(config)#access-group acl_out in interface inside //应用在inside接口的入站数据流
范例3
Partnernet到DMZ的Web访问以及和DMZ到内部Mail的访问
在Partnernet网络的接口上使用名为acl_permit的ACL来控制其入站流量.该ACL只允许172.18.0.0/28网络中的主机到DMZ中的Web服务器通过静态转换后的地址的web连接,而拒绝其他所有来自Partnernet网络的流量.
Pix(config)#static (dmz,partnernet) 172.18.0.17 172.16.0.2
Pix(config)#static (inside,dmz) 172.16.0.11 10.0.0.4
Pix(config)#access-list acl_partner permit tcp 172.18.0.0 255.255.255.240 host 172.18.0.17
eq www
Pix(config)#access-group acl_partner in interface partnernet
Pix(config)#access-list acl_dmz_in permit tcp host 172.16.0.4 host 172.16.0.11 eq smtp
在DMZ接口上使用名为acl_dmz_in的ACL来控制其入站流量.该ACL仅允许主机172.16.0.4到inside接口上的内部mail服务器的mail访问,而拒绝其他所有来自DMZ网络的流量.
欢迎光临 /racky2005@126 大家一起来学习网络安全! 15 CCSP-CSPFA自学指南学习笔记
范例4
VPN解决方案:双DMZ和VPN集中器
Pix(config)#static (dmz,outside) 192.168.0.12 172.16.0.5 netmask 255.255.255.255 0 0
Pix(config)#static (inside,dmz2) 10.0.21.0 10.0.0.0 netmask 255.255.255.0
Pix(config)#route dmz2 10.0.21.0 255.255.255.0 172.18.0.5 1
Pix(config)#access-list IPSEC permit tcp any host 192.168.0.12 eq 443
Pix(config)#access-list IPSEC permit esp any host 192.168.0.12
Pix(config)#access-list IPSEC permit udp any host 192.168.0.12 eq isakmp
Pix(config)#access-group IPSEC in interface outside
Pix(config)#access-list WEB permit tcp 10.0.21.32 255.255.255.224 10.0.21.0
255.255.255.0 eq www
Pix(config)#access-group WEB in interface dmz2
PIX防火墙上有两个专用接口直连到Cisco虚拟专用网络VPN集中器上.其中DMZ接口连接到VPN集中器的public接口上,而DMZ2接口连接到VPN集中器的Private接口上.VPN集中器可以被配置为从地址池10.0.21.33-62中为VPN客户端分配一个地址.
在PIX防火墙上为去往VPN客户端的出站流量定义了一条静态路由.为了允许VPN客户端与PIX防火墙内部网络中的主机之间进行通信,你需要在PIX防火墙上配置一条静态转换.
在PIX防火墙上配置如下两个ACL,可以控制从Internet到PIX防火墙内部网络的入站流量和从VPN客户端到PIX防火墙内部网络的出站流量:
欢迎光临 /racky2005@126 大家一起来学习网络安全! 16 CCSP-CSPFA自学指南学习笔记
[1] 名为IPSEC的ACL允许从Internet到VPN集中器上public接口上的HTTPS流量,它仅允许到VPN集中器的IPSec流量
[2] 名为WEB的ACL允许从VPN客户端(10.0.21.33-62)到内部Web服务器(10.0.0.10)的HTTP流量.
范例5
ICMP命令
可以允许或禁止ping PIX防火墙上的接口.如果禁止ping,网络中就无法发现PIX防火墙.使用icmp命令可以实现这个功能.
(注:默认情况下,不允许穿透PIX防火墙来ping一个PIX防火墙上的接口.例如,内部主机ping不通PIX防火墙上的outside接口,却可以ping通PIX防火墙上的inside接口.)
使用icmp命令时,通过配置icmp命令语句来允许或拒绝终止于PIX防火墙的ICMP流量.如果的一个匹配的条目包含permit ,那么将继续处理icmp数据包.如果的第一个匹配的条目包含deny,或者没有匹配的条目,那么PIX防火墙将拒绝icmp数据包并且产生%PIX-3-313001系统日志信息.不匹配任何icmp命令语句是个例外,这时缺省为permit.
注意:Cisco建议准许ICMP unreachable 信息类型(Type3) .一旦拒绝ICMP unreachable信息,将不能自动发现ICMP路径最大传输单元(MTU),于是会中断IP安全(IPsec)和点到点隧道协议的(PPTP)的流量.
fw1(config)# icmp permit any echo-reply outside
fw1(config)# icmp permit any unreachable outside
欢迎光临 /racky2005@126 大家一起来学习网络安全! 17 CCSP-CSPFA自学指南学习笔记
范例6
如图,定义了一个ACL,使得站点到站点VPN连接之间的数据流不被转换.
Fw(config)#access-list VPN-NO-NAT permit ip 10.100.1.0 255.255.255.0 10.10.0.0
255.255.255.0
Fw(config)#nat (inside) 0 access-list VPN-NO-NAT
范例7
策略NAT
pix1(config)# access-list company_a permit tcp 10.0.0.0 255.255.255.0 host 192.168.10.11
eq www
pix1(config)# nat (inside) 10 access-list company_a
pix1(config)# global (outside) 10 192.168.0.33 netmask 255.255.255.255
pix1(config)# access-list company_b permit tcp 10.0.0.0 255.255.255.0 host 192.168.100.4
eq www
pix1(config)# nat (inside) 11 access-list company_b
pix1(config)# global (outside) 11 192.168.0.49 netmask 255.255.255.255
如图通过使用两个不同的ACL , 结合NAT做出对应不同的地址转换从而实现走不同的路由的效果.
欢迎光临 /racky2005@126 大家一起来学习网络安全! 18 CCSP-CSPFA自学指南学习笔记
范例8
Fw(config)#access-list 101 permit ip 10.0.0.0 255.255.255.0 10.200.0.0 255.255.255.0
Fw(config)#crypto map FW1MAP 10 match address 101
如图,ACL定义了总部到分部的访问数据流, 之后crypto map 通过匹配该ACL条目实现了加密数据的效果.
范例9
Pix(config)#access-list 110 permit tcp any host 192.168.2.10 eq www
Pix(config)#aaa authentication match 110 outside NY_ACS
如图,定义ACL来实现验证目的.
5-4
欢迎光临 /racky2005@126 大家一起来学习网络安全! 19 CCSP-CSPFA自学指南学习笔记
Java Applet过滤
Java 程序可能成为入侵内部系统的途径.为了解决该问题,通过启用Java过滤可以阻止内部系统下载Java applets .许多站点的安全策略都禁止使用Java applets可执行程序.当允许访问80端口(HTTP)时,就有可能下载Java applets.某些Java applets就可能包含隐藏代码,会破坏位于内部网络中的数据.
ASA/PIX 防火墙的Java Applets过滤可以针对每个客户端或者每个IP地址来阻止Java应用程序.当启用了Java 过滤, ASA/PIX防火墙将搜索程序中的”café babe”字符串.一旦找到该字符串,防火墙将拒绝这个Java applets .
5-4-2
Active X控件,作为对象连接和嵌入(OLE)控件(OCX)的前身,是一种可以被嵌入在web页面中的小程序,经常用在动画或其他应用程序中.Active X控件因提供了攻击服务器的途径而带来潜在的安全问题.因此,可以使用防火墙阻止所有的Active X控件.
欢迎光临 /racky2005@126 大家一起来学习网络安全! 20 CCSP-CSPFA自学指南学习笔记
Active X 过滤命令
使用filter activex | java 命令可以过滤掉出站数据包中的ActiveX或者Java应用
fw1(config)# filter activex 80 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
注意:当用户访问由alias命令指向的IP地址时,将不进行Active X过滤
Filter 命令可以开启或关闭出站URL或HTML的过滤,上面是过滤网络中来自内部主机到外部主机在80端口的ActiveX控件
5-4-3
URL过滤应用程序能够为PIX防火墙提供URL过滤,使网络管理员更有效地监视和控制网络流量.由于ASA/PIX防火墙本身没有URL过滤功能,所以必须通过使用URL过滤应用程序来过滤特定的URL.可以使ASA/PIX防火墙与WebSense和N2H2 URL过滤应用程序合作来实现这个目的.这个措施很有用,因为在早上9点到下午5点之间:
欢迎光临 /racky2005@126 大家一起来学习网络安全! 21 CCSP-CSPFA自学指南学习笔记
[1]30%到40%的Internet冲浪与商业无关
[2]占所有Internet上色情流量的70%
[3]大于60%的在线交易发生在该时间段
当ASA/PIX防火墙收到来自用户访问某URL的请求时,它将查询URL过滤服务器来决定是否返回这个URL请求.而URL过滤服务器检查其配置来决定是否过滤该URL.如果该URL应该被过滤掉,那么URL过滤应用程序将显示出过滤信息或者使用户请求到某个指定的web站点的URL.
在使用URL过滤之前,你必须至少指定一台服务器用来运行WebSense或N2H2 URL过滤应用程序,最多指定16台URL服务器.每次只能使用N2H2或WebSense中的一种应用程序.另外,在PIX防火墙上改动配置不会更新应用服务器的配置.
使用url-server命令来指定运行URL过滤服务的服务器,然后使用filter url 命令来启用URL过滤服务。
第一步:指定URL过滤服务器
使用Websense作为URL过滤服务器的参数:
firewall(config)#
url-server [(if_name)] vendor websense host local_ip [timeout seconds] [protocol {TCP |
UDP |connections num_conns] | version]
if_name: 认证服务器所在的网络接口名称。如果没有指定,默认是inside
vendor: 指明URL过滤服务器的厂商 ,如 websense / n2h2
timeout seconds : 在防火墙切换到下一个指定的服务器前所允许的最大空闲时间。缺省为5妙
version : 可以使用关键字1或4来配置的协议版本。缺省是TCP协议,版本为1。TCP协议可以使用版本1或4,UDP协议只能使用版本4
例子:
fw1(config)# url-server (dmz) vendor websense host 172.16.0.3 protocol TCP
欢迎光临 /racky2005@126 大家一起来学习网络安全! 22 CCSP-CSPFA自学指南学习笔记
使用N2H2作为URL过滤服务器的参数:
firewall(config)#
url-server [(if_name)] vendor n2h2 host local_ip [port number] [timeout seconds]
[protocol {TCP | UDP [connections num_conns]}]
其它的参数意义和Websense的一样。
port number : N2H2的服务器端口。另外,PIX防火墙在该端口上监听UDP答复。缺省的端口号是4005
connections :TCP / UDP的并发连接数
例子:
fw1(config)# url-server (dmz) vendor n2h2 host 172.16.0.3 protocol TCP
第二步:
在指定完允行URL过滤应用程序的服务器后,使用Filter url | ftp | https 命令让防火墙向该服务器发送适当的请求以便进行过滤。
【1】开启HTTP URL过滤
firewall(config)#
filter url {[port[-port] | except } local_ip local_mask foreign_ip foreign_mask] [allow]
[cgi-truncate] [longurl-truncate | longurl-deny] [proxy-block]
在防火墙上使用URL过滤时,filter 命令中的 allow选项至关重要。在URL过滤服务器出于离线状态时,如果使用了allow选项,防火墙将不进行过滤而使所有URL请求继续前进;但是如果未使用allow选项,所有80端口的URL请求都将被阻止,直到服务器重新在线为止。
Port : 在防火墙上接收Internet流量的端口。典型的端口是80,但是也可以使用其他值。可以使用http 或 url 来代替80端口。
Except: 在以前的过滤条件下创建例外
欢迎光临 /racky2005@126 大家一起来学习网络安全! 23 CCSP-CSPFA自学指南学习笔记
Allow : 当URL过滤服务器不能用时,使出站连接不进行过滤就能通过防火墙
cgi-truncate : 把CGI脚本当作URL发送
longurl-truncate: 无论URL缓存是否可用,都允许出站URL流量
longurl-deny: 如果URL超出URL缓存大小的极限或者URL缓存不可用,据绝URL请求
proxy-block: 防止用户连接到HTTP代理服务器
例子:
fw1(config)#filterurlhttp0000allow//每个0代表了0.0.0.0
【2】长URL过滤
在早期的PIX版本中,无法过滤大于1159字节的URL。在版本为6.2和更高版本的防火墙
上,用WebSense过滤服务器最多可以过滤长达4096字节的URL还可以使用url-block ,url-size命令来增加所允许的单一的URL的最大长度(只适用于WebSense)
当用户发出一个长URL请求时,防火墙会把该长URL拆成多个IP数据包并拷贝到缓存中。该URL随后通过TCP被发送到WebSense服务器上。可以使用url-block ,url-mempool命令来配置可供长URL使用的最大缓存。使用url-block , url-size和url-block,url-mempool这两个命令的no 格式可以删除它们。
注意:PIX防火墙不支持用于WebSense UDP服务器的长URL
如果一个URL的长度仍然超出所允许的最大长度或者URL缓存不可用,可以在filter url命令中使用其他新选项来控制这种行为。当URL的长度超过了所允许的最大长度时,longurl-truncate选项将使PIX防火墙只向过滤服务器发送URL中的主机名或IP地址作为判断的依据,longurl-deny选项用来阻止出站URL流量。
如果一个长URL请求是一个CGI请求,使用filter url命令中的新选项cgi-truncate可以加快其处理过程。当启用cgi-truncate选项时,PIX防火墙只向WebSense服务器传递CGI脚本名及位置作为URL 。PIX防火墙省略了可能很长的参数列表。
在版本为6.2的PIX防火墙上,用url-block block命令可以使PIX防火墙在收到过滤服务器的响应前,把来自web服务器的响应记录在缓存中。这将减少客户端等待HTTP响应的时间。而在版本为6.1或者更早的PIX防火墙上,来自Web服务器的响应在收到过滤服务器的响应之前被丢弃,从而导致客户端不得不等待web服务器重新发送响应。响应缓存特性是与WebSense和N2H2这两个过滤应用程序一起产生作用的。使用no url-block block命令可以关闭响应缓存这个特性。
url-block命令语法:
url-block url-size long_url_size //允许的最大URL长度,取值2 - 6KB之间
url-block url-mempool memory_pool_size //在2到10MB之间的最大可分配内存,其取值范围2到10000之间
url-block block block_buffer_limit //在HTTP响应缓存中所允许的块数的最大值
欢迎光临 /racky2005@126 大家一起来学习网络安全! 24 CCSP-CSPFA自学指南学习笔记
例子:
pixfirewall(config)# url-server (inside) vendor Websense host 10.0.0.30 timeout 5
protocol TCP version 1
pixfirewall(config)# filter url http 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 longurl-truncate
cgi-truncate
pixfirewall(config)# url-block url-mempool 1500
pixfirewall(config)# url-block url-size 4
【3】HTTPS过滤
例子:
fw1(config)# filter https 0 0 0 0 0 allow
欢迎光临 /racky2005@126 大家一起来学习网络安全! 25 CCSP-CSPFA自学指南学习笔记
【4】
URL过滤配置范例:
fw1(config)# url-server (dmz) vendor websense host 172.16.0.3 timeout 10 protocol
TCP version 4
fw1(config)# filter url http 0 0 0 0 allow
欢迎光临 /racky2005@126 大家一起来学习网络安全! 26
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690724057a408352.html
评论列表(0条)