PEAP およびパスワードでワイヤレス LAN のセキュリティを保護する

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

公開日: 2004年9月7日
トピック
はじめにはじめに
ソリューションに含まれるファイルの一覧ソリューションに含まれるファイルの一覧
スクリプトの構造スクリプトの構造

はじめに

この付録では、ソリューションで提供されるスクリプトとその他のサポート ファイルについて簡単に説明します。スクリプトは完全に機能し、ソリューションでテストされていますが、広範な品質管理プロセスは実施されていません。スクリプトの目的は、テクニックを示し、ユーザー固有の管理スクリプトの基礎を提供することです。スクリプトを運用環境で展開する前に、ユーザー環境で十分にテストする必要があります。

免責事項

サンプル スクリプトは、マイクロソフトのどのスタンダード サポート プログラムまたはサービスでもサポートされていません。これらのサンプル スクリプトは、どのような保証もない現状のままの状態で提供されるものです。マイクロソフトは、商品性、特定の目的に対する適合性を含む一切の黙示の保証をいたしかねます。このサンプル スクリプトおよびドキュメントの使用または機能から生じるリスクは、お客様が負うものとします。マイクロソフト、本サンプル スクリプトの作成者、または本スクリプトの作成、製造、配布に関与する者は、どのような場合においても、本サンプル スクリプトおよびドキュメントの使用または使用不能から生じる損害 (逸失利益、事業の中断、事業情報の喪失、またはその他の金銭的損失を含みますがこれらに限定されません) に関して一切責任を負わないものとします。たとえマイクロソフトがこのような損害の可能性について知らされていた場合でも、責任を負うことはありません。

ソリューションに含まれるファイルの一覧

次の表は、このソリューションで提供されるすべてのファイルの一覧です。これらのファイルは、MSSWLANTools.msi という Windows® Installer ファイルからインストールされます。

表 D.1: ソリューションで提供されるファイルの一覧

ファイル名説明

メインの CMD ファイル

 

MSSSetup.cmd

MSSTools.cmd

Microsoft Windows スクリプト ホスト (WSH) ファイルへのインターフェイスを提供し、構文を簡素化するバッチ ファイル。コマンド ラインで単一パラメータとしてジョブ名を指定することによって、さまざまなジョブを実行できます。構文は次のとおりです。

msssetupJobName [/param:value]

msstools JobName [/param:value]

ここで、JobName には操作名が入ります。JobName を指定せずにこのスクリプトを実行すると、利用可能な全ジョブの一覧が、各ジョブの機能に関する簡単な説明とともに表示されます。

WSH XML ファイル

 

msssetup.wsf

msstools.wsf

利用可能な個別のジョブを指定する WSH XML ファイル。WSF ファイルで定義されたジョブは、VBS ファイルで定義されているプロシージャを呼び出します。構文は次のとおりです。

Cscript //job:JobName msstools.wsf [/param:value]

JobName を指定せずにこのスクリプトを実行すると、WSF ファイル内の利用可能な全ジョブの一覧が、各ジョブの機能に関する簡単な説明とともに表示されます。

VBScript ファイル

 

ias_setup.vbs

インターネット認証サービス (IAS) のセットアップ中に使用されるルーチン

ias_tools.vbs

IAS の動作および監視中に使用されるルーチン

Gen_setup.vbs

IAS または証明書サービスに特化せず、実装中に使用されたルーチン

ca_setup.vbs

証明機関 (CA) のセットアップ中に使用されるルーチン

ca_monitor.vbs

CA の監視機能によって使用されるルーチン

constants.vbs

他の VBS ファイルによって使用される定数

helper.vbs

他の VBS ファイルによって使用される汎用ルーチン

pkiparams.vbs

CA の多数のセットアップ パラメータを定義するのに使用される定数

その他のファイル

 

InstCAPICOM.cmd

CAPICOM のインストールを簡素化する CMD ファイル

CreateShortCut.cmd

VBS ファイルからルーチンを呼び出して、ユーザーのデスクトップ上にショートカットを作成する CMD ファイル。ショートカットは、スクリプトのインストール フォルダに設定されている現在のディレクトリから CMD.EXE を起動します。

ComputerCerts.msc

コンピュータ ストア内の証明書を表示するように事前に定義された管理コンソール

AddRADIUSClient.exe

コマンド ラインから IAS に RADIUS クライアントを追加するユーティリティ(注: このツールを使用するには、.NET Framework がインストールされている必要があります。)

Interop.SDOIASLib.dll

AddRADIUSClient.exe に必要なサポート ライブラリ

Source

