在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 ***網關。