利用AuthIP增強IPsec功能。

2022-03-21 03:32:08 字數 3043 閱讀 1574

當windows 2000 server發布的時候,當時我們最期待就是ipsec,因為作業系統中有了ipsec,就能夠幫助我們保護網路中所有計算機間通訊的安全,這樣我們將不再需要擔心會有人使用網路嗅探器竊取密碼、使用者名稱和應用程式資訊。雖然ipsec能夠讓這一切實現,但是當時的ipsec太複雜、太有限,而且坦率地說,存在很多瓶頸問題。

而在windows server 2003中,事情就變得容易一些。windows 2000 server要求我們在每台想要啟用ipsec政策的機器上執行ipsec嚮導,而windows server 2003則是使用組策略,以anipsec組策略管理單元的形式來為網路中的windows server 2003和windows xp配置ipsec政策。有了active directory啟用的組策略,我們可以對ipsec政策進行規劃。然而,ipsec配置嚮導卻同樣複雜。

ipsec是windows tcp/ip協議棧的一部分,ipsec驅動是非常低階別的驅動程式。ipsec策略,顧名思義,是部署在網路層的,發生在任何應用層資料被系統接收前。當你配置ipsec策略時,你可以配置ipsec來確定以下規則:

ipsec應該保護哪些流量?

流量是否應該被允許或者阻止

如果流量被允許,是否應該要求身份驗證或者加密

如果要求加密和/或身份驗證,應該使用哪種型別的加密或者身份驗證

同時還有其他設定,例如定義源位址和目的位址或者該策略使用的網路。

不過,當2023年微軟發布有關伺服器和域隔離(sdi)的資訊後,似乎對ipsec造成不小衝擊。關於sdi的構想就是,你可以從邏輯上將網路進行分段來保護域資源不受較低信任級的主機訪問,可以從邏輯上將**值資產與較低價值資產(或者高信任度資產和較低信任度資產)隔離,而不是物理上隔離這些安全區。這種使用ipsec邏輯分段的功能似乎非常有吸引力,並且能夠節省成本。

sdi的理論聽起來很不錯。然而,實際操作過程卻不盡人意。為了建立有效的sdi解決方案,你必須建立大量規則,隨之需要非常複雜的部署過程。不僅設計很複雜,而且管理過程也很複雜。建立大量規則後,然後需要建立更多的規則以說明之前規則的例外情況,如此瑣碎且耗時讓管理人員失去了興趣。

大家都知道,有時候微軟需要在幾次嘗試之後才能找到正確的路,微軟不想放棄利用ipsec來加強安全性這個思路,於是他們開始研究ipsec部署的問題並決定解決這些問題。這最終催生了authip,它實現了ipsec的功能,改善了網際網路金鑰交換(ike)協議,並解決了ipsec早前版本中存在的問題。authip首次出現實在vista系統和windows server 2008中,windows 7和windows server 2008 r2同樣有authip功能。

更加有效的談判如上所述,早期版本的ipsec(ike)可以使用計算機證書的計算機帳號或者通過kerberos的計算機帳號來進行身份驗證,然而,如果首選驗證方法失敗,那麼整個ipsec談判將失敗。

假設你有兩台計算機希望使用ipsec來保護它們之間的通訊,這兩台計算機屬於不同的forest,並且之間沒有信任。但是,你已經在這些主機上部署了計算機證書,並且每天機器信任另一台機器的證書。然而,在早期版本的ike中,這種情況的ipsec談判將會失敗,因為kerberos身份驗證失敗後,潛在的ipsec將不會嘗試使用計算機證書驗證。

而authip通過啟用談判驗證方法來解決這個問題,如果乙個方法失效,你還可以配置ipsec使用其他方法,而其他ipsec則會繼續談判驗證方法直到找到共同點,這使我們可以更好地部署ipsec,並確保整個解決方案更加容易管理和配置。

使用多套憑證進行身份驗證

你可能已經從authip支援各種新方式中推測,可以使用多種憑證來驗證ipsec。你可以使用計算機憑證、使用者憑證或者兩者來驗證ipsec。如果你知道directaccess(windows 7企業版/旗艦版和windows server 2008 r2提供的遠端訪問技術),你可能就會知道基礎設施通道使用計算機證書和計算機帳戶ntlmv2驗證,而內網通道使用計算機證書和使用者帳號kerberos驗證。通過新增使用者證書到驗證組合,你可以保護伺服器免受可能使用可信任機器的惡意使用者的攻擊。

多種憑證支援允許的另一種情況就是nap,在nap中,計算機健康證書是用來驗證計算機是否是域成員並且是否符合網路健康政策規定。這些證書可以堆疊在計算機和使用者帳號驗證的頂部,authip讓這一切變成可能。

域控制器支援讓伺服器和域隔離成為可能

ipsec在過去沒有被使用的主要原因是域控制器的問題。如果你想要在網路中使用早前版本的ipsec,你必須從ipsec政策中免除域控制器。這樣做的原因是:為了驗證計算機,你必須訪問域控制器,如果你不能訪問域控制器,則無法進行身份驗證。

windows server 2008及以上版本和vista 及以上版本是通過啟用以下操作來解決這個問題:

不再需要從ipsec政策中免除域控制器,你可以配置ipsec來決定何時使用ipsecin與域控制器進行通訊。

執行windows server 2008及以上版本和vista 及以上版本的計算機當連線到域控制器時可以對憑證進行提示,這解決了「加入域」的問題,以前當需要將計算機加入域則必須從ipsec保護中免除以一台計算機。通過啟用憑證提示,非域計算機可以提示憑證來迅速建立ipsec會話

對於下級客戶端,你可以輕鬆建立政策(無需建立免除規則)要求ipsec保護,但並不是需要它

在intradomainipsec談判中的這些改進使ipsecdeployment 變得可行。

總結

ipsec最早出現在windows 2000 server中,儘管當時能夠實現很多安全保護,但複雜度和操作的侷限性都沒能讓ipsec部署在企業網路中。隨後vista 和windows server 2008(以及windows 7和windows server 2008 r2)中的authip服務的推出,顯著改善了ipsec的靈活度和可管理性,讓我們擁有了強大的身份驗證機制,並能使用基於組策略的管理工具來進行配置,從而建立強大的ipsec政策。結合新使用者身份驗證方法,使用多種憑證的功能,更加靈活的身份驗證談判以及各方使用不同驗證方法的功能都讓ipsec得到了充分的發揮,為計算機通訊提供了更好的安全。

SQL Server 2008中SQL增強功能點

在sql server 2008中新增功能,可以使用單個insert命令插入多行 舉例 create table dbo test2 編號 int null,姓名 varchar 20 null,一季度 int null,二季度 int null,三季度 int null,四季度 int null ...

SQL Server 2008中SQL增強功能點

在sql server 2008中新增功能,可以使用單個insert命令插入多行 舉例 create table dbo test2 編號 int null,姓名 varchar 20 null,一季度 int null,二季度 int null,三季度 int null,四季度 int null ...

Android利用intent實現分享功能

在構建乙個intent時,必須指定這個intent需要觸發的action。android定義了一些actions,比如action send,該action表明該intent用於從乙個activity傳送資料到另外乙個activity的,甚至可以是跨程序的資料傳送。為了傳送資料到另乙個activit...