摘要:本文在分析了VPN的基本原理、運行機制和相關(guān)管理技術(shù)的基礎(chǔ)上,結(jié)合 VPN 遠程管理系統(tǒng)的實際要求,設(shè)計與實現(xiàn)了一個相對簡單的數(shù)字證書管理中心。
關(guān)鍵字:VPN 網(wǎng)絡(luò)管理 IPSec OpenSSL 數(shù)字證書
前言
目前在國內(nèi),VPN 已成為了網(wǎng)絡(luò)安全設(shè)備市場上迅速成長的主流消費品之一;而在國外,VPN 的應(yīng)用也已相當廣泛,許多網(wǎng)絡(luò)設(shè)備供應(yīng)商和網(wǎng)絡(luò)安全集成方案提供商都擁有自己成熟的VPN產(chǎn)品和解決方案,因此在VPN 管理的研究設(shè)計方面有較大的發(fā)展空間。建立安全高效的 VPN 管理系統(tǒng)不只是對安全設(shè)備、安全軟件進行管理,而是針對網(wǎng)絡(luò)、網(wǎng)絡(luò)設(shè)備、安全策略和用戶的統(tǒng)一安全管理,管理員可以對網(wǎng)絡(luò)中所有信息進行綜合考慮,保證網(wǎng)絡(luò)安全、可靠地運行,使它在 Internet 上開辟一條專用數(shù)據(jù)的通信渠道,為公司和商務(wù)伙伴之間建立一條安全的通路,為市場經(jīng)濟的繁榮和發(fā)展鋪設(shè)堅實可靠的奠基石。
1 VPN與IPSec
VPN是Virtual Private Network的縮寫,中文譯為虛擬專用網(wǎng)。它是一種“基于公共數(shù)據(jù)網(wǎng),給用戶一種直接連接到私人局域網(wǎng)感覺的服務(wù)”。VPN極大地降低了用戶的費用,而且提供了比傳統(tǒng)方法更強的安全性和可靠性。VPN由客戶機、傳輸介質(zhì)和服務(wù)器這三部分組成,而它的連接是使用建立在公共網(wǎng)絡(luò)或?qū)S镁W(wǎng)絡(luò)基礎(chǔ)之上的隧道作為傳輸通道,靠的是對數(shù)據(jù)包的封裝和加密,如Internet或Intranet。
IPSec(Internet Protocol Security)是由 Internet Engineering Task Force (IETF) 定義的安全標準框架,用以提供公用和專用網(wǎng)絡(luò)的端對端加密和驗證服務(wù)。它指定了各種可選網(wǎng)絡(luò)安全服務(wù),而各 IT 組織可以根據(jù)自己的安全策略綜合和匹配這些服務(wù)。而IPSec協(xié)議提供了一種標準、健全的機制,可為 IP 及其上層協(xié)議提供安全保證。通過加密、認證、封裝等手段為所有高層協(xié)議提供透明的安全保護,從而保證數(shù)據(jù)傳輸?shù)目煽啃浴⑼暾院捅C苄浴?/p>
2 VPN遠程管理系統(tǒng)的設(shè)計與實現(xiàn)
2.1VPN遠程管理系統(tǒng)總體設(shè)計
VPN遠程管理系統(tǒng)包括了:設(shè)備管理模塊(日志管理,狀態(tài)監(jiān)控),策略管理模塊(添加策略,刪除策略,實施策略),證書中心模塊(初始化,簽發(fā)證書,吊銷證書)。
2.2 VPN遠程管理系統(tǒng)的實現(xiàn)
2.2.1 策略管理模塊
策略配置模塊的功能可以概括為:從客戶端獲取各個配置參數(shù)值,和既定的公共策略綜合在一起形成完整的一條VPN策略,然后寫入配置文件,并通知VPN 系統(tǒng)更新策略,策略的實施則是通知VPN系統(tǒng)啟用或停用該策略實現(xiàn)的。具體來說,對VPN策略的操作分為添加、修改、刪除和實施,其中策略的實施可以分為啟用策略和停用策略。
2.2.2 設(shè)備管理模塊
它主要分為日志管理和設(shè)備監(jiān)控兩個功能。
在當今網(wǎng)絡(luò)安全問題日益嚴峻的形勢下,對于網(wǎng)絡(luò)活動進行詳細的日志記錄是必要的, 它為網(wǎng)絡(luò)管理員提供了一種查驗網(wǎng)絡(luò)歷史記錄并進行分析的手段。對VPN設(shè)備的狀態(tài)監(jiān)控分為兩部分:VPN網(wǎng)關(guān)運行狀態(tài)和VPN連接狀態(tài)。VPN網(wǎng)關(guān)運行狀態(tài)包括 IPSec 服務(wù)是否工作正常、證書配置是否正確等;VPN連接狀態(tài)包括對活動隧道的狀態(tài)顯示和非活動隧道狀態(tài)顯示,所有的活動隧道和非活動隧道都將以列表的形式呈現(xiàn)給管理員,管理員可以選擇指定的隧道,以查看其詳細信息。這些信息包括:隧道名稱(對應(yīng)的策略名)、對應(yīng)策略的描述、隧道狀態(tài)、隧道活動時間等。
2.2.3 證書中心模塊
同一CA簽發(fā)的數(shù)字證書在身份認證過程可以成功地確認對方身份,換句話說,就是兩個 VPN 節(jié)點如果使用同一CA簽發(fā)的數(shù)字證書則可以成功地建立VPN連接,否則無法實現(xiàn) VPN 互聯(lián)(除非使用CA的分級或交叉認證)。因此,每個VPN安全域擁有一個為本域內(nèi)所有VPN節(jié)點提供數(shù)字證書,以及對數(shù)字證書進行管理的“證書中心”。該證書中心執(zhí)行 CA(認證中心)的基本功能,包括處理證書申請請求、簽發(fā)證書、吊銷證書、管理證書數(shù)據(jù)庫。