AddRADIUSClient ツールのソース コードを含むフォルダ

グループ ポリシー ファイル

 

MSSWLANGPOs

このソリューションで提供される 2 つの定義済みグループ ポリシー オブジェクト (GPO) 用 XML 定義ファイルとデータ ファイルを含むフォルダ

ドキュメント

 

Securing Wireless LANs.rtf

この章と同じ内容の Readme ファイル

スクリプトの構造

Microsoft Visual Basic® Scripting Edition (VBScript) ファイルがどのように連携するのかを理解するには、多少の説明が必要です。多くの VBScript の例とは異なり、このソリューションで提供されるスクリプト ファイルには複数の関数が含まれており、しばしばそれらは互いに独立しています。これらの関数へのアクセスを可能にするために、これらのスクリプトは WSH の "ジョブ" 機能を使用しています。これにより、複数の独立したプログラム関数を同じファイルに格納したり、スクリプトのパラメータとしてジョブ名を指定することでこれらの関数を同じファイルから呼び出したりすることができます。

さまざまなスクリプト操作へのユーザー インターフェイスを含む 2 つの Windows スクリプト (.wsf) ファイルがあります。.wsf ファイルは一連の .vbs ファイルを呼び出します。.vbs ファイルには、特定のジョブの動作を実現するコードが含まれています。

ジョブを呼び出すには、次の構文を使用します。

cscript //job:JobNameWScriptFile.wsf

ここで、JobName には操作名が入り、WScriptFile にはスクリプトの XML インターフェイス ファイルの名前が入ります。ConfigureCA ジョブが定義されている .wsf ファイルの抜粋を次に示します。

<?xml version="1.0" encoding="utf-8" ?> 
<package xmlns="Windows Script Host"> 
    <job id="ConfigureCA"> 
        <description>Configures the CA registry parameters</description> 
        <script language="VBScript" src="constants.vbs" /> 
        <script language="VBScript" src="pkiparams.vbs" /> 
        <script language="VBScript" src="helper.vbs" /> 
        <script language="VBScript" src="ca_setup.vbs" /> 
        <script language="VBScript"> 
        <![CDATA[         
            Initialize True, True 
            ConfigureCA 
            CloseDown 
        ]]> 
        </script>

この抜粋では、ジョブ定義で、そのジョブに必要な関数、サブルーチン、またはデータが .vbs ファイルの constants.vbs、pkiparams.vbs、helper.vbs、および ca_setup.vbs に含まれています。つまり、これらのファイルを読み込む必要があります。最後のセクションでは、ジョブを開始するために実行する最上位の関数を指定しています。この例における関数は、ログの収集をセットアップする Initialize、CA の構成というメイン ジョブを実行する ConfigureCA、そしてログを閉じる CloseDown です。

各 .wsf ファイルの最初のジョブは、このファイルに含まれるすべてのジョブの名前 (ID) と説明を一覧表示するように定義されています。したがって、特定のジョブを要求せずに .wsf ファイルを実行すると、この最初のジョブが既定で実行され、ファイル内の利用可能な全ジョブの名前と説明を含む短いヘルプ画面が表示されます。次の表は、このソリューションで提供される各 .wsf ファイルで利用可能なジョブの一覧です。

表 D.2: MSSSetup.wsf 内のジョブの一覧

ジョブ名説明

ListJobs

WSF ファイル内のすべてのジョブを一覧表示します。

ConfigureCA

CA レジストリ パラメータを構成します。

ConfigureTemplates

CA 証明書テンプレートを構成します。

CheckCAEnvironment

CA をインストールする前に環境を確認します。

InstallCA

証明書サービスをインストールします。

CreateShortcut

MSS WLAN Tools へのショートカットをデスクトップ上に作成します。

ImportSecurityGPO

サーバー セキュリティが設定された GPO をドメインにインポートします。

ImportAutoEnrollGPO

証明書の自動登録が設定された GPO をドメインにインポートします。

ImportWLANClientGPO*

WLAN が設定された GPO をインポートします。

CheckDomainNativeMode

ドメインがネイティブ モードであるかどうかを確認します。

VerifyCAInstall

CA のインストールが成功しているかどうかを確認します。

VerifyCAConfig

CA の構成が成功しているかどうかを確認します。

CheckIASEnvironment

IAS をインストールする前に環境を確認します。

InstallIAS

サーバーにインターネット認証サービスをインストールします。

CreateWLANGroups

Active Directory® にセキュリティ グループを作成します。

AddWLANGroupMembers

セキュリティ グループに正しいメンバを追加します。

