用命令行寫IPSec(win)

用命令行寫IPSec(win)
http://www.chinaunix.net 作者:t920  發表於:2003-12-13 22:12:13

前些時候有客戶要求在win上自動進行IPsec規則的設置,kao
抓狂!!!!!

廢了偶大半天的功夫終於搞定,其實也沒什麼,就是用了mS提供的一個命令行形式下的工具IPSECPOL.EXE 

hohohoho偶都有點開始稀飯微軟啦!!!!!

×××××××××××××××××××××××××××××××××××


用 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,並倖免於幾周內嘗試進行的攻擊。


**************************************************

這東東的用處大家慢慢體會吧!!!hohohoho
想讓那傢伙上不了網麼????
ipsecpol -w REG -p FW -r outdeny -f 0=* -n BLOCK
一行搞定!!!
(只限於win2000,xp和2003有其他類似的工具)

發佈了37 篇原創文章 · 獲贊 1 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章