隨著越來越多的企業(yè)、單位接入Internet和接入速度的不斷提高,網(wǎng)絡(luò)安全正日益成為網(wǎng)絡(luò)管理的一個重要課題。作為廣泛部署的Windows(NT)Server系統(tǒng)自身的安全受到越來越多的關(guān)注。市場上也出現(xiàn)了很多軟、硬件防火墻產(chǎn)品來保證內(nèi)網(wǎng)服務(wù)器的安全。其實,Windows(NT)Server系統(tǒng)自身便帶有功能強大的防火墻系統(tǒng)-IPSec,其全面的安全保護功能并不輸于其它商業(yè)防火墻產(chǎn)品。本文將介紹基于Windows操作系統(tǒng)的防火墻系統(tǒng)-IPSec的原理與實現(xiàn)。
1 TCP/IP過濾
在深入探討IPSec之前,我們首先來看一下Windows系統(tǒng)的TCP/IP過濾功能。
Windows 2000 Server系統(tǒng)內(nèi)部集成了很多安全特性,這包括"本地安全及審核策略"、"加密文件系統(tǒng)"、"TCP/IP過濾"、"IP安全(IPSec)"等等。其中的"TCP/IP過濾"為用戶提供了一個簡單、易于配置、易于使用的網(wǎng)絡(luò)安全保障工具。它是用于入站本地主機TCP/IP通訊的一組篩選器。使用TCP/IP篩選可以為每個IP接口嚴(yán)格指定所處理的傳入TCP/IP通訊類型。這個功能設(shè)計用于隔離Internet或Intranet服務(wù)器所處理的通信。
如圖1所示,使用"TCP/IP"篩選,可以根據(jù)以下三種方式來限制本地主機的入站TCP/IP通訊:
●目標(biāo)TCP端口
●目標(biāo)UDP端口
●IP協(xié)議(號)
"TCP/IP篩選"的使用有很多限制,如不能根據(jù)源地址來區(qū)別對待數(shù)據(jù)包的入站、不能對出站通信進行篩選、不能對已允許的通信進行加密等等。如果想要實現(xiàn)更加靈活、安全的設(shè)計,則必須使用IPSec。
2 IPSec原理
使用internet協(xié)議安全(Internet Protocol Security,IPSec)是解決網(wǎng)絡(luò)安全問題的長久之計。它能針對那些來自專用網(wǎng)絡(luò)和internet的攻擊提供重要的防線,并在網(wǎng)絡(luò)安全性與便用性之間取得平衡。IPSec是一種加密的標(biāo)準(zhǔn),它允許在差別很大的設(shè)備之間進行安全通信。利用IPSec不僅可以構(gòu)建基于操作系統(tǒng)的防火墻,實現(xiàn)一般防火墻的功能。它還可以為許可通信的兩個端點建立加密的、可靠的數(shù)據(jù)通道。
2.1 術(shù)語解釋
為了便于理解IPSec的工作原理,首先介紹一些數(shù)據(jù)加密和安全方面常用的一些術(shù)語和基本知識,然后再介紹IPSec的實現(xiàn)以及它如何在網(wǎng)絡(luò)中提供安全通信的。這種介紹僅僅是一個概述并為后面討論IPSec做一個鋪墊。加密是一個復(fù)雜的領(lǐng)域,它包含了許多規(guī)則、算法以及數(shù)學(xué)方面的知識。這里我們將著重討論加密技術(shù)的實際實現(xiàn),對于它內(nèi)在的理論只作一個簡要的概述。
2.1.1 數(shù)據(jù)加密標(biāo)準(zhǔn)
數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,DES)是美國國家標(biāo)準(zhǔn)局于1977年開發(fā)的對稱密鑰算法。它是一種對稱密鑰算法,可以使用40~56位長的密鑰。另一種稱為3DES的加密策略也使用同樣的DES算法,但它并不只是加密一次,而是先加密一次,再加密(解密)一次,最后做第三次加密,每一次加密都使用不同的密鑰。這一過程顯著地增加了解密數(shù)據(jù)的難度。
2.1.2 RSA算法
RSA是一種根據(jù)它的發(fā)明者Rivest,Shamir和Adleman命名的公開密鑰算法。它方便了對稱密鑰加密中的密鑰交換過程。它還可以用來產(chǎn)生數(shù)字簽名。
2.1.3 Diffie-Hellman
Diffie-Hellman是一種簡化在非安全網(wǎng)絡(luò)上交換秘密密鑰的公開密鑰加密算法。算法是以Diffie和Hellman命名的,他們在1977年出版了第一個公開密鑰加密的公開搜索。它的主要目的是簡化在不安全網(wǎng)絡(luò)上交換秘密會話密鑰的過程。
2.1.4 散列函數(shù)
散列(Hash)函數(shù)是一種單向的算法,它提取任意長度的一段信息并產(chǎn)生固定長度的亂序的摘要。摘要是文本的一個截取,只包含與文本最相關(guān)的部分,這就是Hash函數(shù)所產(chǎn)生的結(jié)果。Hash是一種單向的定義。我們可以在給定的文本上運行算法來獲得固定長度的Hash值,但不能從Hash過程中獲得最初的文本。Hash函數(shù)可以唯一地定義文本。它對每個唯一的消息而言就像是指紋一樣。不同的消息可以產(chǎn)生不同的值,并且相同的消息會產(chǎn)生完全相同的Hash,Hash值可以用于維持數(shù)據(jù)的完整性。如果A發(fā)送一個消息給B,并給B消息的Hash。B可以在消息上運行用在該消息上的同一Hash算法,并用計算得到的Hash值與B收到的Hash值相比較。如果發(fā)現(xiàn)根據(jù)消息計算出來的Hash與B收到的Hash值不同,就可以知道數(shù)據(jù)在傳輸?shù)倪^程中出錯了。
2.1.5 消息摘要:MD5
消息摘要(Message Digest 5,MD5)是一種符合工業(yè)標(biāo)準(zhǔn)的單向128位的Hash算法,由RSA Data Security Inc.開發(fā),它可以從一段任意長的消息中產(chǎn)生一個128位的Hash值。(例如,質(zhì)詢握手身份驗證協(xié)議 (CHAP)通過使用MD5來協(xié)商一種加密身份驗證的安全形式。CHAP在響應(yīng)時使用質(zhì)詢-響應(yīng)機制和單向MD5散列。用這種方法,用戶可以向服務(wù)器證明自己知道密碼,但不必實際將密碼發(fā)送到網(wǎng)絡(luò)上,從而保證了密碼本身的安全性。)
2.1.6 安全散列算法:SHA-1
Secure Hash Algorithm(SHA-1)是一種產(chǎn)生160位Hash值的單向Hash算法。它類似于MD5,但安全性比MD5更高。
2.1.7 Hash信息驗證碼HMAC(Hash message authentication codes)
HMAC可以用來驗證接收消息和發(fā)送消息的完全一致性(完整性)。
2.1.8 數(shù)字簽名
數(shù)字簽名標(biāo)準(zhǔn)(Digital Signature Standard,DSS)是國家標(biāo)準(zhǔn)技術(shù)研究所開發(fā)的數(shù)字簽名算法。數(shù)字簽名(Digital Signature,DS)是一種用使用者的私有密鑰加密的Hash值。它可以像正常簽名一樣用于認證,但它也可以用做與簽名相關(guān)的信息完整性的認證。
2.1.9 認證授權(quán)
認證授權(quán)(Certificate Authority,CA)是一個實體,通常是一臺計算機,它保存了一些公開密鑰。事實上,它保存的一些稱為認證的目標(biāo)包含了用戶或設(shè)備的信息,其中包括它們的公開密鑰。認證包含某個公開密鑰的所有者的認證信息,如:姓名、地址、公司等。認證的目的有兩個:
●標(biāo)志一個用戶或設(shè)備的公開密鑰。
●確認假設(shè)的公開密鑰的擁有者是公開密鑰的真實擁有者。
認證授權(quán)(CA)是一個記錄了所有認證的第三方。使用CA,用戶可以有一個認證的集中貯藏處,它允許用戶獲得其他用戶的公開密鑰并認證那些用戶。它提供了一個記錄用戶和設(shè)備公開密鑰的集中存放點。它還提供了認證授權(quán),當(dāng)用戶從CA中獲得用戶A的公開密鑰時,密鑰確實是用戶A的而不是其他人的。
2.1.10 OAKLEY密鑰決定協(xié)議
Hilarie Orman提出的"OAKLEY密鑰決定協(xié)議",Oakley和SKEME各自定義了一種建立已認證密鑰交換的方法,包括載荷的結(jié)構(gòu)、所承載載荷信息、處理它們的順序以及如何使用它們。Oakley描述了一系列的密鑰交換模式,提供密鑰交換和刷新功能。
2.1.11 SKEME: Secure Key Exchange Mechanism
Hugo Krawczik提出的"安全密鑰交換機制(SKEME)"SKEME描述了通用密鑰交換技術(shù),提供匿名性、防抵賴和快速刷新。
2.1.12 互連網(wǎng)安全聯(lián)盟及密鑰管理協(xié)議
互連網(wǎng)安全聯(lián)盟及密鑰管理協(xié)議(Internet Security Association and Key Management Protocol,ISAKMP)是一個定義在主機之間交換密鑰和協(xié)商安全參數(shù)的框架。ISAKMP定義密鑰在非安全網(wǎng)絡(luò)上交換的一般機制,ISAKMP定義的信息包括報文中消息的位置和通信過程發(fā)生的機制,但它不指明使用的協(xié)議和算法。
2.1.13 互連網(wǎng)密鑰交換
互連網(wǎng)密鑰交換(Internet Key Exchange,IKE)是一種實現(xiàn)密鑰交換定義的協(xié)議。IKE是一種在ISAKMP框架下運行的協(xié)議。它是從其他密鑰交換協(xié)議OaKley和SKEME中派生而來的。IKE用于在對等端之間認證密鑰并在它們之間建立共享的安全策略。IKE用于確認,譬如標(biāo)志一個要求加密會話的對等端,以及決定對等端使用何種算法和何種密鑰。
IKE考慮了IPSec使用的所有算法交換秘密密鑰的復(fù)雜性。通過將密鑰管理函數(shù)替代普通的密鑰管理協(xié)議,簡化了將新的算法添加進IPSec協(xié)議棧的過程。IKE使用公開密鑰加密算法在非安全網(wǎng)絡(luò)上安全地交換秘密密鑰。
2.1.14 Kerberos V5身份驗證
Kerberos V5是用于處理用戶和系統(tǒng)身份的身份驗證的Internet標(biāo)準(zhǔn)安全協(xié)議,是在Windows 2000 Server域中進行身份驗證的主要安全協(xié)議。使用Kerberos V5,通過網(wǎng)絡(luò)線路所發(fā)送的密碼將經(jīng)過加密而不作為純文本進行發(fā)送。Kerberos V5協(xié)議校驗了用戶的身份和網(wǎng)絡(luò)服務(wù)。這種雙重驗證被稱為相互身份驗證。[Page]
2.2 IPSec基本概念
2.2.1 IPSec基本概念
IPSec通過使用基于密碼學(xué)的保護服務(wù)、安全協(xié)議和動態(tài)密鑰管理,可以實現(xiàn)以下這幾個目標(biāo):
1、認證IP報文的來源
基于IP地址的訪問控制十分脆弱,因為攻擊者可以很容易利用偽裝的IP地址來發(fā)送IP報文。許多攻擊者利用機器間基于IP地址的信任,來偽裝IP地址。IPSec允許設(shè)備使用比源IP地址更安全的方式來認證IP數(shù)據(jù)報的來源。IPSec的這一標(biāo)準(zhǔn)稱為原始認證
上文我們介紹了IPSec的工作原理及其相關(guān)的基本概念和術(shù)語,在接下來的敘述中,我們將集中討論IPSec的配置步驟。
1 IPSec基本配置步驟
前文中提到的AH和ESP報頭中值得注意的一點是沒有指明用來產(chǎn)生認證數(shù)據(jù)和負載數(shù)據(jù)的算法??梢允褂靡恍┎煌乃惴ā_@意味著,如果出現(xiàn)了一個新的算法,它可以不作明顯改動地合成進IPSec標(biāo)準(zhǔn)中。目前,MD5和SHA是用來產(chǎn)生認證數(shù)據(jù)的兩種算法。ESP加密算法包括DES,3DES,RC5和IDEA。下面討論IPSec配置的步驟以及如何選取不同的算法。
(1)打開IPSec配置對話框
選擇"開始"|"程序"| "管理工具"|"本地安全策略"菜單,打開"本地安全設(shè)置"對話框。單擊以選擇"IP安全策略:在本地機器",如圖1所示。
最初的窗口顯示三種預(yù)定義的策略項:客戶端、服務(wù)器、安全服務(wù)器。在每個預(yù)定義的策略的描述中詳細解釋了該策略的操作原則。如果想要修改系統(tǒng)預(yù)定義的策略細節(jié),可以右擊相應(yīng)的策略并選擇"屬性"進行修改。
下面,我們將通過新建一個策略對各種策略的屬性進行介紹。
(2)右擊"IP安全策略,在本地機器",選擇"創(chuàng)建IP安全策略",打開"安全策略向?qū)?quot;。單擊"下一步"繼續(xù)。如圖2、3所示。
(3)在彈出的對話框中為新的IP安全策略命名并填寫策略描述。如圖4所示。
?。?)單擊"下一步",接受對話框中"默認的響應(yīng)"復(fù)選項,之后單擊"下一步"。如圖5所示。
(5)接受默認的選項"Windows 2000 默認值Kerberos V5"作為默認響應(yīng)規(guī)則身份驗證方法,單擊"下一步"繼續(xù)。如圖6所示。
?。?)保留"編輯屬性"的選擇并單擊"完成"按鈕完成IPSec的初步配置。如圖7所示。
(7)完成初步配置后,將彈出新IP安全策略屬性對話框。如圖8所示。
(8)接下來需要添加用戶自己定義的"IP安全規(guī)則"。這里,我們在不選擇"使用'添加向?qū)?#39;"情況下單擊"添加"按鈕。出現(xiàn)如圖9所示的"新規(guī)則屬性"對話框。在這里我們可以對新規(guī)則的各項屬性進行設(shè)置。其中包括:
1)IP篩選列表
在"IP篩選列表"標(biāo)簽頁上單擊"添加"按鈕打開"IP篩選器列表"對話框。如圖10所示。
輸入新IP篩選器列表的名稱、描述信息并在不選擇"使用'添加向?qū)?#39;"情況下單擊"添加"按鈕。新彈出的"篩選器屬性"對話框如圖11所示,包含三個標(biāo)簽頁:
●"尋址":可以對IP數(shù)據(jù)流的源地址、目標(biāo)地址進行規(guī)定,如圖11所示。
●"協(xié)議":可以對數(shù)據(jù)流所使用的協(xié)議進行規(guī)定,如果選擇了"TCP"或"UDP"協(xié)議還可以對源端和目的端使用的端口號作出規(guī)定,如圖12所示。
●"描述":對新篩選器作出簡單描述。
在完成對"篩選器屬性"的設(shè)置后,要確保選中新設(shè)置的"IP篩選器",如圖13所示。
2)篩選器操作
"篩選器操作"標(biāo)簽頁是整個IPSec設(shè)計的關(guān)鍵。它將對符合"IP篩選器"的數(shù)據(jù)流進行相應(yīng)處理。如圖14所示。這里,我們在不選擇"使用'添加向?qū)?#39;"情況下單擊"添加"按鈕。出現(xiàn)如圖15所示的"新篩選器操作 屬性"對話框。
[Page]
眾信咨詢:互聯(lián)網(wǎng)資質(zhì)代理誠信品牌