王 格
(湖北國土資源職業(yè)學院 湖北 武漢 430090)
對于一些規(guī)模較大的企業(yè)來說,網(wǎng)絡訪問需求不僅局限在公司總部網(wǎng)絡內(nèi),同時分公司、辦事處、出差員工、合作單位等也有訪問公司總部網(wǎng)絡資源的需求。 在訪問資源過程中,如果直接采用Internet 進行數(shù)據(jù)傳輸,那么可能出現(xiàn)數(shù)據(jù)被盜取、篡改的可能。 如果搭建專網(wǎng)傳輸數(shù)據(jù),雖然可以有效地保證企業(yè)數(shù)據(jù)安全性,但是要面臨著使用成本高、使用率低、部署不靈活等問題。
為了有效解決上述問題,滿足相關需求,可以采用虛擬專用網(wǎng)絡(virtual private network,VPN)技術。 VPN即虛擬專用網(wǎng),泛指通過VPN 技術在公用網(wǎng)絡上構建的虛擬專用網(wǎng)絡。 VPN 用戶在此虛擬網(wǎng)絡中傳輸私網(wǎng)流量,在不改變網(wǎng)絡現(xiàn)狀的情況下,可以實現(xiàn)安全、可靠的連接。
1.1.1 三種協(xié)議
互聯(lián)網(wǎng)絡層安全協(xié)議(internet protocol security,IPsec)VPN 一般部署在企業(yè)出口設備之間,通過加密和驗證等方式,實現(xiàn)了數(shù)據(jù)來源驗證、數(shù)據(jù)加密、數(shù)據(jù)完整性保護和抗重放等功能。 IPsec 是一個協(xié)議體系,其包括認證頭(authentication header,AH)、封裝安全載荷(encapsulating security payload,ESP)、密鑰交換(internet key exchange,IKE)等協(xié)議[1]。
AH 協(xié)議用來對IP 報文進行數(shù)據(jù)源認證和完整性校驗,即用來保證傳輸?shù)腎P 報文的來源可信和數(shù)據(jù)不被篡改,但它并不提供加密功能。 AH 協(xié)議在每個數(shù)據(jù)包的標準IP 報文頭后面添加一個AH 報文頭,AH 協(xié)議對報文的完整性校驗范圍是整個IP 報文。
ESP 協(xié)議除了對IP 報文進行數(shù)據(jù)源認證和完整性校驗以外,還能對數(shù)據(jù)進行加密。 ESP 協(xié)議在每一個數(shù)據(jù)包的標準IP 報頭后方添加一個ESP 報文頭,并在數(shù)據(jù)包后方追加一個ESP 尾(ESP Trailer 和ESP Auth data)。
IPsec 隧道建立過程中需要協(xié)商安全聯(lián)盟(security association,SA),IPsec SA 一般通過IKE 協(xié)商生成。 IKE作為密鑰協(xié)商協(xié)議,其協(xié)商分為兩個階段:階段一IKE SA協(xié)商(主要包括加密策略定義、密鑰算法、認證方式、密鑰分配等策略)和階段二IPsec SA 協(xié)商(主要包括定義轉(zhuǎn)換集、數(shù)據(jù)加密、完整性驗證、對等體設置、加密映射等)[2]。IKE SA 建立后對等體間的所有ISAKMP 消息都將通過加密和驗證,這條安全通道可以保證IKE 第二階段的協(xié)商能夠安全進行。 IKE 協(xié)商階段二使用IKE 協(xié)商階段一中生成的密鑰對ISAKMP 消息完整性和身份進行驗證,并對ISAKMP 消息進行加密,故保證了交換的安全性。
1.1.2 兩種封裝模式
IPsec VPN 有兩種封裝模式:傳輸模式和隧道模式。
傳輸模式僅對IP 報文的數(shù)據(jù)部分進行封裝,不會改變原來的報頭。 傳輸模式一般用于主機到主機之間的加密,即點到點的傳輸。 隧道模式對整個IP 報文進行封裝,并在原IP 報文前加上新的頭部,形成新的IP 報文。 隧道模式一般用于路由器或防火墻上對某個網(wǎng)段的數(shù)據(jù)進行封裝,實現(xiàn)站點到站點的通信[3]。
雖然IPsec 有很好的安全性,但是僅支持IP 協(xié)議,不支持多層上層協(xié)議和組播。
通用路由封裝協(xié)議(general routing encapsulation,GRE)是一種三層VPN 封裝技術。 GRE 可以對某些網(wǎng)絡層協(xié)議(如IPX、IPv4、IPv6 等)的報文進行封裝,使封裝后的報文能夠在另一種網(wǎng)絡中(如IPv4)傳輸,從而解決了跨越異種網(wǎng)絡的報文傳輸問題[4]。
但是,GRE 不支持加密和認證,數(shù)據(jù)安全傳輸?shù)貌坏胶芎玫谋U稀?/p>
GER over IPsec 充分結合GRE 和IPsec 的優(yōu)勢,通過GRE 將組播、廣播、非IP 報文封裝成普通的IP 報文,通過IPsec 將封裝后的IP 報文進行加密,保證傳輸?shù)陌踩浴?/p>
仿真拓撲圖設計如圖1 所示,該拓撲圖模擬在公司總部和公司分部兩個局域網(wǎng)之間建立一條GER over IPsec VPN 隧道,實現(xiàn)對公司總部和公司分部通信時數(shù)據(jù)流的安全保護。
圖1 仿真拓撲圖
首先按照拓撲圖規(guī)劃完成基礎IP 配置,并完成配置GRE 隧道,以及防火墻的安全區(qū)域劃分。 以FW1 為例,配置命令如下:
[FW1]interface Tunnel1
[FW1-Tunnel1] ip address 1.1.1.1 255.255.255.0
[FW1-Tunnel1] tunnel?protocol gre
[FW1-Tunnel1] source 201.1.1.2
[FW1-Tunnel1] destination 202.1.1.2
上述命令創(chuàng)建了隧道端口Tunnel1,配置其IP 地址1.1.1.1/24,設置隧道協(xié)議為GRE,同時指定隧道的源地址為201.1.1.2,隧道目的地址為202.1.1.2。
同時使用下述命令,將FW1 的G1/0/0 端口劃分trust區(qū)域,G1/0/1 劃分untrust 區(qū)域,tunnel 劃分dmz 區(qū)域。
[FW1]firewall zone trust
[FW1-zone?trust] add interface GigabitEthernet1/0/0
[FW1]firewall zone untrust
[FW1-zone?untrust]add interface GigabitEthernet1/0/1
[FW1]firewall zone dmz
[FW1-zone?dmz] add interface Tunnel1
然后配置路由協(xié)議,將總公司與分公司之間的通信流量引入到隧道中。 以FW1 為例,配置命令如下:
[FW1]ip route?static 0.0.0.0 0.0.0.0 201.1.1.1
[FW1] ip route?static 192.168.2.0 255.255.255.0 Tunnel1
在上述命令中,配置了兩條靜態(tài)路由,其中靜態(tài)路由ip route?static 192.168.2.0 255.255.255.0 Tunnel1,實現(xiàn)將公司總部和公司分部的流量引入到隧道中。 而訪問其他網(wǎng)絡的流量則通過AR1,由靜態(tài)路由ip route?static 0.0.0.0 0.0.0.0 201.1.1.1 實現(xiàn)。
最后配置IPsec,實現(xiàn)對數(shù)據(jù)流量加密,保證安全傳輸。 以FW1 為例,配置命令如下:
(1)建立IKE 提議
[FW1]ike proposal 1
[FW1-ike?proposal-1] dh group14
在上述命令中,創(chuàng)建IKE 提議proposal 1,并采用DH密鑰交換組,DH 組為group14。 此時,默認協(xié)商時使用sha2-256 認證算法,配置身份認證方法為pre?share,加密算法為aes-256,采用hmac?sha2-256 算法產(chǎn)生偽隨機數(shù)。需要注意的是,IKE 協(xié)商時,兩端對等體使用IKE 安全提議中的認證方法必須保持一致,否則會導致IKE 協(xié)商失?。?]。
(2)創(chuàng)建IKE 對等體
[FW1]ike peer to_fw2
[FW1-ike?peer?to_fw2] pre?shared?key huawei@123
[FW1-ike?peer?to_fw2] ike?proposal 1
[FW1-ike?peer?to_fw2] remote?address 202.1.1.2
在上述命令中,創(chuàng)建IKE 對等體名稱為to_fw2,對等體地址為202.1.1.2。 同時設置預共享密鑰為huawei@123,并關聯(lián)IKE 提議proposal 1。
(3)創(chuàng)建IPsec 安全提議
[FW1]ipsec proposal p1
[FW1-ipsec?proposal?p1] transform esp
在上述命令中,創(chuàng)建IPsec 安全提議proposal p1,加密方式采用esp,該方式默認的認證算法為sha2-256,,加密算法為aes-256。
(4)定義匹配安全流量
[FW1]acl number 3000
[FW1 - acl?adv - 3000] rule 5 permit gre source 201.1.1.2 0 destination 202.1.1.2 0
在上述命令中,配置高級ACL 定義需要保護數(shù)據(jù)流,協(xié)議為gre,數(shù)據(jù)流源為201.1.1.2/24,數(shù)據(jù)流目的為202.1.1.2/24,需要注意的是,此處應該要寫公網(wǎng)地址。
(5)配置IPsec 安全策略
[FW1]ipsec policy test 10 isakmp
[FW1-ipsec?policy?isakmp?test-10]security acl 3000
[FW1-ipsec?policy?isakmp?test-10] ike?peer to_fw2
[FW1-ipsec?policy?isakmp?test-10] proposal p1
在上述命令中,配置IPsec 安全策略test,在IPsec 安全策略中將匹配的安全流量,IKE 提議,IKE 對等體進行關聯(lián)。
(6)端口應用
[FW1]interface GigabitEthernet1/0/1
[FW1-GigabitEthernet1/0/1] ipsec policy test
在上述命令中,將IPsec 安全策略test 應用到接口G1/0/1。
2.3.1 連通性測試
從圖2 可以看出,總公司和分公司在完成配置GER over IPsec VPN 后是可以ping 通的,即滿足正常通信需求。
圖2 PC1 和PC2 連通性測試
2.3.2 IKE 協(xié)商過程數(shù)據(jù)包分析
從圖3 可以看出,IKE 階段以協(xié)商為主模式,經(jīng)歷了3次交換過程(SA 交換、密鑰交換、ID 交換及驗證),6 次交互消息,IKE 階段二協(xié)商為快速模式,需要交互消息3次[6]。 階段二所有的數(shù)據(jù)包都進行了加密。
圖3 IKE 協(xié)商過程數(shù)據(jù)包分析
2.3.3 數(shù)據(jù)傳輸加密分析
從圖4 可以發(fā)現(xiàn),經(jīng)過隧道的數(shù)據(jù)被成功加密,加密協(xié)議為ESP。 加密數(shù)據(jù)包中,只存在由ESP 封裝的SPI 和Sequence,SPI 是目標對等體在IKE 協(xié)商期間隨機選擇的數(shù)字類似于索引,用于在安全關聯(lián)數(shù)據(jù)庫(SADB)中查找對應的IPsec SA,Sequence 是發(fā)送方插入ESP 包頭序列號,提供抗重放服務[7]。
圖4 數(shù)據(jù)傳輸加密分析
綜上所述,GER over IPsec VPN 可以充分結合GRE VPN 和IPsec VPN 的優(yōu)勢,通過GRE 將組播、廣播、非IP 報文封裝成普通的IP 報文,通過IPsec 將封裝后的IP 報文進行加密,保證網(wǎng)絡通信時,數(shù)據(jù)傳輸?shù)陌踩浴?/p>