SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

WSFC でディスク署名の変更時の修復作業

leave a comment

Windows Server 2003 までの MSCS では、クラスタで使用しているディスクを交換して、ディスク署名が変わると
ClusterRecovery でドライブの変更または、dumpcfg でディスク署名を変更して、交換したディスクを交換前の
ディスクと同じようにするという作業を実施していました。

Windows Server 2008 の WSFC (MSFC) で、ディスク署名が変更されるとどのような動きになり、どのような修復
作業が必要になるのかを調べてみました。

Windows Server 使い倒し塾 の以下の記事を自分なりにまとめてみた形です。
Windows Server 2008 フェールオーバー クラスタで、clusterrecovery.exe によるディスク署名の変更は必要か?

Windows Server 2008 では、DISKPART コマンドからディスク署名の確認 / 変更ができます。
# ディスク署名の確認は以前の OS の DISKPART でもできますね。

ディスク署名の確認 / 変更の操作は以下のコマンドになります。

DISKPART

LIST DISK
または
LIST VOL

SELECT DISK <ディスク ID>
または
SELECT VOL <ボリューム ID>

[ディスク署名の確認]
UNIQUEID DISK

[ディスク署名の変更]
UNIQUEID DISK ID=xxxxxxxx

DISKPART を実行して UNIQUEID コマンドから、ディスク署名の確認 / 変更が行えます。

ディスクに対して署名を変更しますので最初に [LIST DISK] または、[LIST VOL] で対象のディスクを確認しています。

LIST VOL ではボリュームの確認になりますが、[SELECT VOL] でボリュームを選択すると、ボリュームを作成している
ディスクが選択されますので、ドライブレターからディスクを判断する場合は、[LIST VOL] で調べて [SELECT VOL] で
ボリュームからディスクを選択するのが使いやすいと思います。

[ディスク署名が変更された場合の修復]

まずはディスク署名だけを変更して、クラスタのディスクがどのようになるかを確認してみました。
H ドライブのディスクが今回、ディスク署名を変更したディスクなのですが、正常にオンラインになっていますね。
Windows Server 2003 以前では、ディスク署名が変わっているとオンラインにすることができませんでした。

image

以下のログが、イベントビューアに出力されています。
単純なディスク署名の変更だと、クラスタが自動的に署名の修復作業を実施し、最新のディスク署名の値で、
クラスタの構成情報を更新してくれているようです。

image

[ディスク再作成後の修復]

次は、ディスクを再作成した時にどのような動きになるのか確認してみたいと思います。

何かのリソースで使っているディスクでテストをしたほうがよいと思いますので、DTC で使用しているディスクで
検証してみたいと思います。
image

一度 iSCSI のディスクを削除し、ターゲット側で新規に作成したディスクを H ドライブとして割り当ててから、
クラスタを起動してみました。

ディスクを再作成した場合、イベントビューアに以下のエラーが出力されていました。

image

署名の再設定がされなかったみたいですね。

ドライブ文字は一緒にしていますので、MSDTC のディスクとして認識はしていますが、オンラインにはなっていません。

image

オンラインにすると以下のエラーになります。

image

この場合は、ディスクの修復をすることでオンラインにすることができます。
ディスクの修復は [フェールオーバー クラスタ管理] から対象のディスクを右クリック → [その他のアクション]
→ [修復] で実行することができます。

image

ディスクの修復をすることで、代替ディスクとして別のディスクを対象のクラスタディスクとして割り当てることができます。

image

image

これでディスクはオンライにできます。

image

MSDTC のリソースを新規に作成したディスクでオンラインにするためには別の手順が必要になりそうです。
こちらについては別途調べてみたいと思います。
# MSDTC をオンラインにしようとすると以下のエラーが発生します。

image

2008 になってクラスタのディスク復旧が標準の GUI からできるようになったので復旧手順もシンプルになりそうですね。

Written by Masayuki.Ozawa

10月 10th, 2009 at 3:13 pm

Posted in MSCS/WSFC(MSFC)

XP Mode RTM をインストール

leave a comment

ダウンロードが終了したのでインストールをしてみました。

[Windows Virtual PC のインストール]

XP Mode のコアコンポーネントである、Windows Virtual PC をインストールします。
インストールは [MU_WINDOWS_VIRTUAL_PC_xx_435190.MSU] を実行します。
私の環境は Windows Vista x86 を使用しているので今回は 32 bit 版をインストールしています。
image

Windows Update インストーラーが起動して、更新プログラムの確認が行われます。

image
[同意します] をクリックします。
imageimage

