1、最基本的一点。ASA上的ACL用的不是反向掩码,而是普通的掩码;路由器上的ACL则用反向掩码
e.g. ASA ACL: access-list test permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0
Router ACL: access-list 102 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
另外,编辑此贴时刚发现的一点,防火墙上的ACL直接支持用字母命名,而路由器上同样的书写格式只能用数字,不能用字母命名,除非换一种书写格式才行。
e.g. ip access-list extended test permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
2、默认的访问控制。路由器上的端口如果没有设置ACL,所有端口都是permit ip any any的,路由的宗旨是使不同网段进行通迅;防火墙上的端口如果未设置ACL,至少部分端口以及部分方向的通迅是被阻止的,防火墙的宗旨是安全,安全就要阻止通迅。
防火墙的端口要启用需要三个条件,一是设置nameif, 二是设置security-level,三是设置ip addr, 当然还要no shut.
int e0/0
nameif intranet
security-level 100
ip addr 192.168.1.100
在端口未关联ACL的情况下,防火墙默认的访问控制规则为:从高安全级别端口发起的到低安全级别端口的访问都允许,从低安全级别端口发起的到高健全级别端口的访问都阻止,相同安全级别的端口之间也不能互访,除非设置了same-security-traffic permit inter-interface
3、防火墙的状态表。防火墙是有状态的包过滤设备,它通过各种状态表(state table)以及访问策略来验证进入其端口的数据包的合法性和正确性。对于已经建立的连接,已经在状态表中有记录,就不需要再使用ACL进行检查了。端口上应用的ACL是用来确定哪些新的连接允许进入状态表,只要进入状态表,ACL就管不着了,路由器不会象防火墙那样,在状态表中记下每个连接的特征(src addr/port dst addr/port .etc.)自动允许由目标地址返回源地址的数据包,路由器是无状态的,必须在每个端口上明确的设置允许所需要的数据流。
4、编辑ACL。防火墙有ASDM图形化界面的配置工具,可以方便的对ACL进行复制,移动,插入,删除,和修改。CLI界面也可以对ACL进行编辑,e.g. 插入ACE,已有存在的ACL
access-list test line 1 extended permit ip 192.168.1.0 255.255.255.0 any
access-list test line 2 extended deny ip 192.168.2.0 255.255.255.0 any
现在要插入一条ACE到line 1 和line 2之间,键入下面命令行
access-list test line 2 extended permit ip 192.168.2.0 255.255.255.0 192.168.1.0 255.255.255.0
原来的line 2就被挤到后面,成了line 3。
access-list test line 1 extended permit ip 192.168.1.0 255.255.255.0 any
access-list test line 2 extended permit ip 192.168.2.0 255.255.255.0 192.168.1.0 255.255.255.0
access-list test line 3 extended deny ip 192.168.2.0 255.255.255.0 any
路由器编辑ACL时建议使用 ip access-list { standard | extended }
R3(config)#ip access-list extended test
R3(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 any /***默认序号 10
R3(config-ext-nacl)#deny ip 192.168.2.0 0.0.0.255 any /***默认序号 20
R3(config-ext-nacl)#15 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 /***插入到10和20之间
R3(config)#do sh access-list
Extended IP access list test
10 permit ip 192.168.1.0 0.0.0.255 any
15 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
20 deny ip 192.168.2.0 0.0.0.255 any
R3(config)#ip access-list resequence test 10 10 /***重新编排序号,从10开始,递增10
R3(config)#do sh access-list
Extended IP access list test
10 permit ip 192.168.1.0 0.0.0.255 any
20 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
30 deny ip 192.168.2.0 0.0.0.255 any
R3(config)#
5、防火墙中有对象组(Object Group)用于简化ACL的配置管理,路由器没有相关概念。Object Group允许把任意多个,可设置同一访问策略的,IP地址,IP协议及端口号组成一组,共享一条ACE,还可以重复使用。大大减少了必须的ACE数量,简化了ACL配置;同时,修改Object Group中的成员后,与之相关联的ACL会自动更新,这样也简化了ACL的维护工作。
e.g.
ciscoasa(config)# object-group network OFFICE-AREA
ciscoasa(config-network)# network-object 192.168.1.0 255.255.255.0
ciscoasa(config-network)# network-object 192.168.10.0 255.255.255.0
ciscoasa(config-network)# network-object 172.20.0.0 255.255.0.0
ciscoasa(config-network)# exit
ciscoasa(config)# object-group service TO-DMZ tcp
ciscoasa(config-service)# port-object eq http
ciscoasa(config-service)# port-object eq smtp
ciscoasa(config-service)# port-object eq https
ciscoasa(config-service)# port-object eq ftp
ciscoasa(config-service)#exit
ciscoasa(config)#access-list INSIDE-IN extended permit tcp object-group OFFICE-AREA gt 1024 172.16.1.0 255.255.255.0 object-group TO-DMZ