証明書サービスを使用してワイヤレス LAN のセキュリティを保護する

付録 B: スクリプトとサポート ファイル

最終更新日: 2005年5月24日

トピック

はじめに
ソリューション ガイダンス ファイル一覧
スクリプトの構造
スクリプトおよびサポートファイルの説明

はじめに

この章では、「証明書サービスを使用してワイヤレス LAN をセキュリティで保護する」ソリューションに付属しているスクリプトおよびその他のサポート ファイルについて簡単に説明します。 スクリプトおよびサポート ファイルは、実際に機能することがテスト済みですが、独自の管理スクリプトの作成を支援する目的で提供されています。 サーバー用の運用品質のコードではありません。

使用条件

このソリューションに付属しているスクリプトおよびサポート ファイルは、マイクロソフト標準の使用条件を前提としています。 使用条件は、マイクロソフトの Web サイトの「使用条件」ページ https://www.microsoft.com/japan/misc/cpyright.aspx で確認できます。

注 : 運用環境で展開する前に、必ずこれらのスクリプトおよびツールをテスト環境で十分にテストしてください。

ページのトップへ

ソリューション ガイダンス ファイル一覧

共通スクリプト

  • 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® Script Host (WSH) の "job" 機能を利用しています。 このため、ジョブ名をパラメータとしてスクリプトに指定することによって、独立した複数のプログラムを機能させることができます。

ほとんどの場合、スクリプトはペアで使用します (.wsf ファイルと .vbs ファイルなど)。 WSF ファイルには、別のスクリプトを操作するための "ユーザー インターフェイス" が含まれています。 VBS ファイルには、プログラムを実行するすべてのコードが含まれています。

すべての WSF スクリプト ファイルでは、次のような構文を使用します。JobName は必要な操作の名前で、WScriptFile はスクリプトの XML インターフェイス ファイルの名前です。

cscript //job:JobName WScriptFile.wsf

次のコードは、WSF ファイルの 1 つから抜粋したものです。

<?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 です。 このジョブ定義により、constants.vbs、pkiparams.vbs、helper.vbs、および ca_operations.vbs の各 VBS ファイルが読み込まれます。これらのファイルには、ジョブに必要な関数またはサブルーチンが含まれています。 コードの最後のセクションでは、ジョブを開始するために実行する最高位の関数 (ここでは GetCACerts) が指定されています (この例ではジョブと同じ名前になっていますが、同じである必要はありません)。2 番目のジョブ PublishRootCertstoIIS では、呼び出す関数にパラメータを指定していることに注意してください。

実際に何らかの作業を行うのは VBS ファイルです。VBS ファイルには主に次の 3 種類があります。

  • 1 種類の操作に関連する関数のみを含む、操作専用スクリプト ファイル (たとえば、ca_operations.vbs には、証明機関 (CA) の操作に関連する関数のみが含まれています)。

  • すべての操作専用スクリプトで使用される、より一般的な関数を含む汎用関数スクリプト ファイル。 このようなスクリプトとしては、Helper.vbs のみが提供されています。ユーザー アカウントの作成やエラー チェックなどの関数が含まれます。

  • 操作スクリプトの実行方法が定義された、VBScript 定数を含むパラメータ スクリプト ファイル。 定数は、各スクリプト関数に組み込むのではなく、変更を容易にするために 1 か所に集められています。 このカテゴリには、グローバル パラメータを含む constants.vbs ファイルと、公開キー基盤 (PKI) のセットアップと操作専用のパラメータを含む pkiparams.vbs ファイルがあります。

ページのトップへ

スクリプトおよびサポートファイルの説明

ここでは、前述の各スクリプトおよびサポート ファイルについて説明します。

共通スクリプト

共通スクリプト ファイルは 2 つあります。

Constants.vbs

このスクリプトには、他の VBS ファイルおよび WSF ファイル内で使用できる、ユーザーが設定可能な共通の値が含まれています (たとえば、SMTP およびイベント ログ警告の設定をこのスクリプトで行います)。

Helper.vbs

このスクリプトには、他の多くの VBS スクリプトで使用する共通のサポート ルーチンが含まれています (たとえば、ユーザーおよびグループの作成、警告ルーチン、およびその他のユーティリティ関数など)。

証明書サービス スクリプト

ここでは、証明書サービス スクリプトについて説明します。

pkiparams.vbs