[今すぐ再起動] をクリックして再起動します。
image

再起動後、Windows Virutal PC がインストールされます。

image

[Windows XP SP3 のイメージのインストール]

続いて、XP Mode で使用する XP のイメージをインストールします。
インストールは [JA_WINDOWS_XP_MODE_X86_X64_439180.EXE] を実行します。
image 

[次へ] をクリックします。
image

[次へ] をクリックします。
image 

インストールが開始されます。
※途中で UAC が働きます。
image

[完了] をクリックします。
image 

これでインストールディレクトリに XP の VHD が展開されます。
image 

[Windows XP Mode のセットアップ]

[Windows XP Mode] を実行します。

image

[ライセンス条項に同意する] を有効にし、[次へ] をクリックします。
image

XP Mode を使用する際のパスワードを入力し、[次へ] をクリックします。
Virtual PC の XP に作成されるユーザーのパスワードですね。
RTM になってユーザー名が変わったようです。
image 

[自動更新] の設定を行い、[次へ] をクリックします。
image

[セットアップの開始] をクリックします。
image 

XP Mode のインストールが開始されます。
image

インストールが完了すると Virutal PC の XP が自動的に起動します。
image

XP Mode のカテゴリから [JA_RAIL_QFE_FOR_WINDOWS_XP_SP3_X86_439642.EXE] がダウンロードができます。image

これは [KB961742-V3] のモジュールのようなのですが、起動してきた XP にはデフォルトでインストール済みとなっていました。
image

デフォルトで統合コンポーネントもインストール済みです。
image 

RTM でも Windows 7 上にアプリケーションを登録する場合は、[C:Documents and SettingsAll Usersスタート メニュー] に
ショートカットを配置すれば登録できます。

image image

XP Mode で使用している OS もゲスト OS ですのでセキュリティが気になります。
いいタイミングで Microsoft Security Essentials が提供開始されたので XP にインストールしておきました。
Microsoft Security Essentials

提供されているイメージは正規品として正常に認識されますのでインストールができます。

image image

統合サービス経由でネットワークにつながりますので、パターンファイルの更新も可能です。
インストールしたら Security Esentials もメニューに追加されました。
image

パターンファイルを更新するために XP にログインしなくても済むのでこれは便利ですね。

RC の投稿を書いてから 5 か月経過しているのですが、その間ほとんど触っていなかったため、
インストール方法を完全に忘れていました…。

Written by Masayuki.Ozawa

10月 8th, 2009 at 10:35 am

Posted in Windows Client

TechNet / MSDN で XP Mode の提供が開始されました

leave a comment

TechNet / MSDN の会員サイトから XP Mode の RTM がダウンロード可能になったようです。

image

[アプリケーション] → [Windows Virtual PC] からダウンロード可能です。

ダウンロードが終了したらインストール方法を確認して投稿したいと思います。

Written by Masayuki.Ozawa

10月 8th, 2009 at 8:02 am

Posted in Windows Client

Tech・Ed 2009 US の DVD 販売はなさそうですね

leave a comment

去年までは Microsoft Event DVD Store でアメリカの Tech・Ed のセッション DVD が購入できていたのですが
今年は Tech・Ed Online が提供されているので単体での販売はなさそうですね。

Tech・Ed Online

クレジットカード支払いになりますが上記サイトでコンテンツ購読することにより PowerPoint の資料と
セッションの動画をダウンロードすることができます。

購読することで閲覧可能になるのは、上記のリンクから? [Start Now] でサイトに入り、[Channel] の [Track] の
各トラックで鍵アイコンの表示されているセッションです。

1 年間の利用で$249 になります。
私は本日、購読をしてみました。
今、一生懸命セッション資料をダウンロード中です。

2009 のものだけでなく 2008 のセッション動画もダウンロードできるようです。
2008 のものは 2,3 セッションしか確認ができていませんが、セッション資料のダウンロードはなさそうでした。

イベントの開催場所も選択できるようになっており、2008 のセッションについてはヨーロッパで開催されたものも
セッション動画は見れるようでした。
開催場所は日本も選べるようになっており、セッションの内容は公開されていないのですが、今後こちらで公開されるのであれば
参加できなかった方が情報を収集する場としてとても便利なのではないでしょうか。

2010 もこのサイトから資料が公開されダウンロードが可能なのであればかなりお得なサービスかと。

Written by Masayuki.Ozawa

9月 30th, 2009 at 2:38 pm

Posted in セミナー

例外コードの調べ方

leave a comment

Windows を使用していて、例外コードが発生してアプリケーションが終了されることがあります。
例外コードの内容ってどうやって調べるのだろうと思っていたら、@IT に記事がありました。

