查看單個文章
舊 2006-03-08, 10:04 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 運用命令指令行寫IPSec(winodws OS )

IPSec 網路協定安全


IPSec是目前業界在網路通訊應用中最被廣泛使用的加密及隧道技術,同時也是在不犧牲安全性前提下,被選用來在網路第三層建置IP-VPN的方法,特別是對於無法負擔Frame Relay或ATM高額費用的中小企業而言,IPSec的運用不啻為一項福音。

在將行動工作者及遠端辦公室連結至由IT部門確實控管軟硬體的企業總部網路的運用上,具IPSec的IP VPN不失為一種優良的網路傳輸工具。

但對大型企業用戶而言,extranet基礎架構的建設則受到較嚴苛的審視,因為IPSec仍欠缺傳統網路第二層服務能夠提供的可靠性及效能,對他們來說,品質及服務等級區分(CoS)仍較單單價格因素來得重要。

IPSec VPN固然提供高安全性保障,但是當運用於大型Extranet建置時,對於IT主管們仍有可能造成一些實務上的困難。例如:以IPSec連結交易的廠商對象和後端的應用將所費不貲而且極為複雜。


組態ipsec

ipsec是一種開放的,有英特網工程工作組(IETF)開發的開放標準。ipsec為在未經保護的網路(如internet)上傳輸敏感訊息提供安全。ipsec工作在網路層,在多個ipsec設備(peer,就是所謂的對等體,如cisco router們)間保護和認證ip包。
ipsec提供以下網路安全服務,這些服務是可選的,大體上,本機安全原則將指定以下一個或者多個這些服務:
-資料機密性:ipsec傳送者在傳送 包穿過網路之前能夠加密包。
-資料完整性:ipsec接收者可以認證由ipsec傳送者傳送的包來確定在傳輸程序中沒有被更改。
-資料起源驗證:ipsec接收這可以驗證傳送ipsec資料包的源。這項服務是依賴於資料完整性服務的。
-反重放:ipsec接收者可以檢測和駁回重放的包。
注意:認證(authentication)這個術語主要指的是資料完整性和資料起源驗證。
使用ipsec,資料可以在公共外網上無欺騙,無人干涉的傳輸。這開啟了叫做vpn的套用,包括intranets(企業內部網),extranets(企業外部網),和遠端用戶訪問。


支持的標準:
cisco實施以下這些標準和特性:
ipsec-ip security protocol.ipsec是一個開放標準的提供對等體之間資料機密性資料完整性和資料驗證的框架。ipsec在ip層提供這些安全服務,它使用ike來處理傳輸協定協商和關於本機原則的算法,以及產生加密和ipsec要使用的認證key。ipsec可以用來保護一對主機之間、主機和主機之間、網路閘道之間的一個或者多個資料流。
注意:ipsec這個術語有時候用來描述整個ipsec資料服務和ike安全傳輸協定或者只描述資料服務。
ipse的文件是一系列的Internet Drafts, 全在這裡可用: http://www.ietf.org/html.charters/ipsec-charter.html.
全面ipsec實施Security Architecture for the Internet Protocol Internet Draft

(RFC2401). cisco ios ipsec實施RFC 2402 (IP Authentication Header)以及RFC 2410 (The NULL Encryption Algorithm and Its Use With IPSec).
英特網鑰匙交換(ike,internet key exchange)--一種混合傳輸協定,實施OaKley和SKEME 在isakmp框架進行鑰匙交換。而且ike可以和其他傳輸協定混著用,他的出示實施使用ipsec傳輸協定。ike提供ipsec對等體認證,協商ipsec安全關聯,和完成ipsec keys。

ipsec技術實施需要以下零件:
-des:資料加密標準(the data encryption standard)用來加密包資料。

