標籤:

在ASA防火牆上實現IPSec VPN

在ASA防火牆配置IPSec VPN與路由器的差別不是很大,而且原理相同。VPN工作原理參照上一篇,這裡就不在贅述了。

實驗案例

某軟體開發公司為了降低人員成本,在中小城市建立了分支公司,但是分支公司上傳給總公司的數據一般為軟體開發的關鍵業務數據,如果其被竊取,可能給公司帶來難以預計的損失。作為該分支公司的網路管理員,對網路提出以下設計需求。

需求描述:

1)開發項目小組可以通過VPN訪問總公司研發伺服器,但不能訪問Internet

2)分公司的其他客戶端可以訪問Internet

在GNS3上實驗拓撲如下圖:

具體配置如下:

1、在3sw上的配置

3sw#vlandatabase#創建VLAN

3sw(vlan)#vlan10

3sw(vlan)#vlan20

3sw(vlan)#exit

3sw#conft

3sw(config)#intvlan10#配置VLAN地址

3sw(config-if)#ipadd172.16.10.254255.255.255.0

3sw(config-if)#nosh

3sw(config-if)#intvlan20

3sw(config-if)#ipadd172.16.20.254255.255.255.0

3sw(config-if)#nosh

3sw(config-if)#intf1/0

3sw(config-if)#noswitchport

3sw(config-if)#ipadd192.168.1.2255.255.255.252

3sw(config)#intf1/1

3sw(config-if)#switchportaccessvlan10

3sw(config-if)#intf1/2

3sw(config-if)#switchportaccessvlan20

3sw(config-if)#exit

3sw(config)#iproute0.0.0.00.0.0.0192.168.1.1#配置路由

2、在分公司ASA-1上配置

ASA-1#conft#配置介面地址

ASA-1(config)#inte0/0

ASA-1(config-if)#nameifinside

ASA-1(config-if)#security-level100

ASA-1(config-if)#ipadd192.168.1.1255.255.255.252

ASA-1(config-if)#nosh

ASA-1(config-if)#inte0/1

ASA-1(config-if)#nameifoutside

ASA-1(config-if)#security-level0

ASA-1(config-if)#ipadd100.0.0.1255.255.255.252

ASA-1(config-if)#nosh

ASA-1(config)#routeoutside00100.0.0.2#配置路由

ASA-1(config)#routeinside172.16.0.0255.255.0.0192.168.1.2

ASA-1(config)#nat-control#配置NAT

ASA-1(config)#nat(inside)100

ASA-1(config)#global(outside)1int

ASA-1(config)#access-listnonatextendedpermitip172.16.10.0255.255.255.010.10.33.0255.255.255.0

ASA-1(config)#nat(inside)0access-listnonat#配置NAT豁免

ASA-1(config)#cryptoisakmpenableoutside#啟用ISAKMP/IKE

ASA-1(config)#cryptoisakmppolicy1#配置ISAKMP策略

ASA-1(config-isakmp-policy)#encryptionaes#配置加密演算法

ASA-1(config-isakmp-policy)#hashsha#配置數字簽名

ASA-1(config-isakmp-policy)#authenticationpre-share#採用預共享密鑰

ASA-1(config-isakmp-policy)#group1#指定DH密鑰組

注意:配置預共享密鑰有兩種方式,第一種配置和路由器相同,第二種是7.0以上版本的新特性,7.0以上版本一般採用隧道組來配置密鑰

第一種配置:和路由器配置相同

ASA-1(config)#cryptoisakmpkeyvpn-keyaddress200.0.0.1

第二種配置:採用隧道組配置,配置如下

ASA-1#tunnel-group200.0.0.1typeipsec-l2l

ASA-1(config)#tunnel-group200.0.0.1ipsec-attributes

ASA-1(config-tunnel-ipsec)#pre-shared-keyvpn-key

預共享密鑰任選其一即可,接下來的配置如下:

ASA-1(config)#access-listvpnextendedpermitip172.16.10.0255.255.255.010.10.33.0255.255.255.0#ACL

ASA-1(config)#cryptoipsectransform-setvpn-setesp-aesesp-sha-hmac#配置IPSec變換集

ASA-1(config)#cryptomapvpn-map1matchaddressvpn#應用ACL

ASA-1(config)#cryptomapvpn-map1setpeer200.0.0.1#配置IPSec對等體設備

ASA-1(config)#cryptomapvpn-map1settransform-setvpn-set#應用IPSec變換集

ASA-1(config)#cryptomapvpn-mapinterfaceoutside#將其映射到介面

3、在ISP上配置

ISP#conft

ISP(config)#intf0/0

ISP(config-if)#ipadd100.0.0.2255.255.255.252

ISP(config-if)#nosh

ISP(config-if)#intf0/1

ISP(config-if)#ipadd200.0.0.2255.255.255.252

ISP(config-if)#nosh

4、在總公司ASA-2上配置

ASA-2#conft

ASA-2(config)#inte0/0

ASA-2(config-if)#nameifoutside

ASA-2(config-if)#security-level0

ASA-2(config-if)#ipadd200.0.0.1255.255.255.252

ASA-2(config-if)#nosh

ASA-2(config-if)#inte0/1

ASA-2(config-if)#nameifinside

ASA-2(config-if)#security-level100

ASA-2(config-if)#ipadd10.10.33.254255.255.255.0

ASA-2(config-if)#nosh

ASA-2(config)#routeoutside00200.0.0.2

ASA-2(config)#cryptoisakmpenableoutside

ASA-2(config)#cryptoisakmppolicy1

ASA-2(config-isakmp-policy)#encryptionaes

ASA-2(config-isakmp-policy)#hashsha

ASA-2(config-isakmp-policy)#authenticationpre-share

ASA-2(config-isakmp-policy)#group1

ASA-2(config)#cryptoisakmpkeyvpn-keyaddress100.0.0.1

ASA-2(config)#access-listvpnextendedpermitip10.10.33.0255.255.255.0172.16.10.0255.255.255.0

ASA-2(config)#cryptoipsectransform-setvpn-setesp-aesesp-sha-hmac

ASA-2(config)#cryptomapvpn-map1matchaddressvpn

ASA-2(config)#cryptomapvpn-map1setpeer100.0.0.1

ASA-2(config)#cryptomapvpn-map1settransform-setvpn-set

ASA-2(config)#cryptomapvpn-mapinterfaceoutside

防火牆和路由器的區別

防火牆由於自身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參數允許流量進入和離開具有相同安全級別的兩個不同的介面,多用於遠程訪問VPN會話中的Easy VPN網關。

TAG: |