“Error Code Lookup”ツールでエラー・コードから原因を探る

Windows の例外コードは DDK の ntstatus.h で定義されているようなのですが、上記の記事で紹介されている、
Microsoft Exchange Server Error Code Look-up を使用すると調べることができます。

DDK の ntstatus.ht で定義されていることは以下の KB に記載されています。
NTSTATUS エラー コードをメッセージ文字列に変換する方法

Err Code Lookup の使い方は簡単で、モジュールをダウンロードしたら実行して解凍をして、コマンドプロンプトで
実行するだけです。

以下はコマンドの実行例です。

err.exe [/ヘッダファイル名] <例外コード>

>err.exe 0xC0000142
# for hex 0xc0000142 / decimal -1073741502 :
? STATUS_DLL_INIT_FAILED??????????????????????????????????????? ntstatus.h
# {DLL Initialization Failed}
# Initialization of the dynamic link library %hs failed. The
# process is terminating abnormally.
# 1 matches found for "0xC0000142"

>err.exe /ntstatus.h 0xC0000142
# ntstatus.h selected.
# for hex 0xc0000142 / decimal -1073741502 :
? STATUS_DLL_INIT_FAILED??????????????????????????????????????? ntstatus.h
# {DLL Initialization Failed}
# Initialization of the dynamic link library %hs failed. The
# process is terminating abnormally.
# 1 matches found for "0xC0000142"

?

アプリケーションが終了した場合、例外コードが何を示しているのかを調べるようにすると、一歩進んだ原因の
調査ができるかも知れないですね。

この辺はデバイスドライバの開発をされている方とかはかなり詳しいんでしょうね~。

Written by Masayuki.Ozawa

9月 27th, 2009 at 1:33 pm

Posted in Windows Server

WSFC のログについて

leave a comment

WSFC / MSFC のログについて調べたことをまとめてみました。
久しぶりのクラスタ関連の投稿です。

検証環境が 2008 無印のものしか用意できていなかったため Windows Server 2008 SP1 で確認しています。
そろそろ R2 のクラスタ検証環境も構築しておきたいと思います。

WSFC のログ (状態を把握する情報) は以下の種類があります。

  1. イベントビューア
  2. Cluster.log
  3. Event Tracing for Windows (ETW)

まずはイベントビューアのログから。

[イベントビューア]

以下の 2 個所からクラスタ関連のイベントビューアのログを確認することができます。

  1. システムログ
  2. アプリケーションとサービスログ

それぞれのログの表示の仕方は以下の通りです。

システムログ

  1. サーバー マネージャを実行します。
  2. [診断] → [イベント ビューア] → [Windows ログ] → [システム] を開きます。
    image?
  3. WSFC のログのみを表示するにはソースを [FailoverClustering] でログをフィルタリングします。
    フィルタリングは [操作] の [現在のログをフィルタ] で行います。
    image
  4. [フェールオーバー クラスタ管理] の [クラスタ イベント] で表示される内容もイベントビューアと同様の内容のようですね。
    こちらは直近 24 時間以内の内容でフィルタリングされています。
    image?

アプリケーションとサービスログ

  1. サーバー マネージャを実行します。
  2. [診断] → [アプリケーションとサービス ログ] → [Microsoft] → [Windows] → [FailoverClustering] → [Operational] を開きます。
    image

こちらのログはクラスタの操作ログが出力されるようですね。
細かな動作の内容に関しては [Windows ログ] ではなく、こちらのログを確認したほうがよいかと思います。

[Cluster.log]

Windows Server 2003 まではデフォルトで出力されていたログですね。
Windows Server 2008 ではこのログはデフォルトでは出力されていません。

以下のコマンドを実行して、必要に応じて都度出力する必要があります。

cluster log /generate
または
cluster log /g

?

このコマンドを実行すると [Cluster.log] が [C:WindowsClusterReports] に出力されます。
[/node:] オプションを指定しない場合は、クラスタを構成する各ノード上にログが出力されています。

image

このファイルは以前からクラスタを触られている方であれば馴染みのある形式ですよね。
クラスタのログは Tech Center の以下の投稿がとても参考になります。
Cluster Log Level

クラスタのログのレベルは 1 ~ 5 までの 5 段階で設定ができ、デフォルトでは 3 となっています。

Level Error Warning Info Verbose Debug
0 ? ? ? ? ?
1 ? ? ? ?
2 ? ? ?
3 ? ?
4 ?
5

