解析:
什麽是VPN
VPN(Virtual Private Neork):虛擬專用網絡,是壹門網絡新技術,為我們提供了壹種通過公用網絡安全地對企業內部專用網絡進行遠程訪問的連接方式。我們知道壹個網絡連接通常由三個部分組成:客戶機、傳輸介質和服務器。VPN同樣也由這三部分組成,不同的是VPN連接使用隧道作為傳輸通道,這個隧道是建立在公***網絡或專用網絡基礎之上的,如:Inter或Intra。
要實現VPN連接,企業內部網絡中必須配置有壹臺基於Windows NT或Windows2000 Server的VPN服務器,VPN服務器壹方面連接企業內部專用網絡,另壹方面要連接到Inter,也就是說VPN服務器必須擁有壹個公用的IP地址。當客戶機通過VPN連接與專用網絡中的計算機進行通信時,先由ISP(Inter服務提供商)將所有的數據傳送到VPN服務器,然後再由VPN服務器負責將所有的數據傳送到目標計算機。VPN使用三個方面的技術保證了通信的安全性:隧道協議、身份驗證和數據加密。客戶機向VPN服務器發出請求,VPN服務器響應請求並向客戶機發出身份質詢,客戶機將加密的響應信息發送到VPN服務器,VPN服務器根據用戶數據庫檢查該響應,如果賬戶有效,VPN服務器將檢查該用戶是否具有遠程訪問權限,如果該用戶擁有遠程訪問的權限,VPN服務器接受此連接。在身份驗證過程中產生的客戶機和服務器公有密鑰將用來對數據進行加密。
VPN的基本配置:
工作原理:
壹邊服務器的網絡子網為192.168.1.0/24
路由器為100.10.15.1
另壹邊的服務器為192.168.10.0/24
路由器為200.20.25.1。
執行下列步驟:
1. 確定壹個預先***享的密鑰(保密密碼)(以下例子保密密碼假設為noIP4u)
2. 為SA協商過程配置IKE。
3. 配置IPSec。
配置IKE:
Shelby(config)#crypto isakmp policy 1
註釋:policy 1表示策略1,假如想多配幾個VPN,可以寫成policy 2、policy3┅
Shelby(config-isakmp)#group 1
註釋:除非購買高端路由器,或是VPN通信比較少,否則最好使用group 1長度的密鑰,group命令有兩個參數值:1和2。參數值1表示密鑰使用768位密鑰,參數值2表示密鑰使用1024位密鑰,顯然後壹種密鑰安全性高,但消耗更多的CPU時間。
Shelby(config-isakmp)#authentication pre-share
註釋:告訴路由器要使用預先***享的密碼。
Shelby(config-isakmp)#lifetime 3600
註釋:對生成新SA的周期進行調整。這個值以秒為單位,默認值為86400,也就是壹天。值得註意的是兩端的路由器都要設置相同的SA周期,否則VPN在正常初始化之後,將會在較短的壹個SA周期到達中斷。
Shelby(config)#crypto isakmp key noIP4u address 200.20.25.1
註釋:返回到全局設置模式確定要使用的預先***享密鑰和指歸VPN另壹端路由器IP地址,即目的路由器IP地址。相應地在另壹端路由器配置也和以上命令類似,只不過把IP地址改成100.10.15.1。
配置IPSec
Shelby(config)#access-list 130 permit ip 192.168.1.0 0.0.0.255 172.16.10.0 0.0.0.255
註釋:在這裏使用的訪問列表號不能與任何過濾訪問列表相同,應該使用不同的訪問列表號來標識VPN規則。
Shelby(config)#crypto ipsec transform-set vpn1 ah-md5-hmac esp-des esp-md5-hmac
註釋:這裏在兩端路由器唯壹不同的參數是vpn1,這是為這種選項組合所定義的名稱。在兩端的路由器上,這個名稱可以相同,也可以不同。以上命令是定義所使用的IPSec參數。為了加強安全性,要啟動驗證報頭。由於兩個網絡都使用私有地址空間,需要通過隧道傳輸數據,因此還要使用安全封裝協議。最後,還要定義DES作為保密密碼鑰加密算法。
Shelby(config)#crypto map shortsec 60 ipsec-isakmp
註釋:以上命令為定義生成新保密密鑰的周期。如果攻擊者破解了保密密鑰,他就能夠解使用同壹個密鑰的所有通信。基於這個原因,我們要設置壹個較短的密鑰更新周期。比如,每分鐘生成壹個新密鑰。這個命令在VPN兩端的路由器上必須匹配。參數shortsec是我們給這個配置定義的名稱,稍後可以將它與路由器的外部接口建立關聯。
Shelby(config-crypto-map)#set peer 200.20.25.1
註釋:這是標識對方路由器的合法IP地址。在遠程路由器上也要輸入類似命令,只是對方路由器地址應該是100.10.15.1。
Shelby(config-crypto-map)#set transform-set vpn1
Shelby(config-crypto-map)#match address 130
註釋:這兩個命令分別標識用於這個連接的傳輸設置和訪問列表。
Shelby(config)#interface s0
Shelby(config-if)#crypto map shortsec
註釋:將剛才定義的密碼圖應用到路由器的外部接口。
現在剩下的部分是測試這個VPN的連接,並且確保通信是按照預期規劃進行的。
最後壹步是不要忘記保存運行配置,否則所作的功勞白費了。
附:參照網絡安全範圍,VPN硬件設備應放置以下四個地點:
● 在DMZ的防火墻之外
● 連接到防火墻的第三個網卡(服務網絡)
● 在防火墻保護的範圍之內
● 與防火墻集成
VPN的工作原理
用戶連接VPN的形式:
常規的直接撥號連接與虛擬專網連接的異同點在於在前壹種情形中,PPP(點對點協議)數據包流是通過專用線路傳輸的。在VPN中,PPP數據包流是由壹個LAN上的路由器發出,通過***享IP網絡上的隧道進行傳輸,再到達另壹個LAN上的路由器。
這兩者的關鍵不同點是隧道代替了實實在在的專用線路。隧道好比是在WAN雲海中拉出壹根串行通信電纜。那麽,如何形成VPN隧道呢?
建立隧道有兩種主要的方式:客戶啟動(Client-Initiated)或客戶透明(Client-Transparent)。客戶啟動要求客戶和隧道服務器(或網關)都安裝隧道軟件。後者通常都安裝在公司中心站上。通過客戶軟件初始化隧道,隧道服務器中止隧道,ISP可以不必支持隧道。客戶和隧道服務器只需建立隧道,並使用用戶ID和口令或用數字許可證鑒權。壹旦隧道建立,就可以進行通信了,如同ISP沒有參與連接壹樣。
另壹方面,如果希望隧道對客戶透明,ISP的POPs就必須具有允許使用隧道的接入服務器以及可能需要的路由器。客戶首先撥號進入服務器,服務器必須能識別這壹連接要與某壹特定的遠程點建立隧道,然後服務器與隧道服務器建立隧道,通常使用用戶ID和口令進行鑒權。這樣客戶端就通過隧道與隧道服務器建立了直接對話。盡管這壹方針不要求客戶有專門軟件,但客戶只能撥號進入正確配置的訪問服務器。