在ASA防火墙配置IPSec ***与路由器的差别不是很大,而且原理相同。***工作原理参照上一篇,这里就不在赘述了。

 

实验案例

    某软件开发公司为了降低人员成本,在中小城市建立了分支公司,但是分支公司上传给总公司的数据一般为软件开发的关键业务数据,如果其被窃取,可能给公司带来难以预计的损失。作为该分支公司的网络管理员,对网络提出以下设计需求。

杨书凡00.png

 


 

需求描述:

1)开发项目小组可以通过***访问总公司研发服务器,但不能访问Internet

2)分公司的其他客户端可以访问Internet

 

在GNS3上实验拓扑如下图:



杨书凡01.png


具体配置如下:

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防火墙处于网络的中心节点(如公司总部),为了实现对分公司网络流量的统一管理,要求分公司之间的访问流量必须通过总公司。这就会出现上述情况,造成分公司之间无法通信。这时就需要使用如下命令来实现。

杨书凡02.png


ASA-1(config)# same-security-traffic permit {intra-interface | inter-interface}

 

上面命令最后两个参数的区别:

Intra-interface参数允许流量进入和离开同一个接口,多用于L2L会话中的中心设备;

inter-interface参数允许流量进入和离开具有相同安全级别的两个不同的接口,多用于远程访问***会话中的Easy ***网关。