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月30日土曜日

iSCSIが遅かった理由

先日からiSCSI + ESXiの環境を組んでいたのだがiSCSIディスクアクセスの速度が妙に遅くて困った。1000Base-Tなのに120Mbps程度しか出ていない。明らかに異常なのでトラブルシューティングをしてみた。

環境:
  • iSCSI Target : D945CGLF2 + Realtek 8111D(オンボード), NetBSD 5 Xen DOMU上のiSCSI Target
  • iSCSI Initiator: Intel DQ45CB , Q8400, Intel 1000/PT (PCI-Express) ESXiをインストール
  • その他:Apple Macbook Late 2007, Marbell Yukon 2, Mac OS X 10.5をインストール
問題は、iSCSI Targetと Initiator間の速度が出ない事。

iSCSIでベンチマークを取るとディスクアクセスに性能が引っ張られてしまうので、今回はUNIX系ではおなじみのネットワーク帯域測定ツールのnetperfを使って速度を計測した。Macbookをサーバーとし、各マザーに色々なOSを入れて計測してみたところ以下のような結果になった。
D945CGLF2 + NetBSD 5 amd64 Xen DOMU :  120Mbps
D945CGLF2 + NetBSD 5 amd64 Xen DOM0 :  110Mbps
D945CGLF2 + NetBSD 5 amd64 Xen GENERIC Kernel : 440Mbps
D945CGLF2 + CentOS 5 amd64 Xen DOMU : 200Mbps
D945CGLF2 + Puppy Linux 4.2 i386: 840Mbps
DQ45CB(Intel 1000/PT) + Puppy Linux 4.2 : 680Mbps
うわぁ。120Mbpsってなんだよ....NetBSD Xenとの相性が最悪じゃん。コリャダメだ。ファイルサーバーをXenにしたのは間違いだったか。NetBSD 5 + Generic kernelでもあまり速くないし、NetBSDは全般的に遅めの傾向。iSCSI TargetはLinuxで組み直そうかな。

この中ではLinux + D945CGLF2が一番速い。CPU負荷が若干高くなるような気がするけど、これだけ速度に差があるとそれも許せてしまうかも。Realtekは悪い意味で有名だったけど少し考え直そう。枚数を用意するときはコレでもいいかも。

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月18日月曜日

HP Procurve Switch 1400-8G購入

100Base-TXでiSCSIを使用しているとだいたい8〜9Mbyte/Sec程度の速度しか出ない。さすがにキツいので1000Base-Tのスイッチを購入した。購入したのはHP Procurve Switch 1400-8G。通常の8ポートのノンインテリジェントスイッチでお値段は12000円。このクラスの製品では少し高い方になる。

あまり知られていないが、HPのスイッチは全製品に永久保証がついている。以前、職場の古いシャーシスイッチが故障したときは、24時間後には交換部品が到着し業務に復帰できた。特に、追加コストも保守契約の更新もなく保守が受けられるのはとてもありがたい。ちなみに、日本ではどうだか知らないが、海外ではシェアは2位なんだそうな。

さて、問題となっていたiSCSIの速度は...遅い。17MByte/Secがいいところ。まいったな。NetBSD5+ Realtek 8168B/8110Sだとジャンボフレームが使えないのか。あー、ドライバーのソースによるとこのチップのリビジョンだけMTUは1500以上は指定できないようになっとるorz...。ちなみにチップ自体は7Kbyteまでのジャンボフレームに対応しているそうなので、ドライバーの対応待ちといったところか。

2009年5月15日金曜日

DQ45CB BIOSアップデート0083

IntelよりDQ45CBのBIOSアップデートが公開された。これで今までのNew Fixes/Featuresの合計は98件になった。今回のアップデートではBIOS Update用のF7メニューと、謎の機能のF10メニューも追加になる。

New Fixes/Features:
• Added BIOS F10 menu feature.
• Fixed issue where system could not boot normally after the system
password entered with a customer logo modified BIOS generated with
Intel® Integrator Toolkit.
• Fixed issue where system does not refresh display screen when
power-button is used to bring out of S3 state.
• Fixed issue where WHQL test would fail with E5200 processor.
• Added option for F7 update BIOS menu.
• Fixed issue if USB Emulation type is set as Auto, the disk format
should depend on the media format.
• Fixed issue where splash screen disappears after the password
entry screen
• Updated processor support.
散々、キツいことを言ってきたがDQ45CBもだいぶ安定してきている。意外とコストパフォーマンスも高いし、もう一枚くらい買ってもいいかなと思っている。

2009年5月12日火曜日

牛すじ肉の煮込み方法の特許

昔、祖母が作ってくれた牛すじ肉の煮込みの作り方を探していたら、J-Tokkyo.comのページで、牛すじ肉の煮込み方法の特許というのを発見した。和牛と輸入牛のすじ肉をミックスするのが特徴で、どんぶりやおつまみに適した調理法だそうな。特許が本当かどうか分からなかったので、特許庁のページで確認したら、公開2005-312350で公開されていた。本物でした。

大量生産される加工食品や食品の保存に関する特許はなんとかイメージできるが、家庭料理っぽいものも特許が取れるとは思わなかった。その他にも、いぶり大根の漬物を使用したカレー味のいぶり大根の漬物なんていうカレーなんだか大根なんだか漬物なんだかよく分からないものまであったりする。なんでもアリに見えてきてしまった。

なお、肝心の牛すじ肉の煮込みは3時間も煮込まなきゃならないらしく作るのが面倒になってしまった。恐るべし特許。

2009年5月9日土曜日

