Windows 7“加密運算符”
密碼操作員: FIPS 140-2 定義了一個“密碼管理員”角色,由 Windows 中的密碼操作員組代表,首先在 Windows Vista SP1 中引入。
在本地或組策略對像中配置“
System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing
”安全設置時,預設情況下只有 Cryptographic Operators 組或 Administrators 組的成員可以配置 Cryptography Next Generation (CNG) 設置。具體來說,加密操作員可以編輯高級安全 Windows 防火牆 (WFAS) 的 IPsec 策略中的加密設置。我執行了以下操作:
- 啟用
System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing
本地安全策略中的“”安全設置。它可以在Security Settings -> Local Policies -> Security Options
鍵下找到。- 創建了一個新的標準使用者。
- 將使用者添加到
Cryptographic Operators
組。我注意到該使用者甚至無法訪問具有高級安全性的 Windows 防火牆 (WFAS),而無需先成為
Network Configuration Operators
. 然後,我注意到此類組的任何成員都可以訪問 WFAS,並在 WFAS 下創建新規則Connection Security Rules
,包括 IPsec 規則。換言之,使用者不必是該Cryptographic Operators
組的成員。然後我嘗試了另一件事:我打開了 MMC,並添加了“IP 安全策略”管理單元。奇怪的是,使用者(該
Cryptographic Operators
組的成員)無權訪問這些設置:你能幫我弄清楚
Cryptographic Operators
組成員(但不是標準使用者)可以執行的任務嗎?
我自己找到了答案,所以我會在這裡發布。
TechNet 文章Netsh AdvFirewall MainMode 命令解釋說:
mainmode
在上下文中鍵入命令netsh advfirewall
會更改為netsh advfirewall mainmode
上下文,您可以在其中查看、創建和修改指定 IPsec 如何協商網路上電腦之間的主模式安全關聯的主模式規則。此上下文在具有高級安全性的 Windows 防火牆 MMC 管理單元中沒有等效項。而且:
此
netsh
上下文受Common Criteria 模式的要求約束。如果啟用,則管理員可以創建主模式規則,但不能指定mmsecmethods
或mmkeylifetime
參數。只有Cryptographic Operators組的成員才能設置或修改這些參數。有關通用標準模式以及如何啟用它的資訊,請參閱 Crypto Operators 安全組的說明 ( http://go.microsoft.com/fwlink/?linkid=147070 )。我編造了下面的例子,它澄清了這一點。
- 啟用
System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing
,如問題中所述。- 以
Cryptographic Operators
組成員身份登錄。- 打開命令提示符,以管理員身份提升,然後鍵入以下命令:
netsh advfirewall mainmode add rule name="TestRule" auth1=computercert auth1ca="CN=Microsoft Root Certificate Authority 2011, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" profile=domain
- (可選)您可以檢查剛剛創建的規則:
netsh advfirewall mainmode show rule name="TestRule"
- 您現在可以嘗試設置加密算法或密鑰壽命。但是,由於系統處於 Common Criteria 模式,管理員被拒絕訪問這些選項:
netsh advfirewall mainmode set rule name="TestRule" new mmkeylifetime=20min Mmsecmethods=dhgroup2:3des-sha256,ecdhp384:3des-sha384
–>訪問被拒絕。
- 現在,打開一個新的命令提示符,提升為目前使用者,該使用者是該
Cryptographic Operators
組的成員(重要)。- 再試一次上面的命令,就會成功執行。
不要忘記刪除剛剛創建的規則,否則可能會對您的網路策略產生不利影響:
netsh advfirewall mainmode delete rule name="TestRule"
PS:雖然該
netsh
命令阻止管理員更改 IPsec 加密設置(在 Windows 通用標準模式下),但管理員可以使用以下系統資料庫項輕鬆更改設置:
HKLM\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\Phase1CryptoSet\
{GUID-of-rule}有關詳細資訊,請參閱2.2.5 加密集。