n路由器ACL与ASA ACL的区别:
ASA上只会对数据流的第一个数据包进行匹配,一旦连接建立后,后续数据包只要属于此连接的就不用再执行ACL检查。
ACL的重要特性:
nASA中ACL的应用分为两个方向,接口的in方向,out方向。In方向先执行ACL,然后是其它操作。Out方向先执行设备上的其它操作(如NAT,QOS,×××等),然后执行ACL。
n如果将一条添加一条ACE,那么它将在ACL的最后。
nASA会按照ACE的顺序去检查,ACE需按正确的顺序添加。
n所有ACL末尾都有一条隐式拒绝条目(implicit deny),如果流量没有匹配前面的ACE,则执行这条。
n默认情况下,高安全级别可以访问低安全级别的端口。但是一旦在此方向上应用了ACL,那么默认的隐式方向将失效,需要手工放行其它流量。
nASA必须明确放行从低安全级别端口到高安全级别端口的流量。
n在同一个接口的同一个方向上,可以同时绑定一个扩展ACL和一个EtherType ACL。
n可以将同一个ACL应用到不同的接口上。(不推荐)
nACL既可以控制流经ASA的流量,也可以控制流向ASA的流量。方法是在末尾添加参数control-plane。(如设备中有优先级高于此ACL的则执行优先级高的,例如SSH中定义的方向主机)
ciscoasa(config)#access-list deny-asa extended deny ip any any
ciscoasa(config)#access-group deny-asa in interface inside control-plane
n当TCP,UDP流量通过ASA后,ASA会自动方向它的返回流量。
nIcmp被看做单向连接,所以需要双向方向。但如果开启ICMP监控,就不需要双向放行了。
n即使ASA使用ACL过滤了所有的ICMP流量,默认情况下,ASA还是允许以自己为目的的ICMP流量。此时可使用control-plane或者ICMP策略来过滤流量。
ciscoasa(config)# icmp deny any inside
ACL的基本配置:
步骤一:定义ACL
n在配置ACL前建议添加标注(标注不具有实际意义)。
n以下ACE分别为:
注释This is Test ACL
允许要不任意主机访问内部主机1.1.1.2
允许外部主机3.3.3.2ping内部主机2.2.2.2
允许外部网段10.1.1.0访问内部主机4.4.4.1的80端口
naccess-list outside-acl extended permit ip any host 1.1.1.2 inactive
此命令是将此条ACE暂停使用。使用此功能的方法是在ACE的末尾添加inactive参数。
nciscoasa(config)# access-list outside-acl rename newname-acl
在8.0及后续版本中ASA支持重命名ACL。
步骤二:在接口上应用ACL
nciscoasa(config)# access-group newname-acl in interface outside
在ASA的outside口上应用ACL newname。
n在同一个接口的同一个方向只能应用一条ACL。
高级ACL特性
为了简化ACL条目,ASA可以使用对象分组(可以见一个分组加入到另一个分组中)。
nProtocol
按照协议分组,用来指定3层的协议,如TCP、UDP、ICMP、GRE和IGMP
将一个分组加入另一分组中,使用group-object 命令。
nService
按照服务分组,用来指定4层的TCP和UDP服务。比protocol分类更详细。
nNetwork
按照IP地址分组,用来指定主机或子网。
nIcmp-echo
按照icmp的类型分组。
使用对象分组配置ACE
ACE的配置方法如下:
access-list outside-acl permit object-group tcp(协议)object-group host-pc (源地址)object-group host-ser(目的地址)object-group ser-port(目的端口)
n基于时间的ACL
ciscoasa(config)# time-range temp
ciscoasa(config-time-range)# absolute start 08:00 01 August 2012 end 17:00 31 December 2012
//定义临时工时间段从8月1号的8点到12月31好的17点
ciscoasa(config)# time-range business
ciscoasa(config-time-range)# periodic weekdays 8:00 to 17:00
ciscoasa(config-time-range)# periodic saturday 8:00 to 12:00
//定义雇员时间周期工作日从8点到5点,周六8点到12点
ciscoasa(config)# access-list outside-acl extended permit ip host 10.1.1.2 host 2.2.2.2 time-range temp
//允许临时工在temp时间段内访问2.2.2.2
ciscoasa(config)# access-list outside-acl extended permit ip host 10.2.2.2 host 2.2.2.2 time-range business
//允许雇员在business时间周期内访问2.2.2.2
转载于:https://blog.51cto.com/catylg/965227