?
以下は [Cluster log] コマンドのヘルプになります。
[/LEVEL] は [0 ~ 10] となっていますが、6 以上は将来の予約値となっているようで現在はまだ使われていないようです。
# R2 になって使用されるようになっているかまではまだ調べられていません。

>cluster log /?
このコマンドの構文は次のとおりです:

CLUSTER [[/CLUSTER:]クラスタ名] LOG <オプション>
<オプション> =
? /G[EN[ERATE]] [/COPY[:"ディレクトリ"]] [/NODE:"ノード名"]
? [/SPAN[MIN[UTE[S]]]:分] ]
? /SIZE:MB 単位のログ サイズ
? /LEVEL:ログ レベル

注意:
? /SIZE は 8 ~ 1024 MB の間である必要があります。
? /LEVEL は 0 ~ 10 の間である必要があります。

CLUSTER LOG /?
CLUSTER LOG /HELP

ログのレベルを変更したいときは、[Cluster log /LEVEL:<レベル>] で変更します。
サイズはデフォルトでは [100 MB] になっていますので変更したい場合は [Cluster log /LEVEL:<サイズ>] で変更します。
現在の設定値を確認したい場合は、[Cluster prop] コマンドで確認することができます。
以下は、コマンドの出力結果です。
[ClusterLogLevel] [ClusterLogSize] が現在の設定値になります。

T? クラスタ???????????? 名前?????????????????????????? 値
— ——————– —————————— ———————–
M? 2008-wsfc-01???????? AdminExtensions
D? 2008-wsfc-01???????? DefaultNetworkRole???????????? 2 (0x2)
S? 2008-wsfc-01???????? Description
B? 2008-wsfc-01???????? Security Descriptor??????????? 01 00 14 80 … (288 バイト)
M? 2008-wsfc-01???????? GroupsAdminExtensions
M? 2008-wsfc-01???????? NetworksAdminExtensions
M? 2008-wsfc-01???????? NetworkInterfacesAdminExtensions
M? 2008-wsfc-01???????? NodesAdminExtensions
M? 2008-wsfc-01???????? ResourcesAdminExtensions
M? 2008-wsfc-01???????? ResourceTypesAdminExtensions
D? 2008-wsfc-01???????? QuorumArbitrationTimeMax?????? 20 (0x14)
D? 2008-wsfc-01???????? QuorumArbitrationTimeMin?????? 7 (0x7)
D? 2008-wsfc-01???????? DisableGroupPreferredOwnerRandomization 0 (0x0)
D? 2008-wsfc-01???????? ClusSvcHangTimeout???????????? 60 (0x3c)
D? 2008-wsfc-01???????? ClusSvcRegroupStageTimeout???? 7 (0x7)
D? 2008-wsfc-01???????? ClusSvcRegroupOpeningTimeout?? 5 (0x5)
D? 2008-wsfc-01???????? ClusSvcRegroupPruningTimeout?? 5 (0x5)
D? 2008-wsfc-01???????? ClusSvcRegroupTickInMilliseconds 300 (0x12c)
D? 2008-wsfc-01???????? HangRecoveryAction???????????? 3 (0x3)
D? 2008-wsfc-01???????? SameSubnetDelay??????????????? 1000 (0x3e8)
D? 2008-wsfc-01???????? CrossSubnetDelay?????????????? 1000 (0x3e8)
D? 2008-wsfc-01???????? SameSubnetThreshold??????????? 5 (0x5)
D? 2008-wsfc-01???????? PlumbAllCrossSubnetRoutes????? 0 (0x0)
D? 2008-wsfc-01???????? CrossSubnetThreshold?????????? 5 (0x5)
D? 2008-wsfc-01???????? BackupInProgress?????????????? 0 (0x0)
D? 2008-wsfc-01???????? RequestReplyTimeout??????????? 60 (0x3c)
D? 2008-wsfc-01???????? WitnessRestartInterval???????? 15 (0xf)
D? 2008-wsfc-01???????? SecurityLevel????????????????? 1 (0x1)
D? 2008-wsfc-01???????? ClusterLogLevel??????????????? 3 (0x3)
D? 2008-wsfc-01???????? ClusterLogSize???????????????? 100 (0x64)
D? 2008-wsfc-01???????? WitnessDatabaseWriteTimeout??? 300 (0x12c)

[Cluster.log] はコマンドの実行の都度、生成されますがその情報は Event Tracing for Windows (ETW) で出力された
情報がベースになっているようです。

[Cluster log /g] コマンドを実行すると、[CPrepSrv.exe] が [C:WindowsSystem32winevtLogs] ディレクトリにある、
[ClusterLog.etl.001] [ClusterLog.etl.002] [ClusterLog.etl.003] を読み込み、[Cluster.log] を生成しています。