このスクリプトには、ユーザーが変更できる PKI および CA 専用の値が含まれています。 これらの値の一部は、(使用する環境に合った適切な設定を反映させるために) 変更してから使用する必要があります。それ以外の値は、スクリプトの動作を変更する場合を除き、変更する必要はありません。 変更する必要のある値については、「第 7 章 : 公開キー基盤を実装する」および「第 11 章 : 公開キー基盤を管理する」の手順を参照してください。

PKIParams.vbs は、他のすべてのスクリプトで "CA_" プレフィックスを付きで参照されています。

ca_setup.vbs および ca_setup.wsf

これらのスクリプトには、セキュリティ グループおよびユーザーの作成に使用する 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) が最新の状態であることを確認します。 イベント ログ エントリ、Simple Mail Transfer Protocol (SMTP) の警告、またはこの両方がこれらのスクリプトによって生成されます。 Microsoft Operations Manager (MOM) エージェント (またはサーバー上で実行されている同様の管理エージェント)、またはオンライン CA 上の Windows タスク スケジューラで実行するように設計されています。 このスクリプトは、「第 11 章 : 公開キー基盤を管理する」のみで使用します。

これらのスクリプトには次のジョブが含まれます。

  • IsCAAlive - このジョブは、証明書サービス リモート プロシージャ コール (RPC) インターフェイスが応答しているかどうかを確認します。

  • CheckCRLs - このジョブは、スクリプトを実行する CA の CRL、およびルートまでのすべての親 CA の CRL を確認します。 CRL の有効期限が切れている場合、期限切れが近い場合、および新しい CRL の発行が必要な場合は、警告が発行されます。

  • CheckCACerts - このジョブは、スクリプトを実行する CA の CA 証明書、およびルートまでのすべての親 CA の 証明書を確認します。 証明書の有効期限が切れている場合、期限切れの 1 か月前、および証明書の更新が必要な場合 (通常は有効期間の半分) は、警告が発行されます。

  • SetupSMTPAlerts - このジョブは、保留中の証明書要求 (証明書マネージャの承認待ち) が CA でキューに入れられた場合に電子メールで警告するように CA を設定します。

ca_operations.vbs および ca_operations.wsf

これらのスクリプトには、証明書や CRL の公開、および CA キーやデータベースのバックアップなど、CA 実行中の操作に関連する関数が含まれています。 これらのスクリプトは主に、「第 11 章 : 公開キー基盤を管理する」で使用します。また、「第 7 章 : 公開キー基盤を実装する」の一部の手順でも使用します。

これらのスクリプトには次のジョブが含まれます。

  • GetCaCerts - このジョブは、ルート CA から CA 証明書を取得してフロッピー ディスクに保存します。

  • GetCRLs - このジョブは、ルート CA から CRL を取得してフロッピー ディスクに保存します。

  • PublishCertstoAD - このジョブは、(GetCaCerts を使用して取得した) ルート CA 証明書を Microsoft Active Directory® ディレクトリ サービスに公開します。

  • PublishCRLstoAD - このジョブは、(GetCRLs を使用して取得した) ルート CA CRL を Active Directory に公開します。

  • PublishRootCertstoIIS - このジョブは、(GetCaCerts を使用して取得した) ルート CA 証明書をインターネット インフォメーション サービス (IIS) Web サーバーに公開します。

  • PublishRootCRLstoIIS - このジョブは、(GetCRLs を使用して取得した) ルート CA CRL を IIS Web サーバーに公開します。

  • PublishIssCertstoIIS - このジョブは、(GetCaCerts を使用して取得した) 発行 CA 証明書を IIS Web サーバーに公開します。

  • PublishIssCRLstoIIS - このジョブは、(GetCRLs を使用して取得した) 発行 CA CRL を IIS Web サーバーに公開します。

  • BackupCaKeys - このジョブは、CA 証明書およびキーをフロッピー ディスクにバックアップします。

  • BackupCaDatabase - このジョブは、NTBackup.exe を実行して (CA データベースおよびログを含む) CA のシステム状態をバックアップします。

IAS および WLAN スクリプト

ここでは、IAS および WLAN スクリプトについて説明します。

ias_tools.vbs および ias_tools.wsf

これらのスクリプトには、インターネット認証サービス (IAS) のユーザー セットアップを支援するジョブが含まれています。 このスクリプトは、「弟 8 章 : RADIUS インフラストラクチャを実装する」および「第 9 章 : ワイヤレス LAN のセキュリティに対応したインフラストラクチャを実装する」で使用します。

