在ASA防火墙配置IPSec ***与路由器的差别不是很大,而且原理相同。***工作原理参照上一篇,这里就不在赘述了。
实验案例
某软件开发公司为了降低人员成本,在中小城市建立了分支公司,但是分支公司上传给总公司的数据一般为软件开发的关键业务数据,如果其被窃取,可能给公司带来难以预计的损失。作为该分支公司的网络管理员,对网络提出以下设计需求。
需求描述:
1)开发项目小组可以通过***访问总公司研发服务器,但不能访问Internet
2)分公司的其他客户端可以访问Internet
在GNS3上实验拓扑如下图:
具体配置如下:
1、在3sw上的配置
3sw#vlan database #创建VLAN 3sw(vlan)#vlan 10 3sw(vlan)#vlan 20 3sw(vlan)#exit 3sw#conf t 3sw(config)#int vlan 10 #配置VLAN地址 3sw(config-if)#ip add 172.16.10.254 255.255.255.0 3sw(config-if)#no sh 3sw(config-if)#int vlan 20 3sw(config-if)#ip add 172.16.20.254 255.255.255.0 3sw(config-if)#no sh 3sw(config-if)#int f1/2 3sw(config-if)#no switchport 3sw(config-if)#ip add 192.168.1.2 255.255.255.252 3sw(config)#int f1/0 3sw(config-if)#switchport access vlan 10 3sw(config-if)#int f1/1 3sw(config-if)#switchport access vlan 20 3sw(config-if)#exit 3sw(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1 #配置路由
2、在分公司ASA-1上配置
ASA-1# conf t #配置接口地址 ASA-1(config)# int e0/0 ASA-1(config-if)# nameif inside ASA-1(config-if)# security-level 100 ASA-1(config-if)# ip add 192.168.1.1 255.255.255.252 ASA-1(config-if)# no sh ASA-1(config-if)# int e0/1 ASA-1(config-if)# nameif outside ASA-1(config-if)# security-level 0 ASA-1(config-if)# ip add 100.0.0.1 255.255.255.252 ASA-1(config-if)# no sh ASA-1(config)# route outside 0 0 100.0.0.2 #配置路由 ASA-1(config)# route inside 172.16.0.0 255.255.0.0 192.168.1.2 ASA-1(config)# nat-control #配置NAT ASA-1(config)# nat (inside) 1 0 0 ASA-1(config)# global (outside) 1 int ASA-1(config)# access-list nonat extended permit ip 172.16.10.0 255.255.255.0 10.10.33.0 255.255.255.0 ASA-1(config)# nat (inside) 0 access-list nonat #配置NAT豁免 ASA-1(config)# crypto isakmp enable outside #启用ISAKMP/IKE ASA-1(config)# crypto isakmp policy 1 #配置ISAKMP策略 ASA-1(config-isakmp-policy)# encryption aes #配置加密算法 ASA-1(config-isakmp-policy)# hash sha #配置数字签名 ASA-1(config-isakmp-policy)# authentication pre-share #采用预共享密钥 ASA-1(config-isakmp-policy)# group 1 #指定DH密钥组
注意:配置预共享密钥有两种方式,第一种配置和路由器相同,第二种是7.0以上版本的新特性,7.0以上版本一般采用隧道组来配置密钥
第一种配置:和路由器配置相同
ASA-1(config)# crypto isakmp key ***-key address 200.0.0.1
第二种配置:采用隧道组配置,配置如下
ASA-1# tunnel-group 200.0.0.1 type ipsec-l2l ASA-1(config)# tunnel-group 200.0.0.1 ipsec-attributes ASA-1(config-tunnel-ipsec)# pre-shared-key ***-key
预共享密钥任选其一即可,接下来的配置如下:
ASA-1(config)# access-list *** extended permit ip 172.16.10.0 255.255.255.0 10.10.33.0 255.255.255.0 #ACL ASA-1(config)# crypto ipsec transform-set ***-set esp-aes esp-sha-hmac #配置IPSec变换集 ASA-1(config)# crypto map ***-map 1 match address *** #应用ACL ASA-1(config)# crypto map ***-map 1 set peer 200.0.0.1 #配置IPSec对等体设备 ASA-1(config)# crypto map ***-map 1 set transform-set ***-set #应用IPSec变换集 ASA-1(config)# crypto map ***-map interface outside #将其映射到接口
3、在ISP上配置
ISP#conf t ISP(config)#int f0/0 ISP(config-if)#ip add 100.0.0.2 255.255.255.252 ISP(config-if)#no sh ISP(config-if)#int f0/1 ISP(config-if)#ip add 200.0.0.2 255.255.255.252 ISP(config-if)#no sh
4、在总公司ASA-2上配置
ASA-2# conf t ASA-2(config)# int e0/0 ASA-2(config-if)# nameif outside ASA-2(config-if)# security-level 0 ASA-2(config-if)# ip add 200.0.0.1 255.255.255.252 ASA-2(config-if)# no sh ASA-2(config-if)# int e0/1 ASA-2(config-if)# nameif inside ASA-2(config-if)# security-level 100 ASA-2(config-if)# ip add 10.10.33.254 255.255.255.0 ASA-2(config-if)# no sh ASA-2(config)# route outside 0 0 200.0.0.2 ASA-2(config)# crypto isakmp enable outside ASA-2(config)# crypto isakmp policy 1 ASA-2(config-isakmp-policy)# encryption aes ASA-2(config-isakmp-policy)# hash sha ASA-2(config-isakmp-policy)# authentication pre-share ASA-2(config-isakmp-policy)# group 1 ASA-2(config)# crypto isakmp key ***-key address 100.0.0.1 ASA-2(config)# access-list *** extended permit ip 10.10.33.0 255.255.255.0 172.16.10.0 255.255.255.0 ASA-2(config)# crypto ipsec transform-set ***-set esp-aes esp-sha-hmac ASA-2(config)# crypto map ***-map 1 match address *** ASA-2(config)# crypto map ***-map 1 set peer 100.0.0.1 ASA-2(config)# crypto map ***-map 1 set transform-set ***-set ASA-2(config)# crypto map ***-map interface outside
防火墙和路由器的区别
防火墙由于自身IOS原因,在配置命令方面与路由器有一定区别,但并不非常明显。这里重点介绍两个方面:
1、默认配置的区别
在建立管理连接的过程中,cisco asa防火墙和路由器默认情况下使用的参数不同。
Cisco asa防火墙使用的参数如下:
ASA-1(config)# show run crypto
路由器使用的参数如下:
Router#show crypto isakmp policy
防火墙不支持命令show crypto isakmp policy,要想查看管理连接的默认参数,需在初始配置下启用isakmp策略,然后通过命令show run进行观察。与路由器相比,默认的加密算法变为3DES,默认的DH组使用2,默认的设备验证方法变为预共享秘钥,而默认的HASH算法以及生存周期没有变化。
ASA防火墙采用了更为安全的默认设置,这是cisco公司设备技术革新的一种表现。需要注意的是,如果ipsec对等体双方式ASA防火墙和cisco路由器,那么使用默认的ISAKMP策略是无法建立连接的。
另外,在数据连接建立过程中,ASA防火墙只支持ESP协议,因此,如果路由器使用AH协议实现数据验证功能,将无法与ASA成功地建立数据连接。
2、IKE协商默认是否开启
默认情况下,IKE协商在路由器中是开启的,而在ASA防火墙中是关闭的。因此,在ASA防火墙中必须使用命令crypto isakmp enable outside开启IKE协商。
3、隧道组特性的引入
严格意义上说,这并不能算是防火墙和路由器的配置差异,而防火墙从6.x版本升级到7.0版本引入的新特性,它主要用于简化ipsec会话的配置和管理。而且路由器配置共享秘钥key的命令(crypto isakmp key key-string address peer-address),ASA防火墙依然支持。
4、接口安全级别对于ipsec流量的影响。
防火墙存在一种限制,如果流量从一个接口进入,就不能从相同安全级别的端口流出。即流量不能在统一安全级别的端口之间传输,这主要是从安全方面考虑而设定的一种特性,但可能对ipsec流量造成一定的影响。
假如ASA防火墙处于网络的中心节点(如公司总部),为了实现对分公司网络流量的统一管理,要求分公司之间的访问流量必须通过总公司。这就会出现上述情况,造成分公司之间无法通信。这时就需要使用如下命令来实现。
ASA-1(config)# same-security-traffic permit {intra-interface | inter-interface}
上面命令最后两个参数的区别:
Intra-interface参数允许流量进入和离开同一个接口,多用于L2L会话中的中心设备;
inter-interface参数允许流量进入和离开具有相同安全级别的两个不同的接口,多用于远程访问***会话中的Easy ***网关。
转载于:https://blog.51cto.com/yangshufan/2104565