image

[Event Tracing for Windows (ETW) ]

最後に ETW のログです。

ETW は Event Tracing for Windows の略で、OS で提供されている汎用トレース機能になります。
この機能により、クラスタの状態が ETL ファイルに出力がされています。
ETW は OS の内部状態を確認するために使用することがあるようなのですが、私は全然詳しくありません・・・。
IT Pro 向けの ETW / XPerf 関連の情報を集めたいなと思っているのですが手付かずです。

ETW によりデバッグおよびパフォーマンス調整を改善する

クラスタの ETW はイベントトレースセッションで自動的に実行されるようになっています。

イベントトレースセッションの設定は以下から確認することができます。

  1. サーバー マネージャを実行します。
  2. [診断] → [信頼性とパフォーマンス] → [データ コレクタ セット] → [イベント トレース セッション] を開きます。

image?

[FailoverClustering] がクラスタのイベントトレースセッションの設定になります。

自動的に実行されているのは [スタートアップ イベント トレース] で [FailoverClustering] が [自動] で設定されているからのようですね。

image

この機能で出力されているのが、[Cluster.log] のベースになっている、[C:WindowsSystem32winevtLogs] に出力さている、
[ClusterLog.etl.xxx] ファイルになります。

このファイルを直接開いて内容を確認することはできないのですが、[tracerpt] というコマンドを使用すると、CSV や XML で
出力することができます。
以下はコマンドの例になります。

tracerpt ClusterLog.etl.001 ClusterLog.etl.002 ClusterLog.etl.003 -o log.txt ?of CSV
tracerpt ClusterLog.etl.001 ClusterLog.etl.002 ClusterLog.etl.003 -of XML

クラスタの場合は ETW を開くより、cluster.log にして開くことのほうが多いと思いますので、使用する機会は
多くないかも知れないですね。

ETL ファイルですので、xperf や xperfview で開くことも可能です。
xperf / xpwerfview は以下のリンクから WPT Kit をダウンロードすることで入手可能です。

Windows Performance Analysis

パフォーマンス系の情報が入っていないからなのか、開いても寂しい表示ですが。

image?

以上が、クラスタのログになります。
クラスタで障害が発生した場合は、これらのログを使用して状況を把握していくことになります。
ETW は Cluster.log で確認ができるので、実際にはイベントビューアと cluster.log の 2 種類を使用することになりますね。

この記事はずっと下書きに入っていたのですが、ようやく投稿まで持っていくことができました。

Written by Masayuki.Ozawa

9月 26th, 2009 at 3:19 pm

Posted in MSCS/WSFC(MSFC)

ISA でリバプロ ? HTTPS 編 ? その 2

leave a comment

HTTPS で ISA を公開するための手順の続きです。

[Web リスナ の作成? (SSL) ]

作成の手順は証明書関連を除くと HTTP のときとほとんど同じです。
同じ箇所は画像は省略して手順を記載しています。

  1. [スタート] → [すべてのプログラム] → [Microsoft ISA Server] から [ISA Server の管理] を開きます。
  2. [ファイアウォール ポリシー] を選択し、[ツールボックス] → [ネットワーク オブジェクト] → [Web リスナ]
    → [右クリック] → [新しい Web リスナ] をクリックします。
  3. 任意の [Web リスナ名] を入力し、 [次へ] をクリックします。
  4. [クライアントとの SSL セキュリティ保護接続を必要とする] を選択し、[次へ] をクリックします。
    image
  5. 外部からの要求を受け付ける IP アドレスが指定されているネットワークを選択し、[次へ] をクリックします。
  6. ネットワークに複数の IP を割り当てている場合は IP 単位で証明書を設定できるようです。
    今回は単一の IP を割り当てていますので、[この Web リスナに 1 つの証明書を使う] を選択し、[証明書の選択] を
    クリックします。
    image
  7. 証明書の設定が完了していると、サイト用の証明書が選択できるようになっています。
    使用する証明書を選択し、[選択] をクリックし、[次へ] をクリックします。
    image
  8. [クライアントが ISA Server に~] は [認証なし] を選択し、[次へ] をクリックします。
  9. [次へ] をクリックします。
  10. [完了] をクリックします。

これで SSL を使用するリスナーの作成は終了です。
あとは HTTP のときと同様にこのリスナーを使用するポリシーを作成します。

[ファイアウォール ポリシーの作成]