これらのスクリプトには次のジョブが含まれます。

  • CreateIasGroups - このジョブは、IAS を管理するためにソリューションに必要なドメイン セキュリティ グループを作成します。

  • UpdateUsersRAP - このジョブは、ユーザーのダイヤルイン プロパティを編集してリモート アクセスを可能にします (これはソリューションでは使用されませんでしたが、必要な場合に備えて含まれています)。このスクリプトを使用すると、USERS コンテナにあるユーザー オブジェクトのみが更新されます。別の場所のオブジェクトを更新する場合は、このスクリプトをテンプレートとして使用し、目的に合わせて変更してください。

wl_tools.vbs および wl_tools.wsf

これらのスクリプトは、ワイヤレス ローカル エリア ネットワーク (WLAN) ユーザーの管理に使用するセキュリティ グループを作成します。スクリプトには、RADIUS/ワイヤレス AP シークレットを生成するルーチンが含まれています。 これらのスクリプトは、「第 9 章 : ワイヤレス LAN のセキュリティに対応したインフラストラクチャを実装する」で使用します。

これらのスクリプトには次のジョブが含まれます。

  • CreateWirelessGroups - このジョブは、ユーザーおよびコンピュータの承認、証明書の登録、およびワイヤレス ポリシーの適用の管理に使用するセキュリティ グループを作成します。

  • GenPWD - このジョブは、ワイヤレス アクセス ポイント (AP) および IAS サーバー用の暗号化されたランダムなパスワードを生成します。 このジョブは、CAPICOM を使用してランダムな文字列を生成します。

IAS 管理スクリプト

ここでは、IAS 管理スクリプトについて説明します。

  • IASClientExport.bat および IASClientImport.bat - これらのバッチ ファイルでは、IAS サーバーの RADIUS クライアント情報をフロッピー ディスクにエクスポートして、安全に保管することができます。 インポート スクリプトでは、IAS サーバーの RADIUS クライアント情報をフロッピー ディスクからインポートして IAS サーバーに戻すことができます。 これらのスクリプトは、「第 12 章 : RADIUS およびワイヤレス LAN のセキュリティ インフラストラクチャを管理する」で使用します。

  • IASExport.bat および IASImport.bat - IASExport スクリプトは、(RADIUS クライアント情報を除く) 共通の IAS 構成状態を D:\IASConfig にある構成テキスト ファイルにエクスポートします。 このスクリプトは、タスク スケジューラによって夜間イベントとして実行されます。プライマリ IAS RADIUS サーバーの設定をエクスポートするために使用します。

    IASImport バッチ ファイルは、以前にエクスポートされた IAS 設定状態を D:\IASConfig にある構成テキスト ファイルからインポートします。 このファイルは、障害復旧、またはセカンダリ IAS サーバーおよび 3 台目の IAS サーバーの構築に使用します。詳細については、構築ガイドの「第 8 章 : RADIUS インフラストラクチャを実装する」を参照してください。 これらのバッチ ファイルも、「第 12 章 : RADIUS およびワイヤレス LAN のセキュリティ インフラストラクチャを管理する」で使用します。

  • IAS_Data.bat - このバッチ ファイルは、IAS フォルダの作成、アクセス許可設定、および共有化を行います。 このファイルは、フォルダへのアクセス許可の適用に使用したグループと同じドメインから実行するように構成されています。 同じドメインでない場合は、スクリプトを編集してドメイン名を明示的に指定してください。 このファイルは、「第 8 章 : RADIUS インフラストラクチャを実装する」で使用します。

IAS の補足ファイル

ここでは、IAS の補足ファイルについて説明します。

  • IASAccessPrep.txt - このテキスト ファイルには、IAS Security Auditors によって Microsoft Access にインポートされる RADIUS 要求ログ データのヘッダー行とデータ型が含まれています。 このファイルの使用方法については、「第 12 章 : RADIUS およびワイヤレス LAN のセキュリティ インフラストラクチャを管理する」を参照してください。

オプション コンポーネントのインストール ファイル

  • OC_AddIIS.txt および OC_RemoveRootUpdate.txt - これらのテキスト ファイルを Windows オプション コンポーネント マネージャ (OC マネージャ) で使用して、インストールおよび削除するコンポーネントを指定できます。 これらのファイルでは、IIS の自動インストールおよびルート証明書更新サービスの自動削除ができます。 これらのテキスト ファイルは、「第 7 章 : 公開キー基盤を実装する」で使用します。

  • OC_AddIAS.txt - このテキスト ファイルを OC マネージャで使用して、インストールするコンポーネントを指定すると、IAS を自動インストールできます。 このテキスト ファイルは、「第 8 章 : RADIUS インフラストラクチャを実装する」で使用します。

ページのトップへ

目次

ページのトップへ