附錄 B:解決方案指令碼和支援檔案

發佈日期: 2004 年 11 月 10 日更新日期: 2005 年 5 月 26 日


本頁內容

簡介
解決方案指南檔案的清單
指令碼的結構
指令碼和支援檔案的說明

簡介

本附錄扼要說明《以憑證服務保護無線區域網路的安全》解決方案隨附的指令碼和其他支援檔案。雖然指令碼和支援檔案具有功用並經過測試,但是提供的目的是協助您建立自己的管理程式碼。它們的目的不是作為生產品質程式碼。

使用條款

本解決方案提供的指令碼和支援檔案必須遵循 Microsoft 標準使用條款。條款位於 Microsoft – 使用條款資訊 (英文) 頁面,網址是:http://www.microsoft.com/info/cpyright.htm。

附註:請確保將這些指令碼與工具部署於任何生產環境之前,必須在測試環境中徹底測試。

解決方案指南檔案的清單

一般指令碼

  • constants.vbs

  • helper.vbs  

「憑證服務」指令碼

  • pkiparams.vbs

  • ca_monitor.vbs

  • ca_monitor.wsf

  • ca_operations.vbs

  • ca_operations.wsf

  • ca_setup.vbs

  • ca_setup.wsf  

IAS 及 WLAN 指令碼

  • ias_tools.vbs

  • ias_tools.wsf

  • wl_tools.vbs

  • wl_tools.wsf

  • IASClientExport.bat

  • IASClientImport.bat

  • IASExport.bat

  • IASImport.bat

  • IAS_Data.bat  

IAS 及 WLAN 支援檔案

  • IASAccessPrep.txt  

選用元件自主式檔案

  • OC_AddIAS.txt

  • OC_AddIIS.txt

  • OC_RemoveRootUpdate.txt


指令碼的結構

批次檔案的遵循相對簡單,但是 Microsoft® Visual Basic® Scripting Edition (VBScript) 檔案需要一些解釋才能瞭解它們如何合作。這些指令碼不同於許多 VBScript 範例,具有多功能。為提供對於不同函式的存取權限,指令碼利用 Microsoft Windows® Scripting Host (WSH) 的「工作」功能。如此藉著將工作名稱指定為指令碼的參數,提供數個獨立的程式功能。

指令碼大多數時候會成對出現:一個 .wsf 檔案,以及一個 .vbs 檔案。WSF 檔案包含對於不同指令碼操作的「使用者介面」。VBS 檔案包含執行程式工作的所有程式碼。

所有 WSF 指令碼檔案都使用下列語法:JobName 是所需操作的名稱;WScriptFile 是指令碼的 XML 介面檔案的名稱,如下列範例所示:

cscript //job:JobName WScriptFile.wsf

來自於 WSF 檔案之一的摘錄包含下列資訊:

<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="Windows Script Host
    <job id="GetCaCerts ">
        <comment></comment>
        <script language="VBScript" src="constants.vbs" />
        <script language="VBScript" src="pkiparams.vbs" />
        <script language="VBScript" src="helper.vbs" />
        <script language="VBScript" src="ca_operations.vbs" />
        <script language="VBScript
        <![CDATA[
            GetCaCerts
        ]]>
        </script>
    </job>
    <job id="PublishRootCertstoIIS ">
        <comment></comment>
        <script language="VBScript" src="constants.vbs" />
        <script language="VBScript" src="pkiparams.vbs" />
        <script language="VBScript" src="helper.vbs" />
        <script language="VBScript" src="ca_operations.vbs" />
        <script>
        <![CDATA[
            PublishCertstoIIS ROOT_CERT_SOURCE, WWW_LOCAL_PUB_PATH
        ]]>
        </script>
    </job>

第一件工作是 GetCACerts。這個工作的定義指定載入下列 VBS 檔案:constants.vbs、pkiparams.vbs、helper.vbs、以及 ca_operations.vbs,而且這些檔案包含工作所需的函式或副程式。程式碼範例的最後一節指定會予以執行以便啟動工作的頂層函式;在此狀況下就是 GetCACerts (這個範例的名稱跟工作相同,但是不需要如此)。請注意,第二件工作 (PublishRootCertstoIIS) 為被呼叫的函數提供參數。

VBS 檔案負責真正的工作,而且共有 3 種主要類型:

  • 特定操作指令碼檔案,其中包含僅與該一種操作類型有關的函式 (例如,ca_operations.vbs 包含與「憑證授權單位」,或 CA 操作有關的函式)。

  • 一般功能指令碼檔案,其中包含所有特定操作指令碼所使用的更多一般函式。Helper.vbs 是這些指令碼當中的唯一一個,包含的函式有建立使用者帳戶、以及錯誤檢查函式。

  • 參數指令碼檔案,其中包含用於定義操作指令碼如何執行的 VBScript 常數。這些都被收集起來,以便能在同一個位置較易變更,而非內嵌到指令碼函式中。這個類別中有 constants.vbs 檔案,其中包含通用參數;還有 pkiparams.vbs 檔案,其中包含公開金鑰基礎結構 (PKI) 設定與操作的特定參數。