こちらも HTTP のときと同じ箇所の画像は省略で。

  1. [タスク] → [Web サイトの公開] をクリックします。
  2. 任煮の [公開ルール名] を入力し、[次へ] をクリックします。
  3. [許可] を選択し、[次へ] をクリックします。
  4. [1 つの Web サイトまたは付加分散装置を公開する] を選択し、[次へ] をクリックします。
  5. 今回は Web サーバー側も SSL を適用したサイトで作成しているのでこちらの設定を使用しています。
    [公開された Web サーバーまたはサーバー ファームへの接続に SSL を使用する] を選択し、[次へ] をクリックします。
    クライアント ←→ ISA 間は SSL で保護されているので、 ISA ←→ Web サーバー間は SSL を使用しないという
    考え方もあるかも知れません。
    その場合は下のラジオボタンを選択します。
    今まで、SSL のサイト展開をした経験がないのでわからないのですが、一般的にはどちらが多いんでしょう??
    image
  6. [内部サイト名] と、必要に応じて [コンピュータ名または IP アドレス~] を有効にして、入力を行い [次へ] をクリックします。
  7. [内部公開の詳細] はデフォルトのままで [次へ] をクリックします。
  8. [パブリック名] に外部公開のドメイン名を入力し、[次へ] をクリックします。
  9. [Web リスナ] に作成した SSL 用のリスナ名を選択し、[次へ] をクリックします。
    image
  10. 認証方式は、[委任できません。クライアントは直接認証できません] を選択し、[次へ] をクリックします。
    作成したルールを RD ゲートウェイで使用する場合は、ゲートウェイ側と ISA 側の設定にもよるかも知れませんが、
    [委任できません。クライアントは直接認証できます] に設定しないと RD ゲートウェイへの接続時に認証ダイアログに
    ユーザー情報を指定してもログインできないことがあります。
    # 設定を [クライアントは直接認証できます] にしてもユーザー名にはきちんとドメイン名を入力しないと
      接続できませんでした。
    RD ゲートウェイには SSL ブリッジという機能があるんですね~。いままで気づきませんでした。
    image
  11. [次へ] をクリックします。
  12. [完了] をクリックします。
  13. [適用] をクリックして、今までの設定を反映させます。

これで HTTPS 経由でのリバースプロキシとして使用することが可能です。

ISA のプロキシ機能がうまく使えると検証環境を柔軟に構成変更できる環境にできそうです。

Written by Masayuki.Ozawa

9月 26th, 2009 at 12:59 pm

Posted in ISA

ISA でリバプロ ? HTTPS 編 ? その 1

leave a comment

HTTPS で ISA を公開する場合の手順になります。
HTTP の設定と大きく異なるのは証明書の設定です。

手順としては

  1. ルート証明書のインポート
  2. サイト用証明書のインポート
  3. Web リスナ の作成? (SSL)
  4. ファイアウォール ポリシーの作成

になります。

まずは [その 1] として証明書のインポート関連の手順をまとめてみたいと思います。

verisign 等の証明機関から発行されている証明書を使用する場合は [ルート証明書のインポート] は不要です。
私は AD CS (Active Directory 証明書サービス) で発行している証明書を使用しており、ISA はワークグループの
環境で配置しているため、AD CS のルート証明書をインポートしています。

[ルート証明書のインポート]

  1. ルート証明書をエクスポートします。
    Windows Server 2008 の AD CS の場合には、管理ツールの [証明機関] を実行して、証明機関のプロパティを開き、
    [証明書の表示] → [詳細タブ] → [ファイルにコピー] からルート証明書をエクスポートし、エクスポートしたファイルを
    ISA にコピーします。
    # 検証で証明書を使っているので塗りつぶしだらけです・・・。
    image image
  2. ISA でファイル名を指定して実行から [mmc] を起動します。
  3. [ファイル] → [スナップインの追加と削除] →[証明書] → [追加] をクリックします。
    image
  4. [コンピュータ アカウント] を選択し、[次へ] をクリックします。
    image
  5. [完了] をクリックして、スナップインを追加します。
  6. [信頼されたルート証明機関] → [右クリック] → [すべてのタスク] → [インポート] をクリックします。
    image
  7. [次へ] をクリックし、[参照] でコピーしておいた証明書を選択し、[次へ] をクリックします。
  8. [証明書をすべて次のストアに配置する] が選択され、[信頼されたルート証明機関] が表示されていることを確認し、
    [次へ] をクリックします。
    image
  9. [完了] をクリックし、ルート証明書をインポートします。

これで、AD CS で発行された証明書が有効なルート証明機関から発行された証明書として認識できるようになります。

[サイト用証明書のインポート]

