ipseccmd IP安全策略命令解析
2020-07-14 13:40:40
供稿:網友
IPSec
首先需要指出的是,IPSec和TCP/IP篩選是不同的東西,大家不要混淆了。TCP/IP篩選的功能十分有限,遠不如IPSec靈活和強大。下面就說說如何在命令行下控制IPSec。
XP系統用ipseccmd 本站附件下載
2000下用ipsecpol。
WIN2003下直接就是IPSEC命令。遺憾的是,它們都不是系統自帶的。ipseccmd在xp系統安裝盤的SUPPORT/TOOLS/SUPPORT.CAB中,ipsecpol在2000 Resource Kit里。而且,要使用ipsecpol還必須帶上另外兩個文件:ipsecutil.dll和text2pol.dll。三個文件一共119KB。
winxp命令行下ipsec屏蔽不安全的端口
IPSec叫做Internet協議安全。主要的作用是通過設置IPsec規則,提供網絡數據
包的加密和認證。不過這樣高級的功能我無緣消受,只是用到了篩選功能罷了。通過設置規則進行數據包的篩選器,可以屏蔽不安全的端口連接。
你可以運行gpedit.msc,在Windows設置>>計算機設置>>IP安全設置中進行手工設
置。更加簡單的方法是使用ipseccmd命令。
ipseccmd在WindowsXP中沒有默認安裝,他在XP系統安裝盤的
SUPPORT/TOOLS/SUPPORT.CAB中。在Windows2000中它的名字叫做ipsecpol,默認
應該也沒有安裝,你自己找找看吧。
使用ipseccmd設置篩選,它的主要作用是設置你的篩選規則,為它指定一個名稱,
同時指定一個策略名稱,所謂策略不過是一組篩選規則的集合而已。比如你要封
閉TCP135端口的數據雙向收發,使用命令:
ipseccmd -w REG -p "Block default ports" -r "Block TCP/135" -f *+0:135:TCP -n BLOCK -x
這里我們使用的是靜態模式,常用的參數如下:
-w reg 表明將配置寫入注冊表,重啟后仍有效。
-p 指定策略名稱,如果名稱存在,則將該規則加入此策略,否則創建一個。
-r 指定規則名稱。
-n 指定操作,可以是BLOCK、PASS或者INPASS,必須大寫。
-x 激活該策略。
-y 使之無效。
-o 刪除-p指定的策略。
其中最關鍵的是-f。它用來設置你的過濾規則,格式為
A.B.C.D/mask:port=A.B.C.D/mask:port:protocol。其中=前面的是源地址,后面
是目的地址。如果使用+,則表明此規則是雙向的。IP地址中用*代表任何IP地址,
0代表我自己的IP地址。還可以使用通配符,比如144.92.*.* 等效于
144.92.0.0/255.255.0.0。使用ipseccmd /?可以獲得它的幫助。
如果希望將規則刪除,需要先使用-y使之無效,否則刪除后它還會持續一段時間。
參考下面代碼清單。
好了,這樣你就可以使用ipsec根據自己的需要方便得自己定制你的篩選規則了。
如果有不安全的端口,或者你不太喜歡的IP地址,你就可以把它們封鎖在你的大
門之外。
現在,你的機器本身已經基本比較安全了,不必再一接上網線就提心吊膽了。今天
天氣還不錯,趕快放心大膽的去網上沖浪去吧,海岸上有漂亮的貝殼,不要忘了
撿幾顆送給我哦。
=========================麻煩一點的講解=============================
Ipseccmd
在目錄服務或本地(遠程)注冊表中配置 Internet 協議安全 (IPSec) 策略。Ipseccmd 是與 IP 安全策略 Microsoft 管理控制臺 (MMC) 管理單元功能相同的另一種命令行管理工具,具有三種模式:動態模式 (dynamic mode)、靜態模式 (static mode) 和查詢模式 (query mode)。
若要查看該命令語法,請單擊以下命令:
ipseccmd dynamic mode
可以利用 Ipseccmd 動態模式將匿名規則添加到現有的 IPSec 策略中,方法是將這些規則添加到 IPSec 安全策略數據庫。即使重新啟動 IPSEC 服務后,所添加的規則也會存在。使用動態模式的好處在于所添加的規則可以與域中的策略共存。動態模式是 Ipseccmd 的默認模式。
語法
要添加規則,可以使用以下語法:
ipseccmd [//ComputerName] -f FilterList [-n NegotiationPolicyList] [-t TunnelAddr] [-a AuthMethodList] [-1s SecurityMethodList] [-1k MainModeRekeySettings] [-1p] [-1f MMFilterList] [-1e SoftSAExpirationTime] [-soft] [-confirm] [{-dialup | -lan}]
要刪除所有動態策略,請使用如下語法:
ipseccmd -u
參數
//computername
指定要向其添加規則的遠程計算機的名稱。
-f FilterList
第一個語法要求。為快速模式安全關聯 (SAs) 指定一個或多個由空格分割的篩選器規格。每個篩選器規格都定義一套受該規則影響的網絡流量。
-n NegotiationPolicyList
指定由篩選器列表定義的安全流量的一個或多個安全方法(由空格分割)。
-t TunnelAddr
指定隧道模式為 IP 地址或 DNS 域名的隧道終結點。
-a AuthMethodList
指定一個或多個身份認證方法(由空格分割)。
-1s SecurityMethodList
指定一個或多個密鑰交換安全方法(由空格分割)。
-1k MainModeRekeySettings
指定主模式 SA rekey設置。
-1p
啟用主密鑰完全向前保密。
-1f MMFilterList
指定一個或多個主模式 Sas 的篩選器規格(由空格分割)。
-1e SoftSAExpirationTime
指定軟 SAs 的過期時間(單位為:秒)。
-soft
啟用軟 SAs。
-confirm
指定在添加規則或策略之前顯示確認提示。
{-dialup | -lan}
指定規則是否僅應用于遠程訪問或撥號連接,或是否僅應用于局域網 (LAN) 連接。
-u
第二個語法要求。指定刪除所有的動態規則。
/?
在命令提示符顯示幫助。
注釋
Ipseccmd 不可用于配置運行 Windows 2000 計算機的規則。
如果不指定 ComputerName 參數,則該規則將添加到本地計算機。
如果使用了 ComputerName 參數,則此參數必須在其他所有參數之前使用,而且必須具有欲向其添加規則的計算機的管理員權限。
對于 -f 參數,一種篩選器規格是由空格分割且由如下格式定義的一個或多個篩選器:
SourceAddress/SourceMask:SourcePort=DestAddress/DestMask:DestPort:Protocol
SourceMask、SourcePort、DestMask 和 DestPort 是可選項。如果忽略這些參數,則該篩選器將使用子網掩碼 255.255.255.255 和所有端口。
Protocol 是可選項。如果省略它,則篩選器將使用所有協議。如果指定一種協議,則必須指定端口或在協議前使用兩個冒號 (::)。(請參見動態模式的第一個范例。)此協議必須是篩選器的最后一項。可以使用下面的協議符號:ICMP、UDP、RAW 和 TCP。
可以通過使用加號 (+) 替代等號 (=) 創建鏡像篩選器。
可以將 SourceAddress/SourceMask 或 DestAddress/DestMask 替換為下表中的值: 值 說明
0 我的地址或地址
* 任意地址
DNSName DNS 域名如果 DNS 名稱解析多個地址,則會忽略它。
GUID 本地網絡接口的全球單一標識 (GUID),形式為 {12345678-1234-1234-1234-123456789ABC}。當在靜態模式下使用 -n 參數時,則不能指定 GUID。
通過指定“默認”的篩選器規格,可以啟用默認的響應規則。
將篩選器規格放在圓括號中可以指定許可篩選器。將篩選器規格放在中括號 ([ ]) 中可以指定阻擋篩選器。
如果使用的 Internet 地址是分類的子網掩碼(以八位字節為邊界定義的子網掩碼),則可使用通配符指定子網掩碼。例如,10.*.*.* 與 10.0.0.0/255.0.0.0 相同,10.92.*.* 與 10.92.0.0/255.255.0.0 相同。
篩選器范例
要創建可以篩選 Computer1 和 Computer2 之間的 TCP 流量的鏡像篩選器,請鍵入:
Computer1+Computer2::TCP
要創建子網范圍為 172.31.0.0/255.255.0.0 到 10.0.0.0/255.0.0.0(端口 80)之間的所有 TCP 流量的篩選器,請鍵入:
172.31.0.0/255.255.0.0:80=10.0.0.0/255.0.0.0:80:TCP
要創建允許本地 IP 地址和 IP 地址為 10.2.1.1 之間流量的鏡像篩選器,請鍵入:
(0+10.2.1.1)
對于 -n 參數,可由空格分割一個或多個協商策略并采用以下的形式:
esp[EncrypAlg,AuthAlg]RekeyPFS[Group]
ah[HashAlg]
ah[HashAlg]+esp[EncrypAlg,AuthAlg]
其中,EncrypAlg 可以是 none、des 或 3des;AuthAlg 可以是 none、md5 或 sha;HashAlg 可以是 md5 或 sha。
不支持 esp[none,none] 配置。
sha 參數是指 SHA1 散列算法。
Rekey 參數是可選項,它可以指定千字節的數量(通過在數字后加 K 表示),或秒數(通過在數字后加 S 表示)這些指定值位于快速模式 SA 的 rekey 之前。要指定兩個 rekey 的參數,請使用斜線 (/) 將兩個數分開。例如,要每隔 1 小時和每 5 兆 的數據流量后 rekey 一次快速模式 SA,請鍵入:
3600S/5000K
PFS 參數是可選項,該參數可以啟用會話密鑰完全向前保密。默認情況下,會話密鑰完全向前保密是禁用的。
Group 參數是可選項,該參數可指定會話密鑰完全向前保密的 Diffie-Hellman 組。對于 Low(1) Diffie-Hellman 組,指定 PFS1 或 P1。對于 Medium(2) Diffie-Hellman 組,指定 PFS2 或 P2。默認情況下,會話密鑰完全向前保密的組值來自當前主模式設置值。
如果不指定協商策略,則默認的協商策略如下:
esp[3des,sha]
esp[3des,md5]
esp[des,sha]
esp[des,md5]
如果忽略 -t 參數,則使用 IPSec 傳輸模式。
對于 -a 參數,由空格分割一種或多種身份驗證方式,并使用以下某種形式:
preshare:"PresharedKeyString"
kerberos
cert:"CAInfo"
PresharedKeyString 參數指定預共享密鑰的字符串。CAInfo 參數指定 IP 安全策略管理單元中顯示的證書區別名,此時證書被選擇為某規則的身份驗證方式。PresharedKeyString 和 CAInfo 參數區分大小寫。可以使用首字母簡化此方法:p, k 或 c。如果忽略 -a 參數,則默認的身份驗證方式為 Kerberos。
對于 -1s 參數,單個或多個密鑰交換安全方式由空格分割且定義成下面的格式:
EncrypAlg-HashAlg-GroupNum
其中,EncrypAlg 可以是 des 或 3des;HashAlg 可以是 md5 或 sha;GroupNum 可以是 1(對于 Low(1) Diffie-Hellman 組)或 2(對于 Medium(2) Diffie-Hellman 組)。如果忽略 -1s 參數,則默認的密鑰交換安全方式是 3des-sha-2、3des-md5-2、des-sha-1 和 des-md5-1。
對于 -1k 參數,可以指定快速模式 SAs 的數量(通過在數字后加 Q 表示)或秒數(通過在數字后面加 S 表示)來 rekey 主模式 SA。要指定兩個 rekey 的參數,必須使用斜線 (/) 將兩個數分開。例如,要在每 10 個快速模式 SAs 和每隔 1 小時后 rekey 主模式,請鍵入:
10Q/3600S
如果忽略 -1k 參數,主模式 rekey 的默認值為無限個主模式 SAs 和 480 分鐘。
主密鑰完全向前保密在默認情況下是禁用的。
對于 -1f 參數,指定主模式篩選器規格的語法與 -1f 參數相同,差別在于不可以指定許可篩選器、阻擋篩選器、端口或協議。如果忽略 -1f 參數,將根據快速模式篩選器自動創建主模式篩選器。
如果忽略 -1e 參數,軟 SAs 的過期時間為 300 秒。然而,軟 SAs 在未使用 -soft 參數時總是禁用的。
只有動態模式才可使用確認。
如果未指定參數 -dialup 和 -lan,則規則將應用于所有適配器。
范例
要創建進出本地計算機的所有流量的使用 MD5 散列身份認證頭標 (AH) 的規則,請鍵入:
ipseccmd -f 0+* -n ah[md5]
要創建來自 10.2.1.1 和 10.2.1.13(隧道終結點為 10.2.1.13)的流量的隧道規則(該規則帶有利用 SHA1 散列算法的 AH 隧道模式,并啟用了主密鑰完全向前保密和在創建之前帶有規則確認提示),請鍵入:
ipseccmd -f 10.2.1.1=10.2.1.13 -t 10.2.1.13 -n ah[sha] -1p -c
要在名為 corpsrv1 的計算機上創建名為 corpsrv1 和 corpsrv2 的計算機之間所有流量的規則(該規則同時帶有 AH 和加密安全負載 (ESP),以及預共享的密鑰身份驗證),請鍵入:
ipseccmd //corpsrv1 -f corpsrv2+corpsrv1 -n ah[md5]+esp[des,sha] -a p:"corpauth"
ipseccmd static mode
可是使用 Ipseccmd 靜態模式創建命名策略和命名規則。也可以使用靜態模式修改最初由 Ipseccmd 創建的現有策略和規則。靜態模式的語法結合了帶參數的動態模式的語法,該參數可使其在策略級的水平工作。
語法
ipseccmd DynamicModeParameters -w Type[:Location] -p PolicyName[:PollInterval] -r RuleName [{-x | -y}] [-o]
參數
DynamicModeParameters
必需。根據上面的介紹為 IPSec 規則指定一套動態模式參數集。
-w Type[:Location]
必需。指定寫入本地注冊表、遠程計算機的注冊表或活動目錄域的策略和規則。
-p PolicyName[:PollInterval]
必需。指定策略名稱和檢查策略更改的頻率(以分鐘計)。如果 PolicyName 包含空格,請使用引號將文本引起來(例如,"PolicyName")。
-r rulename
必需。指定規則的名稱。如果 RuleName 包含空格,請使用引號將文本引起來(例如,"RuleName")。
[{-x | -y}]?
指定是否分配本地注冊表策略。-x 參數指定分配了本地注冊表策略。-y 參數指定未分配本地注冊表冊策略。
-o
指定應該刪除規則或策略。
/?
在命令提示符顯示幫助。
注釋
對于 -w 參數,Type 既可以是指定本地或遠程計算機注冊表的 reg,也可以是指定活動目錄的 ds。
如果指定 Type 參數為 reg,但沒有使用 Location 參數,則將創建本地計算機的注冊表規則。
如果指定 Type 參數為 reg,并指定了 Location 參數的遠程計算機名,則將創建指定的本地計算機的注冊表規則。
如果指定 Type 參數為 ds,但沒有使用 Location 參數,則將創建本地計算機所在的活動目錄域的規則。
如果指定 Type 參數為 ds,且指定了 Location 參數的活動目錄域,則將創建指定域的規則。
對于 -p 參數,如果已經存在該名稱的策略,則指定的規則將添加到策略中。否則,將創建指定名稱的策略。如果指定 PollInterval 參數的值為整數,則該策略的輪詢時間間隔將設置為該整數的分鐘數。
對于 -r 參數,如果已經存在該名稱的規則,則將根據命令中指定的參數修改該規則。例如,如果在現有規則中使用 -f 參數,則只替換該規則的篩選器。如果不存在指定名稱的規則,則將創建該名稱的規則。
對于 -o 參數,會刪除指定策略的所有方面。如果具有指向要刪除的策略中對象的其他策略,則不要使用該參數。
靜態模式的使用有一個方面與動態模式不同。使用動態模式,可以在 FilterList 中指定許可和阻擋篩選器,可以利用 -f 參數識別這些篩選器。使用靜態模式,可以在 NegotiationPolicyrList 中指定許可和阻擋篩選器,可以利用 -n 參數識別這些篩選器。除了動態模式下講述的 NegotiationPolicyList 參數外,也可以在靜態模式下使用 block、pass 或 inpass 參數。下表列出了這些參數及其對各自行為的說明。
參數 說明
block NegotiationPolicyList 中策略的其余部分將被忽略,且所有篩選器都將創建為阻擋篩選器。
pass NegotiationPolicyList 中策略的其余部分將被忽略,且所有篩選器都將創建為許可篩選器。
inpass 內傳篩選器將允許未加安全的初始通訊,但響應將通過 IPSec 加強其安全性。
范例
要利用 Kerberos 和預共享密鑰身份認證方式創建名稱為 Default Domain Policy 并在活動目錄域(本地計算機需屬于該域成員)中具有 30 分鐘輪詢時間間隔,而且在本地計算機和名為 SecuredServer1 和 SecuredServer2 的計算機流量之間的規則名為 SevuredServer2 的策略,請鍵入:
ipseccmd -f 0+SecuredServer1 0+SecuredServer2 -a k p:"corpauth" -w ds -p "Default Domain Policy":30 -r "Secured Servers"
要利用本地計算機的任意流量鏡像篩選器以及預共享密鑰身份驗證來創建并分配規則名為 Secure My Traffic 、策略名為 Me to Anyone 的本地策略,請鍵入:
ipseccmd -f 0+* -a p:"localauth" -w reg -p "Me to Anyone" -r "Secure My Traffic" -x
ipseccmd query mode
可以使用 Ipseccmd 查詢模式顯示 IPSec 安全策略數據庫中的數據。
語法
ipseccmd [//ComputerName] show {{[filters] | [policies] | [auth] | [stats] | [sas]} | all}
參數
//computername
通過名稱指定要顯示其數據的遠程計算機。
show
必需。指定必須以查詢模式運行 Ipseccmd。
filters
顯示主模式和快速模式篩選器。
policies
顯示主模式和快速模式策略。
auth
顯示主模式身份認證方式。
stats
顯示有關 Internet 密鑰交換 (IKE) 和 IPSec 的統計資料。
sas
顯示主模式和快速模式安全關聯 (SAs)。
all
顯示上面各種類型的數據。
/?
在命令提示符顯示幫助。
注釋
Ipseccmd 不可用于顯示運行 Windows 2000 的 IPSec 數據。
如果不使用 ComputerName 參數,則將顯示關于本地計算機的信息。
如果使用了 ComputerName 參數,則此參數必須位于其他所有參數之前,且必須具有欲顯示其信息的計算機的管理員權限。
范例
要顯示主模式和快速模式篩選器以及本地計算機的策略,請鍵入:
ipseccmd show filters policies
要顯示遠程計算機 Server1 的所有 IPSec 信息,請鍵入以下命令:
ipseccmd //Server1 show all