指令碼和支援檔案的說明

本節說明稍早列出的每一指令碼和支援檔案。

一般指令碼

一般指令碼檔案有兩種。

constants.vbs

這個指令碼包含使用者能設定、而且其他 VBS 與 WSF 檔案能使用的一般值 (例如,SMTP 及事件記錄警告的設定均在這個指令碼中設定)。

Helper.vbs

這個指令碼包含許多其他 VBS 指令碼所使用的一般支援常式 (例如:使用者與群組建立、警告常式、以及雜項公用程式函式)。

「憑證服務」指令碼

本節說明「憑證服務」指令碼。

pkiparams.vbs

本指令碼包含使用者能變更的特定 PKI 及 CA 值。您「必須」先變更這些值的其中一部分 (以反映環境的正確設定),然後才能使用這些值;其餘的值則不用變更,除非您希望指令碼有不同行為。指南的重點章節 (第 7 章<實作公開金鑰基礎結構>及第 11 章<管理公開金鑰基礎結構>) 提供指引,說明您在這些程序中的何處必須或可能需要變更值。

具有 "CA_" 前置詞的所有其他指令碼均參照 PKIParams.vbs。

ca_setup.vbs 及 ca_setup.wsf

這些指令碼包含函式,以設定用於建立安全性群組與使用者的 CA 基準設定。對於根 CA 與發行 CA 提供了設定常式。真正設定的大多數值,是從 pkiparams.vbs 檔案來控制。如需這個檔案的更多資訊,請參閱第 7 章<實作公開金鑰基礎結構>。

這些指令碼包含的工作如下:

  • CertLocalGroups — 這項工作建立 CA 管理的本機安全性群組 (使用於根 CA)。群組建立功能作為工作的一部分而被呼叫多次,每次使用不同的群組名稱。

  • CertDomainGroups — 這項工作建立 CA 及 PKI 管理的網域安全性群組。它包含多個呼叫以建立不同的群組。群組類型 (本機、通用或萬用) 經指定為工作定義內的參數。

  • CertLocalTestAccts — 這項工作建立根 CA 管理的測試使用者帳戶。

  • CertDomainTestAccts — 這項工作建立線上 CA 管理的測試網域帳戶。

  • RootCAConfig — 這項工作使用對於 certutil 的呼叫來設定根 CA 參數。

  • IssCAConfig — 這項工作使用對於 certutil 的呼叫來設定發行 CA 參數。

ca_monitor.vbs 及 ca_monitor.wsf

這些指令碼包含用於檢查 CA 與 PKI 狀態的函式。指令碼會特別檢查以確認 CA 有回應,而且 CA 憑證與憑證撤銷清單 (CRL) 都是最新的。指令碼產生事件日誌項目或簡易郵件傳送通訊協定 (SMTP) 警告,或兩者。它們的設計目的是供 Microsoft Operations Manager (MOM) 代理程式 (或在伺服器上執行的類似管理代理程式),或線上 CA 上的 Windows 工作排程器來執行。這項指令碼程序僅用於第 11 章<管理公開金鑰基礎結構>。

這些指令碼包含的工作如下:

  • IsCAAlive — 這項工作檢查「憑證服務」遠端程序呼叫 (RPC) 介面是否在回應。

  • CheckCRLs — 這項工作檢查執行指令碼的 CA 的 CRL,以及一直到根的所有父系 CA 的 CRL。如果 CRL 已經到期、CRL 接近到期或應該已發行新 CRL,就會發行警告。

  • CheckCACerts — 這項工作檢查執行指令碼的 CA 的 CA 憑證,以及一直到根的所有父系 CA 的憑證。如果憑證已經到期、憑證距離到期還有一個月,或憑證快需要更新 (通常是其壽命的一半),就會發行警告。

  • SetupSMTPAlerts — 待處理的憑證要求 (等待憑證管理員核准) 已經在 CA 進行佇列處理時,這項工作會建立 CA 以產生電子郵件警告。

ca_operations.vbs 及 ca_operations.wsf

這些指令碼包含和 CA 上持續進行的操作有關的函式,例如發佈憑證與 CRL,以及 CA 金鑰與資料庫備份。這些指令碼主要用於第 11 章<管理公開金鑰基礎結構>,但是也用於第 7 章<實作公開金鑰基礎結構>內的部分程序。