続いてサイト用の証明書をインポートします。

IIS 7.0 では IIS マネージャからドメイン証明書が簡単に作成できます。
サイト用の証明書はこの機能を使用して作成しました。
以下、簡単ですがサイト用証明書の作成手順です。
[Domain Admins] のメンバーで操作をしないとうまくいかないかも知れないです。
# [Cert Publishers] で大丈夫かなと思っていたのですが駄目でした・・・。

  1. IIS マネージャを起動します
  2. サーバーを選択して、[サーバー証明書] をクリックします。
    image
  3. [ドメイン証明書] の作成をクリックします。
    image
  4. [一般名] に SSL を使用するサイトの名称を入力し、他の情報も入力して [次へ] をクリックします。
    一般名を [*.ドメイン名] として証明書を作成しておくと複数のサイト用の証明書として使用できます。
    [*.test.local] で証明書を作成した場合は、[www.test.local] [www2.test.local] というサイト名を
    一つの証明書で使用することが可能となります。
    image
  5. [オンライン証明機関の指定] で AD CS サーバーを選択し、[フレンドリ名] を入力し、[終了] をクリックします。
    フレンドリ名は実際のサイト名とは異なる証明書の管理名を入力すれば問題ありません。
    # AD CS サーバーの構築が正常に終了していないと [選択] ボタンで AD CS のサーバーを選択できないようです。
    IIS 7.0: IIS 7.0 でドメイン サーバー証明書を作成する

これでサイト用の証明書の作成は終了です。
IIS マネージャのサーバー証明書に以下のような表示がされていれば成功です。
この証明書は AD CS 側では自動的に [発行した証明書] として設定されています。
image

証明書を右クリックして [エクスポート] をするとファイルにエクスポートすることが可能です。
image image

これでファイルにエクスポートした証明書を ISA にコピーして登録します。

  1. MMC を実行して、スナップインを追加するところまでは [ルート証明書のインポート] と同じです。
  2. [個人] → [右クリック] → [すべてのタスク] → [インポート] をクリックします。
    image
  3. [次へ] をクリックし、[参照] でコピーしておいた証明書を選択し、[次へ] をクリックします。
    IIS マネージャでエクスポートした証明書は [pfx] のファイルですので、ファイルの種類で [*pfx,*p12] を選択しておきます。

    image

  4. パスワードの入力画面では、エクスポート時に指定したパスワードを入力し、[次へ] をクリックします。
    image
  5. [証明書をすべて次のストアに配置する] が選択され、[個人] が表示されていることを確認し、[次へ] をクリックします。
    image
  6. [完了] をクリックし、サイト用証明書をインポートします。

これで ISA で SSL サイトを設定するための事前準備が完了です。
次の投稿で実際に HTTPS でサイトを公開するための ISA の設定をまとめたいと思います。
# リモートデスクトップ ゲートウェイ (以前の TS ゲートウェイ) を公開するときの設定も少し書きたいと思っています。

Written by Masayuki.Ozawa

9月 24th, 2009 at 2:32 pm

Posted in ISA

ISA でリバプロ ? HTTP 編 –

leave a comment

簡単ですが ISA 2006 でリバースプロキシを試してみましたので、設定方法を投稿しておきたいと思います。
HTTP / HTTPS の両方を試してみました。

まずは HTTP 編から。

基本的な設定手順としては、

  1. Web リスナ の作成
  2. ファイアウォール ポリシーの作成

の 2 手順となります。
Web リスナはファイアウォール ポリシーの作成時に一緒に作成することもできますが、別の手順として
まとめておいたほうがわかりやすそうなので手順を分けています。

[Web リスナの作成]

  1. [スタート] → [すべてのプログラム] → [Microsoft ISA Server] から [ISA Server の管理] を開きます。
  2. [ファイアウォール ポリシー] を選択し、[ツールボックス] → [ネットワーク オブジェクト] → [Web リスナ]
    → [右クリック] → [新しい Web リスナ] をクリックします。
    image
  3. 任意の [Web リスナ名] を入力し、 [次へ] をクリックします。
    image
  4. [クライアントとの SSL セキュリティ保護接続を必要としない] を選択し、[次へ] をクリックします。
    image
  5. 外部からの要求を受け付ける IP アドレスが指定されているネットワークを選択し、[次へ] をクリックします。
    今回の検証環境は NIC 1 枚で全プライベート IP アドレスを [内部] に設定している環境のため、
    [内部] を選択しています。
    image
  6. [クライアントが ISA Server に~] は [認証なし] を選択し、[次へ] をクリックします。
    プロキシサーバーの認証を必要とする場合にはここで設定をするのだと思います。
    まだ、勉強中でほとんど調べられていないのですが、単純なリバプロとして使用する場合は無認証にしておけば検証ができます。
    image
  7. [次へ] をクリックします。
    image
  8. [完了] をクリックします。
    image

これでリスナーの作成は完了です。
続いて、リバプロに使用するファイアウォールポリシーを作成します。

[ファイアウォール ポリシーの作成]

  1. [タスク] → [Web サイトの公開] をクリックします。
    image
  2. 任煮の [公開ルール名] を入力し、[次へ] をクリックします。
    image
  3. [許可] を選択し、[次へ] をクリックします。
    image
  4. [1 つの Web サイトまたは付加分散装置を公開する] を選択し、[次へ] をクリックします。
    image
  5. [公開された Web サーバーまたはサーバー ファームへの接続に、セキュリティで保護されていない接続を使用する] を
    選択し、[次へ] をクリックします。
    ?image
  6. [内部サイト名] と、必要に応じて [コンピュータ名または IP アドレス~] を有効にして、入力を行い [次へ] をクリックします。
    [内部サイト名] は LAN のブラウザから開くときの URL のサイト名になるそうです。
    単純な検証をする場合は、外部公開のサイト名と同じものを指定すればよさそうです。
    ISA 2006 はワークグループ環境に構築ができますので、ドメイン内の DNS を使用しない場合などはサーバーの IP を
    [コンピュータ名または IP アドレス] に入力します。
    ?image
  7. この辺は勉強不足で最適な設定の検証がぜんぜんできていません・・・。
    設定が正しくないと、ブラウザでアクセスした際に、

    エラー コード: 500 Internal Server Error. 対象のプリンシパル名が間違っています。 (-2146893022)

    が表示されるみたいです。

  8. [内部公開の詳細] はデフォルトのままで [次へ] をクリックします。
    特定のフォルダだけ公開させることも可能なようです。
    今回は全公開なので未入力としています。
    image
  9. [パブリック名] に外部公開のドメイン名を入力し、[次へ] をクリックします。
    image
  10. [Web リスナ] に作成した HTTP 用のリスナ名を選択し、[次へ] をクリックします。
    image
  11. 認証方式は、[委任できません。クライアントは直接認証できません] を選択し、[次へ] をクリックします。
    image
  12. [次へ] をクリックします。
    image
  13. [完了] をクリックします。
    image

以上で設定は完了です。

ISA は設定を変更した場合、最終的な確定には必ず [適用] が必要となります。
[適用] をクリックして、今までの設定を反映させます。

image

これで ISA に HTTP 要求があった場合、URL によってどのサーバーに割り振るかを変更できるようです。

ひとつのグローバル IP で複数のサーバーをポート 80 で公開するためにはこの辺の知識が必要になってくるので、
ネットワーク関連の知識として勉強が必要だな~と感じました。

この設定だと、各サーバーへの要求は ISA からの要求として処理がされるので、実際アクセスされたクライアントのログとしては
各サーバーに出力がされないんですよね。

作成した公開ルールを開くと、[公開先] のタブに、以下の設定があり、
image

[元のクライアントからの要求にする] を選択することによって、IIS のアクセスログに実際の要求元の IP アドレスを残すことが
できるのですが、この場合は各 IIS のサーバーのデフォルトゲートウェイを ISA に設定しないといけないようです。
いまは、かなり乱雑なネットワークで検証環境を構築してしまっているのでどこかで見直さないと。

Written by Masayuki.Ozawa

9月 23rd, 2009 at 2:03 pm

Posted in ISA

ISA でリバプロの参考資料

leave a comment

ISA でリバースプロプロキシを構築する際に参考となりそうな資料をメモとして。

TechNet バーチャル ラボ: ISA Server 2006 と Forefront Server Security による Exchange、SharePoint の安全な利用
セキュリティ バーチャル ラボ
TS ゲートウェイの ISA Server シナリオを構成する
Outlook Web Access のプロキシ サーバーを構成する方法

基本的な作業としては

  1. Web リスナを作成
  2. ファイアウォールポリシーで内部 URL と関連付け

の手順となりそうです。

ISA の日本語の書籍ってほとんどないんですね~。
研修のカタログを見ても実施されていないようです。

洋書は何冊か出ているみたいですね。
いい加減、英語嫌いも克服しないとこの先 SE としてお先真っ暗な気がしてきました・・・。

Written by Masayuki.Ozawa

9月 23rd, 2009 at 12:53 pm

Posted in ISA