NetBSDでiSCSI Targetを構築する。その3 ESXiでマウント編

今回はVMware ESXi 3でiSCSIをマウントする方法を紹介する。この手順もとても簡単。
  1. iSCSIソフトウェアアダプタをEnableにする
  2. HBAにターゲットが稼働するマシンを登録する
  3. データストアに追加する。
まずは、ESXiに標準で入っているiSCSIソフトウェアアダプタをEnableにする。【Configuration】→【Storage Adapters】→【iSCSI Software Adapter】のアダプタ(vmhba33など)を選択し、【Properties】をクリック。その後、【General】タブにて【Configure】ボタンをクリックし、statusをEnableに変更する。

次に、【Dynamic Discovery】のタブに移動し、【Add】をクリック。iSCSIターゲットのIPアドレスを指定して(ホスト名は指定できない)を指定する。

最後に、【Configuration】→【Storage】を選択し、ウィザードに従ってストレージを追加する。iSCSIのストレージは【Select Disk / LUN】の画面に自動的に表示される。後は、データストアの名前を入力して終了。
肝心の使用感としては…遅い。うーん。真面目に使うにはやっぱりFC-SANが必須だわ。FC-SANなら速いしQoSも確保できるし、バックアップ系のアプリケーションも使えるし。ESXiでコチョコチョ遊ぶくらいならiSCSIでも十分だと思うが、真面目に運用するにはチョイとキツいかもしれない。ところで、ESXiはリンクアグリゲーションに対応しているそうな。スイッチを買ったら試してみるつもり。

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つのみ。
  1. ターゲットが接続されたマシンを探索リストに追加する。
  2. ターゲットにログオンする
  3. ターゲットをオンラインにして、パーティションを切り、フォーマットする
まずは、【コントロールパネル】→【iSCSIイニシエータ】→【探索】タブを選択。その後、【ポータルの追加】を選択し、ターゲットが稼働するマシンのホスト名(またはIPアドレス)を入力。ポートはデフォルトの3260でOK。

次に、【ターゲット】タブを選択して、【ターゲット】より"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のイニシエーターでマウントしてフォーマットするところまでを紹介する。環境の構築手順はとても簡単だ。
  1. NetBSDマシンでiSCSIターゲットを構成する
  2. NetBSDマシンでiSCSIターゲットを起動する
  3. クライアントマシン(例としてWindows Server 2008 SP1)でターゲットをマウントする。
  4. クライアントマシンでターゲットをフォーマット
NetBSDではiSCSIターゲットが標準でインストールされており、その詳細はiscsi-target(8)とtargets(5)でmanを見る事ができる。iscsi-targetは少し前にはpkgsrc/devel/netbsd-iscsiとして公開されていたがいつのまにか本家にマージされていた。私の記憶が正しければ、実装は元々WASABI Systemが行なっていて、NetBSDプロジェクトに寄贈したんじゃなかったかと。2005年くらいには実装が終了していたような気がするので、割と安心して使用する事ができる。

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
-rw-r--r-- 1 root wheel 524288512 May 7 09:54 /iscsi-targets/test
次に、/etc/iscsi/targetsファイルを編集する。targetsファイルには以下の2行を追加する。
extent0 /iscsi-targets/test 0 524288512
target0 rw extent0 192.168.55.0/24
extent0の行には公開するファイルとそのファイルの開始位置と終了位置を記載する。オフセットを適切に指定する事によって、1つのファイル(やデバイス)を複数のextentとして構成する事ができる。今回は1つのファイルを1つのextentとしている。このため、offset は0となり、sizeは524288521となる。target0の行には公開するターゲットの名前とモード、ターゲットに対応するextentとtargetを公開するサブネットを記載する。
ここで注意するのは、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).
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
ここで、注目するのはTARGET:の行で、これがこのターゲットを識別するための物となる。実際にターゲットをマウントする際はLUNと連結し、「iqn.1994-04.org.netbsd.iscsi-target:target0」としてマウントする事になる。

長くなったので今日はここまで。実際にWindows Server 2008を用いてマウントする方法は次回に記載する事にしよう。

2009年5月5日火曜日

RSA Conference Japan 2009とJNSA PKI Day 2009

6月はいろいろと催し物がある。
6/8 - 12はRSA Conference Japan 2009。行けるかどうかわからないけど、展示会と基調講演だけでも行きたいところだ。
クラストラックのうち興味があるのは、
  • RC-03 サイドチャネル攻撃への対策とその副作用
  • RC-06 ハッシュ関数の標準化動向 - SHA3コンテストの最新状況 -
  • RC-07 電子政府と情報セキュリティ
  • RC-11 Lattice-based Cryptography の最新動向
  • RC-21 ストリーム暗号の標準化と最新動向
申し込みは既に始まってるので、急いで手配しないと。

6/24はJNSA PKI Day 2009も開催される。場所は今年も東京ウイメンズプラザホール。暗号なんて堅苦しい分野なのに毎年「東京ウイメンズプラザホール」ってのがちょっと微笑ましい。こちらは、まだ申し込みは始まっていないようだ。

2009年5月2日土曜日

電子署名活用ガイド@電子認証局会議

4/30に電子認証局会議(CAC:Certification Authority Conference)が「第9回 電子署名電子認証シンポジウム」を開催していた。予定が合わずに出席できなかった。残念。今回のシンポジウムは「電子署名活用ガイド(PDF)」についての話だったようだ。連休中に目を通しておこう。

最近、こういった電子文書の配布が増えていて、パソコンで文書を読む事がとても多くなった。そろそろ電子ペーパーの導入も考えないと辛くなって来た。