n路由器ACLASA ACL的区别:

ASA上只会对数据流的第一个数据包进行匹配,一旦连接建立后,后续数据包只要属于此连接的就不用再执行ACL检查。

ACL的重要特性:

nASAACL的应用分为两个方向,接口的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

nTCPUDP流量通过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.180端口

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

ASAoutside口上应用ACL newname

n在同一个接口的同一个方向只能应用一条ACL

高级ACL特性

为了简化ACL条目,ASA可以使用对象分组(可以见一个分组加入到另一个分组中)。

nProtocol

按照协议分组,用来指定3层的协议,如TCPUDPICMPGREIGMP

将一个分组加入另一分组中,使用group-object 命令。

nService

按照服务分组,用来指定4层的TCPUDP服务。比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

//定义临时工时间段从81号的8点到1231好的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