在簽發(fā)數(shù)字證書之前,首先要產(chǎn)生一個證書申請。證書申請的功能由 Web 服務(wù)器提供的表單功能從客戶端獲得。證書申請過程主要是要提供證書保護密碼和證書主題信息,以上信息通過 POST 方法傳遞到 CGI 處理程序 cert_request.php,該程序調(diào)用 OpenSSL 命令: openssl req -newkey rsa:1024 -keyout hostkey.pem –out hostreq.pem。
其中rsa:1024 表示使用1024位的RSA加密算法,密鑰輸出文件為 hostkey.pem,hostreq.pem 是輸出的未進行 CA 簽名的證書文件。與證書中心初始化操作類似,該 OpenSSL 命令同樣需要在命令行輸入諸如密碼、主題信息、確認信息等,通過命令管道方式向命令行輸入管理員設(shè)定的證書保護密碼和證書的主題信息。該命令執(zhí)行成功后,當前目錄下將創(chuàng)建兩個文件,一個為私鑰文件,另一個是沒有簽名的公鑰證書。接下來,就要調(diào)用另一個 OpenSSL 命令對公鑰證書文件進行簽名操作:
openssl ca -in hostreq.pem -days 356 -out hostcert.pem –notext
其中hostreq.pem指定了需要簽名的證書文件,356表示證書有效期為一年, 輸出文件為 hostcert.pem,即完成簽名的公鑰證書文件。
命令執(zhí)行成功后,還要提供給管理員下載。首先是對兩個證書文件的改名操作,使用管理員自定義的證書名稱分別更改公鑰證書文件和私鑰文件的文件名,并放在以證書名稱為目錄名的目錄中。為了方便管理員對證書文件的管理,將對上述兩個文件和 CA 公鑰證書文件進行加密壓縮打包操作:“tar cf name.tar name”(其中 name 代表管理員自定義的證書名稱)。最后在客戶端頁面上顯示證書打包文件的下載鏈接并提醒管理員下載。管理員下載的證書打包文件可以直接上傳到VPN網(wǎng)關(guān)為其更新 “本地網(wǎng)關(guān)證書”。
作為一個功能比較完善的 CA 系統(tǒng),必須能夠提供吊銷證書的功能。因此,在參考了 OpenSSL 關(guān)于證書吊銷的內(nèi)容后,實現(xiàn)了一個相對簡單的撤銷數(shù)字證書的功能。證書就相當于我們平常所用的身份證一樣,被撤銷后,它就是無效的了,也就無法用它來進行身份認證了。因此,吊銷證書時一定要謹慎,不能隨便任意地吊銷用戶的證書,系統(tǒng)中如果管理員想進行該操作的話,也會給出相應(yīng)的警告信息,等管理員確定要執(zhí)行該操作時才真正吊銷該證書。
管理系統(tǒng)客戶端從已簽發(fā)證書列表中選擇要吊銷的證書,發(fā)出吊銷該證書的請求后,CGI 處理程序 cert_revoke.php 將調(diào)用 cert_revoke()函數(shù),該函數(shù)執(zhí)行OpenSSL命令:
openssl ca -revoke somecert.pem
其中 somecert.pem 為要吊銷的證書名稱。
該命令執(zhí)行之后,證書信息數(shù)據(jù)庫將更新,被吊銷證書對應(yīng)的證書狀態(tài)將更改為“R”,表示該證書已被吊銷,同時,證書吊銷時間字段將被設(shè)置為吊銷證書的時間。證書吊銷成功后,還必須重新生成證書撤銷列表,該功能的實現(xiàn)通過調(diào)用 OpenSSL 命令:
openssl ca -gencrl -crldays 30 -out crl.pem
其中30表示證書撤銷列表的有效時間;crl.pem 為輸出的撤銷列表文件名。
該命令執(zhí)行之后,當前目錄下將產(chǎn)生名為 crl.pem 的撤銷列表文件,接下來把該文件保存到證書中心的crl目錄下,并在客戶端頁面上提供下載該文件的鏈接,提供給各VPN網(wǎng)關(guān)下載。
結(jié)束語
VPN產(chǎn)品從第一代的VPN路由器、交換機,發(fā)展到第二代的VPN集中器,性能不斷得到提高。在網(wǎng)絡(luò)時代,企業(yè)發(fā)展取決于是否最大限度地利用網(wǎng)絡(luò)。VPN將是企業(yè)的最終選擇。
參考文獻:
[1]P. C. Cheng.J. A. Garay.A. Herzberg.H.Krawczyk.“A Security Architecture for the Internet Protocol”.IBM System Journal.Vol. 37,No. 1.Feb. 1998.
[2]S. Kent.R. Atkinson.“Security Architecture for the Internet Protocol”.RFC 2401.Internet Society.Network Working Group.Nov. 1998.
[3]楊杰.VPN遠程管理系統(tǒng)的設(shè)計與實現(xiàn)[J].四川大學(xué).
[4]楊杰,李濤等.應(yīng)用虛擬設(shè)備驅(qū)動實現(xiàn)改進的SSL VPN 系統(tǒng)[J].計算機工程.
[5]張國鳴,唐樹才,薛剛遜.網(wǎng)絡(luò)管理實用技術(shù)[D].清華大學(xué)出版社,2002.
[6]楊家海,任憲坤,王沛瑜.網(wǎng)絡(luò)管理原理與實現(xiàn)技術(shù)[D].清華大學(xué)出版社,2000.
[7]謝希仁.計算機網(wǎng)絡(luò)(第 2 版)[D].電子工業(yè)出版社,1999.