cisco ios 強制帶有Explicit IV的56位des-cbc。
cisco ios也能實施3重des(168位),加密,依賴於可用的指定平台的軟體版本。3des是一種很強的加密模式,它開啟了可訂製的網路層加密。
-md5(hmac變數):md5(message digest 5)是一種哈希算法。hmac是按鍵輸入的用來驗證資料的哈希變數。
-sha(hmac變數):sha(sercure hash algorithem)是一種哈希算法。mac是按鍵輸入的用來驗證資料的哈希變數。
ipsec要使實施在cisco ios軟體中,就支持以下附加標準:
-AH:認證頭(authenticaiton header).一個提供資料認證和可選反回放服務的安全傳輸協定。ah鑲嵌在資料傳輸協定來進行保護(整個ip資料報文).
-esp:封裝安全淨載。一種提供資料私有服務和可選資料認證的支持反回放的

安全傳輸協定。esp保護資料部分。
術語列表
反回放(anti-relay)
反回放是一種接受者可以駁回過期的或者重複的包的安全服務,這能保護它防止受到回放攻擊。ipsec提供這項可選的服務,以資料認證和序列號混合使用。cisco ios ipsec提供,隨時提供資料認證服務,除非:
手動連接安全關聯這項服務不可用。
資料驗證:
資料驗證包括以下兩個概念:
資料完整性:校驗資料是否被更改。
資料起源驗證(校驗資料是否是真的傳送者傳送的)
資料認證可以提及完整性,或者兩個的集合。
資料機密性:
資料機密性是保護資料不被竊聽,偷取的安全服務。

IPSec基礎-IPSec體系結構

一、IPSec驅動程式

IPSec驅動程式負責監視、篩選和保護IP通信。它負責監視所有出入站IP資料包,並將每個 IP 資料包與作為 IP 原則一部分的 IP 篩選器相匹配。一旦匹配成功,IPSec驅動程式通知IKE開始安全協商。下圖為IPSec驅動程式服務示意圖。
http://comm.ccidnet.com/col/attachment/2005/3/408227.gif


圖八 IPSec驅動程式服務

在安全協商(相關內容見:IPSec基礎(四)--Internet密鑰交換(IKE)和密鑰保護)成功完成後,傳送端IPSec驅動程式執行以下步驟:

1.從IKE處獲得SA和會話密鑰

2.在IPSec驅動程式資料庫中尋找相匹配的出站SA,並將SA中的SPI插入IPSec報頭

3.對資料包簽名--完整性檢查;如果要求機密保護,則另外加密資料包

4.將資料包隨同SPI傳送至IP層,然後進一步轉發至目的主機

接收端IPSec驅動程式執行以下步驟:

1.從IKE處獲得會話密鑰,SA和SPI

2.通過目的位址和SPI在IPSec驅動程式資料庫中尋找相匹配的入站SA

3.檢查簽名,對資料包進行解密(如果是加密包的話)

4.將資料包遞交給TCP/IP驅動程式,然後再交給接收應用程式

二、IPSec體系結構模型圖

在分別介紹了IKE,密鑰管理和IPSec驅動程式後,我們來看一個完整的IPSec體系結構模型圖,以便更好地理解IPSec體系結構。

http://comm.ccidnet.com/col/attachment/2005/3/408229.gif

圖九 IPSec流程圖

為簡單起見,我們假設這是一個Intranet例子,每台主機都有處於啟動狀態的IPSec原則:

1.用戶甲(在主機A上)向用戶乙(在主機B上)傳送一消息

2.主機A上的IPSec驅動程式檢查IP篩選器,檢視資料包是否需要受保護以及需要受到何種保護

3.驅動程式通知IKE開始安全協商

4.主機B上的IKE收到請求安全協商通知

5.兩台主機建立第一階段SA,各自產生共享"主密鑰" 註:若兩機在此前通信中已經建立起第一階段SA,則可直接進行第二階段SA協商

6.協商建立第二階段SA對:入站SA和出站SA。SA包括密鑰和SPI。