這些指令碼包含的工作如下:

  • GetCaCerts — 這項工作從根 CA 擷取 CA 憑證,並儲存到軟碟片中。

  • GetCRLs — 這項工作從根 CA 擷取 CRL,並儲存到軟碟片中。

  • PublishCertstoAD — 這項工作將根 CA 憑證 (以 GetCaCerts 擷取) 發佈到 Microsoft Active Directory® 目錄服務。

  • PublishCRLstoAD — 這項工作將根 CA CRL (以 GetCRLs 擷取) 發佈到 Active Directory。

  • PublishRootCertstoIIS — 這項工作將根 CA 憑證 (以 GetCaCerts 擷取) 發佈到網際網路資訊服務 (IIS) Web 伺服器。

  • PublishRootCRLstoIIS — 這項工作將根 CA CRL (以 GetCRLs 擷取) 發佈到 IIS Web 伺服器。

  • PublishIssCertstoIIS — 這項工作將發行 CA 憑證 (以 GetCaCerts 擷取) 發佈到 IIS Web 伺服器。

  • PublishIssCRLstoIIS — 這項工作將發行 CA CRL (以 GetCRLs 擷取) 發佈到 IIS Web 伺服器。

  • BackupCaKeys — 這項工作將 CA 憑證與金鑰備份到軟碟片。

  • BackupCaDatabase — 這項工作執行 NTBackup.exe 以進行 CA 的系統狀態備份 (包括 CA 資料庫與日誌)。

IAS 及 WLAN 指令碼

本節說明 IAS 與 WLAN 指令碼。

ias_tools.vbs 及 ias_tools.wsf

這些指令碼包含用以協助使用者設定 Microsoft 網際網路驗證服務 (IAS) 的工作。這些指令碼使用於第 8 章<實作 RADIUS 基礎結構>,以及第 9 章<實作無線區域網路安全性基礎結構>。

這些指令碼包含的工作如下:

  • CreateIasGroups — 這項工作建立解決方案要管理 IAS 所需的網域安全性群組。

  • UpdateUsersRAP — 這項工作編輯使用者撥號內容,以啟用遠端存取功能 (解決方案內不使用這項工作,但因為您可能要使用所以納入)。使用這個指令碼「只會」更新 USERS 容器內的使用者物件;如果您要更新其他地方的物件,請將這個指令碼作為範本,針對您的目的而修改。

wl_tools.vbs 及 wl_tools.wsf

這些指令碼建立安全性群組,而這些群組用於管理無線區域網路 (WLAN) 使用者,並包含常式以產生 RADIUS/WirelessAP 機密。這些指令碼使用於第 9 章<實作無線區域網路安全性基礎結構>。

這些指令碼包含的工作如下:

  • CreateWirelessGroups — 這項工作建立安全性群組,而這些群組用於管理使用者及電腦授權、憑證註冊、以及無線原則的應用。

  • GenPWD — 這項工作為無線存取點 (AP) 及 IAS 伺服器而產生經過密碼編譯的隨機密碼。這項工作使用 CAPICOM 以產生隨機字串。

IAS 管理指令碼

本節說明 IAS 管理指令碼。

  • IASClientExport.bat 及 IASClientImport.bat — 這些批次檔案能將 IAS 伺服器 RADIUS 用戶端資訊匯出到軟碟片,以便安全儲存。匯入指令碼能從軟碟片匯入 IAS 伺服器 RADIUS 用戶端資訊,並載入回到 IAS 伺服器。這些指令碼使用於第 12 章<管理 RADIUS 和無線區域網路安全性基礎結構>。

  • IASExport.bat 及 IASImport.bat — IASExport 指令碼將一般 IAS 設定狀態 (減去 RADIUS 用戶端資訊),匯出到位於 D:\IASConfig 內的設定文字檔。這個指令碼透過「工作排程器」作為夜間事件來執行,並用於匯出主要的 IAS RADIUS 伺服器設定。

    IASImport 批次檔案匯入先前從位於 D:\IASConfig 的設定文字檔中匯出的 IAS 設定狀態。這個檔案用於嚴重損壞修復,以及建立次要及第三 IAS 伺服器 (有關詳細說明請參閱《建置指南》內的第 8 章<實作 RADIUS 基礎結構>)。這些批次檔案也使用於第 12 章<管理 RADIUS 和無線區域網路安全性基礎結構>。

  • IAS_Data.bat — 這個批次檔案用於建立、設定權限,以及共用 IAS 資料夾。這個檔案經過設定,從群組用於將權限套用到資料夾的相同網域中執行。如果不是這種狀況,請編輯指令碼以使用明確的網域名稱。這個檔案用於第 8 章<實作 RADIUS 基礎結構>。

IAS 補充檔案

本節說明 IAS 補充檔案。

  • IASAccessPrep.txt — 這個文字檔包含 RADIUS 要求記錄資料的標頭行與資料類型,而記錄資料是由 IAS 安全性稽核員匯入到 Microsoft Access 中。有關如何使用這個檔案的指示,請參閱第 12 章<管理 RADIUS 和無線區域網路安全性基礎結構>。

選用元件安裝檔案

  • OC_AddIIS.txt 及 OC_RemoveRootUpdate.txt — 您能以 Windows 選用元件管理員 (OC Manager) 來使用這些文字檔,以便指定要安裝及移除哪些元件。這些檔案允許自動安裝 IIS,以及自動移除「根目錄更新服務」。這些文字檔使用於第 7 章<實作 PKI>。

  • OC_AddIAS.txt — 您能以 OC Manager 來使用這個文字檔,指定要安裝哪些元件,以允許自動安裝 IAS。這個文字檔用於第 8 章<實作 RADIUS 基礎結構>。


顯示: