昨年(2011年)の11月にMicrosoftのPKIのWhitepaperがアップデートされていました。こちらから見る事ができ、DOCX版もダウンロード可能です。
MicrosoftはWindows 2000の頃からPKIの実装に力を入れていて、今ではTLS、EFS、Kerberos、スマートカードログオン、IPSec、802.1x (EAP-TLS)、SMIME、NAP(検疫ネットワーク)など、OS内部のさまざまな場所で使用されています。
にもかかわらず、PKIって相変わらずマイナー感が漂っていたりします。個人的には、このようなマイナー感はPKIの導入の敷居が高いのに原因があると思います。認証局の構築・運用はPKIに関するそれなりの知識を求められ、まじめにやろうとすると構築・運用側には結構な負担が生じてしまうのです。
このホワイトペーパーは、Microsoft社内の公開鍵認証局(CA)構成について具体的に紹介されています。実際にPKIアプリケーションを使いたいんだけど、認証局はどのような構成にすればいいか悩んでいる人には参考になると思います。
また、構成方法に加えて、運用についての記述も豊富なので、「EFSを導入したいんだけど、キーアーカイブとリカバリー業務はどうやって構成すればいいの?」のようなポイントにも記述されています。
MicrosoftのPKIソリューションについて、広く薄く知りたい場合にはとても適していると思います。
2012年1月24日火曜日
2009年10月7日水曜日
Windows Server 2008 R2 Datacenter Editionの価格が安すぎる件
Windows Server 2008 R2の価格が気になったので調べてみた。マイクロソフトはエンタープライズ向けの価格表はパートナー向けにしか出さないので調べるのも面倒だ。とりあえずググって見つけたのはこちら。
ボリュームライセンスの価格体系がすごいことになっているので以下に抜粋する。
私の周りでは仮想化関連はイマイチ盛り上がりに欠けている ー認証局はHSMの制限で仮想化できない事が多いー が、これだけコストパフォーマンスが良いと、お客さんから「仮想化に対応できないの?」とか普通に言われてしまう日も近そうだ。ちょっとだけ覚悟しておこう。なお、Datacenter Editionはボリュームライセンスのみで提供され、パッケージでは購入できないので注意すべし。
つーか、まだItanium版もあるのか。x86版を廃止してItanium版を残すってのはどうなんよ。
ボリュームライセンスの価格体系がすごいことになっているので以下に抜粋する。
- Windows Server 2008 R2 Datacenter: 463000円
- Windows Server 2008 R2 Enterprise : 454000円
- Windows Server 2008 R2 Standard : 140000円
- Windows Server 2008 R2 Foundation : OEMのみ
- Windows Server 2008 R2 for Itanium-based Systems: 463000円
- Windows Web Server 2008 R2 : 77500円
私の周りでは仮想化関連はイマイチ盛り上がりに欠けている ー認証局はHSMの制限で仮想化できない事が多いー が、これだけコストパフォーマンスが良いと、お客さんから「仮想化に対応できないの?」とか普通に言われてしまう日も近そうだ。ちょっとだけ覚悟しておこう。なお、Datacenter Editionはボリュームライセンスのみで提供され、パッケージでは購入できないので注意すべし。
つーか、まだItanium版もあるのか。x86版を廃止してItanium版を残すってのはどうなんよ。
2009年9月22日火曜日
Windows展開サービス(WDS)を使ってWindows Server 2008をPXE bootインストールする
前々からやりたかったWindows Server 2008のネットワークインストールをやってみた。Windows系でPXEブートインストールするには、Windows Server 2008に標準で付属する「Windows 展開サービス(以下、WDS)」を使う。セットアップは簡単なので省略。とりあえずハマった点などをメモ。
実際にPXE bootでインストールする手順は以下の通り。
WDSは他にも色々なオプションがあって便利と言えば便利なんだが、ADDSの環境が必須になる点やセットアップしたOSがドメインに参加してしまう点(AIKでカスタマイズすれば回避できるかも)などは不便を感じた。単なるCD-ROMの代替として考えているならば、ちょっとお勧めできないかも。
参考URL:
- WDSを実行するサーバーは、ドメインのメンバーサーバーか、ドメインコントローラーになる必要がある。ドメインコントローラーになる場合は、ADDS, DNS, DHCPをセットアップする必要がある(面倒だ!!)
- 用意するイメージは2つ。標準で用意されているのは以下の2つ。
インストールイメージ:Windowsのインストールディスクの\sources\install.wim。Windowsのインストーラーのイメージ。
ブートイメージ:Windowsのインストールディスクの\source\boot.wim。Windows PEのイメージ。 - Windows PEにドライバを組み込んだり、インストールを完全に自動化する場合は、Windows Advanced Installation Kit (AIK)を使う。MSからダウンロード可能。
- PXE bootでセットアップしたマシンは自動的にドメインのメンバになる。(余計なお世話だ!)
実際にPXE bootでインストールする手順は以下の通り。
- インストール対象のマシン(以下クライアント)がPXE BootのDHCPシーケンスでIPアドレスを入手。
- クライアントがWDSを実行するマシンから、TFTPでpxeboot.comをダウンロード
(その後、タイミング良くF12キーを入力しないと先に進まないので注意!!) - クライアントがWDSを実行するマシンから、Windows PE(下記、boot.wim)をダウンロード&起動
- クライアントで、WDSの動作するサーバーのユーザー名&パスワードを入力。これはCIFSでインストールイメージをマウントするため。
- あとは、普通のインストールと同じ。
WDSは他にも色々なオプションがあって便利と言えば便利なんだが、ADDSの環境が必須になる点やセットアップしたOSがドメインに参加してしまう点(AIKでカスタマイズすれば回避できるかも)などは不便を感じた。単なるCD-ROMの代替として考えているならば、ちょっとお勧めできないかも。
参考URL:
2009年6月28日日曜日
Active Directoryを使う時のファイアウォールの設定
Active Directory関連のシステムを構築する際にファイアウォールの設定に泣かされる事が多い。どのポートを開けなければ行けないかが微妙にクリアになっていないためだ。MSのTechnetにWindows Server 2008 R2のADDSが使用するポートの一覧があったので記載しておく。
Active Directory and Active Directory Domain Services Port Requirements
2009年5月31日日曜日
IEのCRL取得失敗時の警告
OCSPレスポンダで遊んでいるときに気づいたのだが、IE7/8はSSL通信時にCRLの取得に失敗した場合でも、証明書を正常なものとして取り扱ってしまうようだ。気になって調べたところMicrosoftからKBが出ていた。「KB946323 Internet Explorer 7 does not send you any notification if it cannot obtain the Certificate Revocation List」
警告を出す事はできるけどデフォルトでは出ないと。うーむ。デフォルトで出した方がいいと思うんだが...
警告を出す事はできるけどデフォルトでは出ないと。うーむ。デフォルトで出した方がいいと思うんだが...
2009年5月22日金曜日
IIS7によるTLS Staplingを使った失効情報の配布
IIS7とIE8の環境でOCSPのサポートがどんなもんかなーっと調査していたら、失効はうまく認識するのに、一向にOCSP(via HTTP)通信をしている気配が無い。散々いじくった結果、IISがTSL Staplingを使用して失効情報を配布していると言うことがわかった。そんな裏ワザがあったとは!
環境はこんな感じ
- Windows Server 2008 EE SP1
* ADDS
* ADCS
Enterprise CA
OCSP Responder
* IIS 7 & SSL
SSL用の証明書は失効済み&失効情報をOCSP Responderで配布
SSL用の証明書にはCDPを含まない
SSL用の証明書のAIAにOCSP拡張を含む - Windows Vista SP2
* Internet Explorer 8
この環境でIE8を使ってSSL通信をする。SSL用のサーバー証明書は失効されており、失効情報はOCSPを用いて公開されている。また、証明書にはOCSPレスポンダへのポインタしか含んでいないので、OCSP(via HTTP)で失効情報を入手するはずだ(と思い込んでいた)。実際にやってみると証明書の失効自体はうまく検出され、IEに「この証明書は失効されています」と表示される。しかし、以下の現象が私を悩ませた。
- イベントログのCAPI2の箇所を見ると、「失効の確認」のイベントでOCSPの情報を入手している。
- Microsoft Network Monitorでトラフィックを観測すると、OCSP(via HTTP)通信をしていない。
- ファイアウォールでHTTPをブロックしてもOCSP情報が取得できる。
うんうん悩んでたら、去年のPKI Dayでマイクロソフトの人が、OCSPとTLS Staplingについて話していた事を思い出したので、資料(PDF)を探してきた。TLS Staplingというのは、SSLハンドシェイク時にWebサーバーが自分自身の証明書の失効ステータスを送信する方法だそうな。
さっそく、Network Monitorで見ると....あったあった。SSLの最初のハンドシェイクの時に、「Server Hello. Certificate. Certificate Status.」を送っている。コイツだったのか...
IISは特に意識をせずにセットアップしたので、デフォルトでオンになっているということか。ちょっと探しただけでは、オフにする方法は見当たらなかった...どこだぁ。
2009年5月8日金曜日
NetBSDでiSCSI Targetを構築する。その2 Windowsでマウント編
前回の続き。今回はNetBSDで構築したiSCSIターゲットをWindows Server 2008でマウントする。Windows Vista / 2008では標準でiSCSIイニシエーターがインストールされているので問題はないが、Windows XP / 2003 / 2000の場合は、こちらからiSCSI Software Initiatorをダウンロード&インストールする必要がある。
設定は超簡単で、以下の3つのみ。
次に、【ターゲット】タブを選択して、【ターゲット】より"iqn.1994-04.org.netbsd.iscsi-target:target0"を選択。その後、【ログオン】を押して、ログオンする。ログオン時のオプションで【コンピュータの起動時にこの接続を自動的に復元する】を選択すると、起動時に自動的に接続する事ができる。

最後に、サーバーマネージャを起動して、【記憶域】→【ディスクの管理】を選択し、オフラインになっているディスクの上でコンテクストメニューを表示し、【オンライン】を選択。あとは、通常のボリューム作成&フォーマットを行なうのみ。
さて、問題の速度は.....SandraのディスクベンチでNTFSを用いた場合は9MByte/Secだった。経験からすると100Base-TXの場合はまぁこんなていど。やっぱり自宅にも1000Base-Tを入れるか。Managedな1000Base-Tのエッジ系L2スイッチだと...Alied Telesis CentureCom GS908かな。ファンレンスだし。
次回はVMware ESXiでのiSCSIイニシエーターの使用方法を紹介する予定。
設定は超簡単で、以下の3つのみ。
- ターゲットが接続されたマシンを探索リストに追加する。
- ターゲットにログオンする
- ターゲットをオンラインにして、パーティションを切り、フォーマットする

次に、【ターゲット】タブを選択して、【ターゲット】より"iqn.1994-04.org.netbsd.iscsi-target:target0"を選択。その後、【ログオン】を押して、ログオンする。ログオン時のオプションで【コンピュータの起動時にこの接続を自動的に復元する】を選択すると、起動時に自動的に接続する事ができる。

最後に、サーバーマネージャを起動して、【記憶域】→【ディスクの管理】を選択し、オフラインになっているディスクの上でコンテクストメニューを表示し、【オンライン】を選択。あとは、通常のボリューム作成&フォーマットを行なうのみ。

さて、問題の速度は.....SandraのディスクベンチでNTFSを用いた場合は9MByte/Secだった。経験からすると100Base-TXの場合はまぁこんなていど。やっぱり自宅にも1000Base-Tを入れるか。Managedな1000Base-Tのエッジ系L2スイッチだと...Alied Telesis CentureCom GS908かな。ファンレンスだし。
次回はVMware ESXiでのiSCSIイニシエーターの使用方法を紹介する予定。
2009年5月7日木曜日
NetBSDでiSCSI Targetを構築する。その1 Target構築編
NetBSDはiSCSIのTargetソフトウェアが標準で搭載されている。VMware ESXiやWindowsのInitiatorと組み合わせるとものすごい幸せになれるので構築してみた。
今回は、ddで作成されたファイルをターゲットとして公開し、Windows Server 2008のイニシエーターでマウントしてフォーマットするところまでを紹介する。環境の構築手順はとても簡単だ。
iscsi-targetの設定は設定ファイルベースで行なわれる。設定ファイルのデフォルトの場所は、/etc/iscsiとなっており、サンプルとしてtargetsとauthsの2つのファイルが保存されている。targetsはiSCSIターゲットとして公開するファイル(またはデバイス)を記載し、authsはターゲットにアクセスする際のユーザー名とパスワードを記載する。
まずはiSCSIターゲットとして公開したいディスクイメージファイルを作成する。ここではファイル名を/iscsi-targets/testとし、ファイルサイズを500Mbyteとした。
ここで注意するのは、extent0の行は"extent + numner"で表記されなければならず、hoge0などの勝手な名前は拒否される。同様にtargetの行も"target + number"の形式で表記する必要がある。
次にiSCSIターゲットを起動する。iSCSIターゲットの起動スクリプトは/etc/rc.d/iscsi-targetに保存されている。システム起動時に自動的に起動したい場合は、以下のようにrc.confに1行を追加しておく。
iSCSIターゲットが正常に起動すると、以下のようにメッセージが表示される。
長くなったので今日はここまで。実際にWindows Server 2008を用いてマウントする方法は次回に記載する事にしよう。
今回は、ddで作成されたファイルをターゲットとして公開し、Windows Server 2008のイニシエーターでマウントしてフォーマットするところまでを紹介する。環境の構築手順はとても簡単だ。
- NetBSDマシンでiSCSIターゲットを構成する
- NetBSDマシンでiSCSIターゲットを起動する
- クライアントマシン(例としてWindows Server 2008 SP1)でターゲットをマウントする。
- クライアントマシンでターゲットをフォーマット
iscsi-targetの設定は設定ファイルベースで行なわれる。設定ファイルのデフォルトの場所は、/etc/iscsiとなっており、サンプルとしてtargetsとauthsの2つのファイルが保存されている。targetsはiSCSIターゲットとして公開するファイル(またはデバイス)を記載し、authsはターゲットにアクセスする際のユーザー名とパスワードを記載する。
まずはiSCSIターゲットとして公開したいディスクイメージファイルを作成する。ここではファイル名を/iscsi-targets/testとし、ファイルサイズを500Mbyteとした。
$ dd if=/dev/zero of=/iscsi-targets/test bs=1024k count=500作成が終了したらls -l でファイルの大きさを確認しておく。ファイルの大きさをtargetの設定ファイルに記述する必要があるためだ。
ls -l /iscsi-targets/test次に、/etc/iscsi/targetsファイルを編集する。targetsファイルには以下の2行を追加する。
-rw-r--r-- 1 root wheel 524288512 May 7 09:54 /iscsi-targets/test
extent0 /iscsi-targets/test 0 524288512extent0の行には公開するファイルとそのファイルの開始位置と終了位置を記載する。オフセットを適切に指定する事によって、1つのファイル(やデバイス)を複数のextentとして構成する事ができる。今回は1つのファイルを1つのextentとしている。このため、offset は0となり、sizeは524288521となる。target0の行には公開するターゲットの名前とモード、ターゲットに対応するextentとtargetを公開するサブネットを記載する。
target0 rw extent0 192.168.55.0/24
ここで注意するのは、extent0の行は"extent + numner"で表記されなければならず、hoge0などの勝手な名前は拒否される。同様にtargetの行も"target + number"の形式で表記する必要がある。
次にiSCSIターゲットを起動する。iSCSIターゲットの起動スクリプトは/etc/rc.d/iscsi-targetに保存されている。システム起動時に自動的に起動したい場合は、以下のようにrc.confに1行を追加しておく。
echo "iscsi-target=YES" >> /etc/rc.conf次に、iSCSIターゲットを起動する。
bash-4.0# /etc/rc.d/iscsi_target start
iSCSIターゲットが正常に起動すると、以下のようにメッセージが表示される。
iscsi_target not running? (check /var/run/iscsi-target.pid).ここで、注目するのはTARGET:の行で、これがこのターゲットを識別するための物となる。実際にターゲットをマウントする際はLUNと連結し、「iqn.1994-04.org.netbsd.iscsi-target:target0」としてマウントする事になる。
Starting iscsi_target.
Reading configuration from `/etc/iscsi/targets'
target0:rw:192.168.55.0/24
extent0:/iscsi-targets/test:0:524288512
DISK: 1 logical unit (1024000 blocks, 512 bytes/block), type iscsi fs
DISK: LUN 0: 500 MB disk storage for "target0"
TARGET: TargetName is iqn.1994-04.org.netbsd.iscsi-target
長くなったので今日はここまで。実際にWindows Server 2008を用いてマウントする方法は次回に記載する事にしよう。
2009年4月23日木曜日
Windows 7/2008 R2でのPKI関連の記事@Technet Magazine
MicrosoftのTechnetマガジン2009年5月号(英語版)で「PKI Enhancements in Windows 7 and Windows Server 2008 R2」という記事があった。なるほど、とりあえずVistaの時のような大きな変更は無さそうだね。Server CoreでADCSが使えるようになるのはうれしいかも。
2009年4月16日木曜日
IEのCRLのキャッシュをクリアする方法
Vista / Windows Server 2008ではcertutil.exeコマンド一発でOK。
certutil.exe -urlcache * delete
2009年3月16日月曜日
そろそろWindows PowerShellに移行しようかと
今まで使っていたCMD.exe + VBSの環境を、Windows Power Shellに移行しようかと思い立った。PowerShellはMicrosoftが開発した新しいシェルで、従来のcmd.exeの置き換えを狙ったもの。歴史は意外と古く、2004年くらいに開発が開始され2006年にWindows XP/Vista/Server 2003/Server2008向けにバージョン1.0がリリースされている。現在はバージョン2.0が開発中で、CTP 3(Customer Technology Preview 3)版を入手することができる。
PowerShellを使い始めて今日で4日目。やっと慣れてきたところだ。面白いのが、PowerShell Driveという機能。この機能は今までレジストリや特殊ファイルとして扱われていたものを、ドライブとしてマウントしてしまう機能だ。Linuxの/procをイメージしてもらえればいいだろう。
標準の状態で作成されているPS DriveはGet-PSDriveコマンドで見ることができる。
PS C:\> Get-PSDriveName Provider Root---- -------- ----Alias AliasC FileSystem C:\cert Certificate \Env EnvironmentFunction FunctionHKCU Registry HKEY_CURRENT_USERHKLM Registry HKEY_LOCAL_MACHINEVariable Variable
レジストリはHKCU:とHKLM:にマッピングされているし、環境変数はEnv:にマッピングされている。面白いのがcert:で、これはWindows証明書ストアがマップされている。たとえば、以下のようにすると管理ツールの証明書で、【証明書 - 現在のユーザー】 → 【個人】 →【証明書】を選択したのと同じように証明書の一覧が表示される。
PS C:\> Get-ChildItem cert:\CurrentUser\My\ディレクトリ: Microsoft.PowerShell.Security\Certificate::CurrentUser\MyThumbprint Subject---------- -------06B05F0D2A93279CDB09115E33D336D40A316D5F CN=Administrator
このAdministratorの証明書はPowerShell内ではオブジェクトとして扱われるので、オブジェクト指向言語を用いたときのように、フィールドを参照したり、メソッドを実行したりすることができる。たとえば、証明書のシリアルナンバーを入手するには以下のようにする。
PS C:\> $certificate = (Get-Item cert:\CurrentUser\My\06B05F0D2A93279CDB09115E33D336D40A316D5F)PS C:\> $certificate.SerialNumberString()61F6573B000000000011
PowerShellには、他にもおもしろい機能がたくさんあるが、やっぱり「ls」コマンドが使えることが一番うれしい。何度、DOS窓でlsって打ってむなしい想いをしたことか...
2009年2月27日金曜日
Windows Server 2008 SP2のHyper-Vとゲストのライセンス
2009年前半にWindows Server 2008のService Pack2がリリースされる。先日、RCの発表があったため、リリースノートを読んでいたらHyper-Vのライセンスについて以下のような記述があった。
SP2 provides the Hyper-V virtualization environment as a fully integrated feature of Windows Server 2008, including one free daughter OS with Windows Server 2008 Standard, four free licenses with Windows Server 2008 Enterprise and an unlimited number of free licenses with Windows Server 2008 Datacenter.
どうやらWindowsを買うと標準でHyper-VのゲストOSのライセンスがついてくるようだ。
- Standard Edition : 1つ
- Enterprise Edition : 4つ
- Datacenter Edition : 制限なし
先日の仮想化に関する本の無料公開といいMicrosoftの気合を感じるな。
追記:
ライセンスについては、ここに詳しく出ていた。SP2でなくともゲストのライセンスはついてくるようだ。
2009年2月5日木曜日
マイクロソフト公式の仮想化の本が無料ダウンロードできるようになった
Microsoftプレスより発行されている「Understanding Microsoft Virtualization Solutions - From the Desktop to the Datacenter」が無料でダウンロードできるようになった。すばらしい!!Microsoftは仮想化に乗り遅れたように見えたが、徐々に本気を出して来た模様。
ダウンロードはこちらから。
http://csna01.libredigital.com/?urmvs17u33
ダウンロードはこちらから。
http://csna01.libredigital.com/?urmvs17u33
2008年2月16日土曜日
IIS7のSSLでハマる
急いでる時に限ってハマる。特にWindows。
Windows Server 2008に標準で付属しているIIS7を使用してSSLを行うサイトを構築してみようかと。もちろん評価用。いつものように管理ツールから「インターネットインフォーメーションサービス(IIS)マネージャ」を起動すると...そこには見慣れない風景が広がっていた。IISマネージャもアップデートしたのね...
仮想ディレクトリの設定は難なくこなせたが、肝心のSSLの設定がグレーアウトしてしまった。2003のときはサーバー証明書の登録->ディレクトリの設定って感じだったけど、IIS7になってからさっぱりわからん。ちなみにSSL設定画面を表示してみると見事にグレーアウト。
右側の警告を読むと「セキュリティで保護されたバインド(HTTPS)がサイトに存在しないため、SSL接続を受理できません。」と記載されている。「バインド(HTTPS)」ってなんだ?証明書ってどこで登録するんだ?
0.5時間ほどアチコチさまよった挙句に、それらしい設定を発見した。以下は手順。
これで、SSLの設定のグレーアウトが解除される。「証明書の登録=セキュリティで保護されたバインド(HTTPS)」ってのは連想できなかったなぁ。たかがWebの設定にここまでハマルとは。それよりも、管理用のツールのインターフェイスをコロコロ変えるのはやめてほしいな。
Windows Server 2008に標準で付属しているIIS7を使用してSSLを行うサイトを構築してみようかと。もちろん評価用。いつものように管理ツールから「インターネットインフォーメーションサービス(IIS)マネージャ」を起動すると...そこには見慣れない風景が広がっていた。IISマネージャもアップデートしたのね...
仮想ディレクトリの設定は難なくこなせたが、肝心のSSLの設定がグレーアウトしてしまった。2003のときはサーバー証明書の登録->ディレクトリの設定って感じだったけど、IIS7になってからさっぱりわからん。ちなみにSSL設定画面を表示してみると見事にグレーアウト。

右側の警告を読むと「セキュリティで保護されたバインド(HTTPS)がサイトに存在しないため、SSL接続を受理できません。」と記載されている。「バインド(HTTPS)」ってなんだ?証明書ってどこで登録するんだ?
0.5時間ほどアチコチさまよった挙句に、それらしい設定を発見した。以下は手順。
- Webサイトのコンテクストメニューに「バインドの編集...」を選択
- 「追加」を選択
- 「https」を選択 & 証明書も選択 (i8ってのはチョー適当に作った自己証明書)
これで、SSLの設定のグレーアウトが解除される。「証明書の登録=セキュリティで保護されたバインド(HTTPS)」ってのは連想できなかったなぁ。たかがWebの設定にここまでハマルとは。それよりも、管理用のツールのインターフェイスをコロコロ変えるのはやめてほしいな。
登録:
コメント (Atom)