7.主機A上IPSec驅動程式使用出站SA對資料包進行簽名(完整性檢查)與/或加密。

8.驅動程式將資料包遞交IP層,再由IP層將資料包轉發至主機B

9.主機B網路橋接器驅動程式收到資料包並提交給IPSec驅動程式。

10.主機B上的IPSec驅動程式使用入站SA檢查完整性簽名與/或對資料包進行解密。

11.驅動程式將解密後的資料包提交上層TCP/IP驅動程式,再由TCP/IP驅動程式將資料包提交主機B的接收應用程式。

以上是IPSec的一個完整工作流程,雖然看起來很複雜,但所有操作對用戶是完全透明的。中介路由器或轉發器僅負責資料包的轉發,如果中途遇到防火牆、安全路由器或代理伺服器,則要求它們具有IP轉發功能,以確保IPSec和IKE資料流不會遭拒絕。

這裡需要指出的一點是,使用IPSec保護的資料包不能通過網路位址譯碼NAT。因為IKE協商中所攜帶的IP位址是不能被NAT改變的,對位址的任何修改都會導致完整性檢查失效。









[right]用指令行寫IPSec(win)
用 IPSECPOL.EXE 編寫原則的指令碼

IPSECPOL.EXE 包括在 Windows 2000 Resource Kit 中,它是一個用於新增、指派和移除 IPSec 原則的指令行實用程序。IPSECPOL.EXE 非常靈活,它可在 Active Directory 以及本機和遠端註冊表中新增動態和靜態原則。有關完整訊息,請參閱 Resource Kit 中的文件。此處,將在本機電腦的註冊表中新增靜態原則。

IPSECPOL.EXE 有許多參數,它的語法開始時不易理解。但是,如果您按照此處提供的示例操作,則可用三個指令複製以前的 GUI 示例中顯示的全部組態。您可能希望在每個指令之後開啟 MMC 並重新整理其顯示,以便驗證該指令按照預期方式執行。讓我們開始吧。

第一個指令(如下所顯示)新增新原則、在原則中增加規則並在規則中增加兩個篩選器列表和一個篩選器操作。

ipsecpol –w REG –p「資料包篩選器」 –r「入站 Web 傳輸協定」
-f *+131.107.1.1:80:TCP –f *+131.107.1.1:443:TCP –n PASS

該指令按兩行顯示以便於列印,請按一行輸入。其中包括以下參數:

* –w REG — 向註冊表中寫入靜態原則。這與使用 MMC 完全相同。
* –p「資料包篩選器」 — 新增名為「資料包篩選器」的原則。
* –r「入站 Web 傳輸協定」 — 新增名為「入站 Web 傳輸協定」的規則。
* -f *+131.107.1.1:80:TCP — 增加篩選器,其中 * 指定任何源位址和任何連接阜,131.107.1.1:80 指定目標位址(伺服器本身的位址)和特定連接阜,:TCP 指定傳輸協定,+ 指明篩選器已被映射。
* –f *+131.107.1.1:443:TCP — 除了目標位址為 443 以外,與上述參數相同。
* –n PASS — 傳送通信而不協商安全。

請注意,-w、-f 和 -n 參數的值區分大小寫,只使用大寫!

您可以包括任意多個篩選器。切記以前對關於角色的篩選器列表的討論,如果您的伺服器執行多個服務,則應該針對每類篩選器使用單獨的 IPSECPOL.EXE 指令。例如,以下指令可允許連接阜 110、995、143、993 和 25 的入站連接,並允許連接阜 25 到任何地方的出站連接。

ipsecpol –w REG –p 「資料包篩選器」 –r「入站/出站郵件」
-f *+131.107.1.1:110:TCP –f *+131.107.1.1:995:TCP
-f *+131.107.1.1:143:TCP –f *+131.107.1.1:993:TCP
-f *+131.107.1.1:25:TCP –f 131.107.1.1+*:25:TCP
–n PASS