注: アスタリスク (*) の付いているジョブは、このソリューションでは使用されません。

表 D.3: MSSTools.wsf 内のジョブの一覧

ジョブ名説明

ListJobs

WSF ファイル内のすべてのジョブを一覧表示します。

AddRADIUSClient

IAS に RADIUS クライアントを追加する対話型プロシージャ (パラメータ: [/path:OutputFileName])

AddSecRADIUSClients

IAS に RADIUS クライアントを追加する対話型プロシージャ (パラメータ: [/path:InputFileName])

GenRADIUSPwd

RADIUS クライアントのエントリとシークレットを生成します (パラメータ: /client:ClientName /ip:ClientIPAddress [/path:OutputFile])。

ExportIASSettings

IAS サーバーの構成をファイルにエクスポートします (パラメータ: [/path:FolderToSaveSettingsFiles])。

ImportIASSettings

IAS サーバーの構成をファイルからインポートします (パラメータ: [/path:FolderWithFilesToImport])。

ExportIASClients

IAS RADIUS クライアントをファイルにエクスポートします (パラメータ: [/path:FolderToSaveClientsFile])。

ImportIASClients

IAS RADIUS クライアントをファイルからインポートします (パラメータ: [/path:FolderWithClientsFileToImport])。

BackupIAS

すべての IAS 設定をファイルにバックアップします (パラメータ: [/path:FolderToSaveBackupFile])。

RestoreIAS

すべての IAS 設定をファイルから復元します (パラメータ: [/path:FolderFileToRestore])。

CheckIAS

IAS サーバーが応答していることを確認します (パラメータ: [/verbose])。

CheckCA

CA サービスが応答し、証明書失効リスト (CRL) が有効であることを確認します (パラメータ: [/verbose])。

EnableIASLockout*

IAS のアカウント ロックアウトを有効にします (パラメータ: [/maxdenials:10] [/lockouttime:2880 (secs)])。

DisableIASLockout*

IAS のアカウント ロックアウトを無効にします。

ShowLockedOutAccounts*

ロックアウト状態のアカウントと認証に失敗したアカウントを表示します。

ResetLockedOutAccount*

ロックアウト状態のアカウントをリセットします (パラメータ: /account:DomainName:AccountName)。

注: アスタリスク (*) の付いているジョブは、このソリューションでは使用されません。

ジョブの出力

ほとんどのスクリプトは、進行状況の情報をコンソール ウィンドウに表示します。また、多くの場合、ログ ファイルへの記録も行います。この情報には、スクリプトの実行中に発生した問題に関するエラー情報が含まれる場合があります。ただし、監視スクリプトは例外です。非対話型のスケジュールされたジョブとして実行され、コンソール ウィンドウに出力を送信しない設計となっているためです。

スクリプトは、単純でスクロール可能なウィンドウを使用して出力を表示します。スクリプトが完了するたびに、ウィンドウを参照用に開いたままにするか、または閉じるか確認が行われます。

ほとんどのセットアップ プロシージャでは、出力は %SystemRoot%\debug\MSSWLAN-Setup.log というファイルにも記録されます。多くの定期的な運用タスクは、ログ ファイルに記録されません。ただし、IAS 構成のインポートなど、セキュリティや運用に大きな影響を及ぼす可能性のあるタスクは記録されます。RADIUS クライアントの追加や RADIUS クライアント シークレットの生成など、機密情報がログに書き込まれる可能性があるタスクは記録されません。

ジョブを実行する

スクリプトは直接実行できますが、構文を簡素化する 2 つのコマンド シェル バッチ (.cmd) ファイルがあります。

.wsf ファイルを直接実行する場合の構文は、次のとおりです。

Cscript //job:JobName MssSetup.wsf

代わりに .cmd ファイルを使用すれば、構文は次のようにより簡単になります。

MssSetupJobName

ジョブを指定せずに .cmd ファイルを実行すると、.wsf ファイル内の最初のジョブ (ListJobs) が実行されます。このジョブは、.wsf ファイル内の各ジョブの ID と説明を一覧表示します。

追加パラメータを取るジョブもあります。これらのジョブを実行するための構文と追加パラメータの詳細については、このソリューションの関連する章で説明します。追加パラメータを指定する場合の一般的な構文は、次のとおりです。

MssSetupJobName /ParamName:ParamValue

ParamName はパラメータ名 (たとえば "path" や "client")、ParamValue はそのパラメータの設定 (たとえば "C:\MyFile.txt" や "マイ コンピュータ") です。埋め込みスペースを含むパラメータ値は、引用符 (") で囲む必要があります。


**
目次
**