(最後一個篩選器 –f 131.107.1.1+*:25:TCP 看上去稍有不同。它允許從伺服器自身位址上的任何連接阜發起、到任何伺服器上 25 連接阜的出站連接。該篩選器允許伺服器啟動到 Internet 的出站 SMTP 連接。}

下一個指令新增匹配並阻止所有通信的一般規則:

ipsecpol –w REG –p「資料包篩選器」 –r「所有入站通信」
-f *+131.107.1.1 –n BLOCK

其中包括以下參數:

* –w REG — 向註冊表中寫入靜態原則。這與使用 MMC 完全相同。
* –p「資料包篩選器」 — 增加到名為「資料包篩選器」的現有原則中。
* –r「所有入站通信」 — 新增名為「所有入站通信」的規則。
* -f *+131.107.1.1 — 增加篩選器,其中,* 指定任何源位址和任何連接阜,131.107.1.1 指定目標位址和任何連接阜,傳輸協定空缺意味著使用任何傳輸協定,+ 並指明篩選器已被映射
* –n BLOCK — 阻止通信。

最後一個指令指派原則:

ipsecpol –w REG –p「資料包篩選器」 –x

其中包括以下參數:

* –w REG — 向註冊表中寫入靜態原則。這與使用 MMC 完全相同。
* –p「資料包篩選器」 — 增加到名為「資料包篩選器」的現有原則中。
* –x — 指派原則。

這就是所有的指令。那麼,利用三個指令,您已經完成了與使用 GUI 所完成的相同的工作。在伺服器編譯指令碼中增加 IPSECPOL.EXE 支持時,切記在完全新增伺服器之前,您可能不希望實際指派原則。因此指令碼中應該只包括 -n PASS 和 -n BLOCK 指令;在所有的伺服器安裝完畢後,可使用以下形式的指令遠端指派原則:

ipsecpol \\機器名 –w REG –p "原則名" –x

您需要具備該指令中指定機器的管理權限。如果需要臨時取消對原則的指派,請用 -y 取代 -x。

您可用以下指令移除整個原則(包括所有相關的篩選器列表和篩選器操作):

ipsecpol –w REG –p "原則名" –o

如果您的伺服器新增程序允許您動態更改伺服器的角色(無需重新啟動),則這將很有用。移除現有的原則,然後新增和指派新原則。如果您希望遠端編寫在所有伺服器上新增原則的指令碼,則可向所有形式的指令中增加 \\主機名。

GUI 和 IPSECPOL.EXE 的區別。 是的,二者存在一些區別,但只與某些內容在 GUI 中顯示的方式有關。

* 無法禁用預設回應規則,但是在資料包篩選器示例中,這確實無關緊要,因為傳入的連接不是始終被允許就是始終被阻止。
* 規則名用作篩選器列表名。
* -n PASS 和 -n BLOCK 指令不使用現有的允許和阻止(如果在 GUI 中已新增它)操作;而是為每個規則新增新的允許或阻止操作,並將新操作命名為「規則列表名 negpol」。
* 在每個篩選器操作的內容中,存在安全方法的預設列表,但是,因為不存在實際的安全協商,所以該列表將被忽略。
* 用 -o 指令移除原則時還將移除與之相關的篩選器列表和篩選器操作。在 GUI 中移除原則時並不移除與之相關的篩選器列表和篩選器操作。

那麼,這是否確實有效?

總之,這確實有效。在 Windows 2000 發怖後不久,一個流行的行業雜誌測試了許多 Web 伺服器的安全性。Microsoft 應邀參加了該測試。我們新增了一個啟用 Internet Information Services 5.0 的 Windows 2000 Server。為保護伺服器,我們所做的一切就是為管理員帳戶增加了一個密碼並新增了一個象此處示例中那樣的 IPSec 原則。伺服器直接連線到 Internet,並倖免於幾周內嘗試進行的攻擊。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次