ESXi 4 の上に XP を入れました
細かいことは良く分からずともいじれてしまうので
VM 作るのに一応カスタムで設定すると見せ掛けて
デフォルトばかりで進むということをしていました
で、インストールが終わって WMWare Tools をインストールすると
何かがエラーが起きていちタスクトレイの VMWare のロゴが
進入禁止みたいなマークで上書かれてしまっています
VMWare Tools を開いてみるとどうも HDD の部分でエラーが
あれー、Vista は SCSI だったかもしれないし
2003 とか 2008 は SCSI だったからかなぁ
と思ってググってみたんですがあんまし良さげな情報も出てきません
で、まぁ XP なら直ぐだしと思って再インストールしてやっぱりダメ
エェェェ、って思ってたんですがボーっとしてたら思い浮かびました
「そういえばこれ素の XP だから SP1 すらあたってなくね?」
エラーが出つつもライセンス認証して SP2 をあててみると
無事侵入禁止マークが取れました
解決はしたんですが、ものすごい無念
2009/12/08
2009/12/07
vmware-bios
VMWare の VM に何か入れようとしてまして
上書きでインストールしようと思ったんですが
気付くと Windows が起動してしまっています
BIOS の画面とかにもいけない感じ
ドキュメント読む前にググっちゃうと
VMware/BIOSのセットアップ画面を出す - 俺の基地
そうか、なるほど、設定で最初の画面の出る時間が指定できるのか!
で、確かに VM の設定項目開いたら
[オプション] -> [詳細] -> [起動オプション] -> [パワーオン時起動遅延]
ってありまして
0 ミリ秒でした、そりゃ無理だ。
10000 ミリ秒にしたら、ちゃんと待ってくれたので
ESC 押して CD が選べました
上書きでインストールしようと思ったんですが
気付くと Windows が起動してしまっています
BIOS の画面とかにもいけない感じ
ドキュメント読む前にググっちゃうと
VMware/BIOSのセットアップ画面を出す - 俺の基地
そうか、なるほど、設定で最初の画面の出る時間が指定できるのか!
で、確かに VM の設定項目開いたら
[オプション] -> [詳細] -> [起動オプション] -> [パワーオン時起動遅延]
ってありまして
0 ミリ秒でした、そりゃ無理だ。
10000 ミリ秒にしたら、ちゃんと待ってくれたので
ESC 押して CD が選べました
2009/12/05
authrootseq.txt authrootstl.cab
インターネットってのは原理的には盗聴し放題だったり
いつどこから誰がアクセスしてくるかも分からなかったりするので
盗聴とかユーザー認証とかするのに暗号技術ってのは基本リテラシーです
新版暗号技術入門とか分かりやすい
で、Windows の場合 CryptoAPI っていう API を持っていて
(Linux だと OpenSSL がスタンダードですかね)
暗号・PKI 関係を処理してくれています
capi とか capi2 とかいうみたいです
http://msdn.microsoft.com/en-us/library/aa380255(VS.85).aspx
こっから辿れば色々分かるのかな
テクノロジーは日々進歩して
結果 XP と Vista では CryptoAPI も大きく変わっているそうで
(2008 -> 2008 R2 でも随分と変わっているらしいけど)
例えば XP も Vista もルート証明書の自動インストール機能があるのに
Internet Explorer のセキュリティ Internet Explorer 7 の EV SSL 証明書の実装
にもある通りそのタイミングが違ったりしています
というかそもそも Vista/2008 は「信頼されたルート証明機関」が
インストール直後には 10 こも無かったりするんですが
必要に応じて勝手にインストールされてしまうわけです
例えば以下がお詳しいのではないかと
自堕落な技術者の日記 : Windows 7 RCを入れてみた(その2)
自堕落な技術者の日記 : Windowsルート認証機関の更新(2009.02)
でまぁ、確かに
Microsoft ルート証明書プログラムのメンバ (2009 年 2 月)
見たらどこが信頼されてるのかは分かるかもしれないですが
違う! そうじゃない! 欲しいのは証明書なんだっ!!
つうわけでどうしてるんだかちょっと調べてみました
で、ググっちゃみたんですが良く分からない
でも確かに IE on Vista で https://mixi.jp/ なんかにアクセスしてみると
ルート証明書が沢山インストールされてるのが確認できますし
mmc 経由で削除してもまたアクセスするとまたインストールされてます

良く分からなかったらパケットキャプチャだということで
Wireshark を使ってキャプチャーしてみました
http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootseq.txt
http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab
http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/02FAF3E291435468607857694DF5E45B68851868.crt
どうもこの辺りをダウンロードしてるみたいで関係あるみたい
でまぁ、この辺のファイル名とかでググればそれなりに情報が出てきます
authrootseq.txt は中を見るとテキストで何かシリアルみたいなものが
いま手元にあるのだと 1401CA5837700A984D って書いてありました
authrootstl.cab は中に authroot.stl ってのが入っていて
Vista で double click すると


1401CA5837700A984Dはシーケンス番号らしいし
どうやらこいつがリストっぽい
で、最後のは証明書で der で AddTrust の自己署名でした
で、authroot.stl ですわ
何か見辛いなと思ったし
「PKI 関係ならどうせ ASN.1 なんでしょ?」
と試しに asn1parse してみると
AddTrust のは
1.3.6.1.4.1.311.10.11.29 っていう OID がありますが
これもググると wincrypt.h っていうファイルに
Subject を md5 したもんでこれで捜すのかと推察
他の OID もそれぞれ興味深いんだけど、今は置いといて
つまり authroot.stl を見れば信頼されたルートの証明書の
DER での SHA1 値が分かってしまって
"SHA1 値.crt" で
http://www.download.windowsupdate.com/
を叩きまくってやったらいいんではないかと思うわけです
とりあえず何かスラズラーっと出てきました
ん〜、これで全部なんだろうか?
確認しようと思えばできるけどなぁ...
いつどこから誰がアクセスしてくるかも分からなかったりするので
盗聴とかユーザー認証とかするのに暗号技術ってのは基本リテラシーです
新版暗号技術入門とか分かりやすい
で、Windows の場合 CryptoAPI っていう API を持っていて
(Linux だと OpenSSL がスタンダードですかね)
暗号・PKI 関係を処理してくれています
capi とか capi2 とかいうみたいです
http://msdn.microsoft.com/en-us/library/aa380255(VS.85).aspx
こっから辿れば色々分かるのかな
テクノロジーは日々進歩して
結果 XP と Vista では CryptoAPI も大きく変わっているそうで
(2008 -> 2008 R2 でも随分と変わっているらしいけど)
例えば XP も Vista もルート証明書の自動インストール機能があるのに
Internet Explorer のセキュリティ Internet Explorer 7 の EV SSL 証明書の実装
にもある通りそのタイミングが違ったりしています
というかそもそも Vista/2008 は「信頼されたルート証明機関」が
インストール直後には 10 こも無かったりするんですが
必要に応じて勝手にインストールされてしまうわけです
例えば以下がお詳しいのではないかと
自堕落な技術者の日記 : Windows 7 RCを入れてみた(その2)
自堕落な技術者の日記 : Windowsルート認証機関の更新(2009.02)
でまぁ、確かに
Microsoft ルート証明書プログラムのメンバ (2009 年 2 月)
見たらどこが信頼されてるのかは分かるかもしれないですが
違う! そうじゃない! 欲しいのは証明書なんだっ!!
つうわけでどうしてるんだかちょっと調べてみました
で、ググっちゃみたんですが良く分からない
でも確かに IE on Vista で https://mixi.jp/ なんかにアクセスしてみると
ルート証明書が沢山インストールされてるのが確認できますし
mmc 経由で削除してもまたアクセスするとまたインストールされてます

良く分からなかったらパケットキャプチャだということで
Wireshark を使ってキャプチャーしてみました
http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootseq.txt
http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab
http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/02FAF3E291435468607857694DF5E45B68851868.crt
どうもこの辺りをダウンロードしてるみたいで関係あるみたい
でまぁ、この辺のファイル名とかでググればそれなりに情報が出てきます
authrootseq.txt は中を見るとテキストで何かシリアルみたいなものが
いま手元にあるのだと 1401CA5837700A984D って書いてありました
authrootstl.cab は中に authroot.stl ってのが入っていて
Vista で double click すると


1401CA5837700A984Dはシーケンス番号らしいし
どうやらこいつがリストっぽい
で、最後のは証明書で der で AddTrust の自己署名でした
$ sha1sum -b 02FAF3E291435468607857694DF5E45B68851868.crtなので、URI というか file name は DER を SHA1 したものみたい
02faf3e291435468607857694df5e45b68851868 *02FAF3E291435468607857694DF5E45B68851868.crt
で、authroot.stl ですわ
何か見辛いなと思ったし
「PKI 関係ならどうせ ASN.1 なんでしょ?」
と試しに asn1parse してみると
$ openssl asn1parse -inform der -in authroot.stlでたでた、PKCS#7 だったらしい、なるほど
0:d=0 hl=5 l=77575 cons: SEQUENCE
5:d=1 hl=2 l= 9 prim: OBJECT :pkcs7-signedData
16:d=1 hl=5 l=77559 cons: cont [ 0 ]
21:d=2 hl=5 l=77554 cons: SEQUENCE
26:d=3 hl=2 l= 1 prim: INTEGER :01
29:d=3 hl=2 l= 11 cons: SET
31:d=4 hl=2 l= 9 cons: SEQUENCE
33:d=5 hl=2 l= 5 prim: OBJECT :sha1
40:d=5 hl=2 l= 0 prim: NULL
42:d=3 hl=5 l=70016 cons: SEQUENCE
47:d=4 hl=2 l= 9 prim: OBJECT :1.3.6.1.4.1.311.10.1
58:d=4 hl=5 l=70000 cons: cont [ 0 ]
63:d=5 hl=5 l=69995 cons: SEQUENCE
68:d=6 hl=2 l= 12 cons: SEQUENCE
70:d=7 hl=2 l= 10 prim: OBJECT :1.3.6.1.4.1.311.10.3.9
82:d=6 hl=2 l= 9 prim: INTEGER :1401CA5837700A984D
93:d=6 hl=2 l= 13 prim: UTCTIME :091029013045Z
108:d=6 hl=2 l= 9 cons: SEQUENCE
110:d=7 hl=2 l= 5 prim: OBJECT :sha1
117:d=7 hl=2 l= 0 prim: NULL
119:d=6 hl=5 l=69939 cons: SEQUENCE
124:d=7 hl=3 l= 165 cons: SEQUENCE
127:d=8 hl=2 l= 20 prim: OCTET STRING [HEX DUMP]:A43489159A520F0D93D032CCAF37E7FE20A8B419
(以下略)
AddTrust のは
(前略)ここら辺っぽい
42165:d=7 hl=4 l= 261 cons: SEQUENCE
42169:d=8 hl=2 l= 20 prim: OCTET STRING [HEX DUMP]:02FAF3E291435468607857694DF5E45B68851868
42191:d=8 hl=3 l= 236 cons: SET
42194:d=9 hl=2 l= 32 cons: SEQUENCE
42196:d=10 hl=2 l= 10 prim: OBJECT :1.3.6.1.4.1.311.10.11.29
42208:d=10 hl=2 l= 18 cons: SET
42210:d=11 hl=2 l= 16 prim: OCTET STRING [HEX DUMP]:06F9583C00A763C23FB9E065A3366D55
42228:d=9 hl=2 l= 36 cons: SEQUENCE
42230:d=10 hl=2 l= 10 prim: OBJECT :1.3.6.1.4.1.311.10.11.11
42242:d=10 hl=2 l= 22 cons: SET
42244:d=11 hl=2 l= 20 prim: OCTET STRING [HEX DUMP]:5500530045005200540072007500730074000000
42266:d=9 hl=2 l= 36 cons: SEQUENCE
42268:d=10 hl=2 l= 10 prim: OBJECT :1.3.6.1.4.1.311.10.11.20
42280:d=10 hl=2 l= 22 cons: SET
42282:d=11 hl=2 l= 20 prim: OCTET STRING [HEX DUMP]:ADBD987A34B426F7FAC42654EF03BDE024CB541A
42304:d=9 hl=2 l= 54 cons: SEQUENCE
42306:d=10 hl=2 l= 10 prim: OBJECT :1.3.6.1.4.1.311.10.11.83
42318:d=10 hl=2 l= 40 cons: SET
42320:d=11 hl=2 l= 38 prim: OCTET STRING [HEX DUMP]:30243022060C2B06010401B231010201050130123010060A2B0601040182373C0101030200C0
42360:d=9 hl=2 l= 68 cons: SEQUENCE
42362:d=10 hl=2 l= 10 prim: OBJECT :1.3.6.1.4.1.311.10.11.9
42374:d=10 hl=2 l= 54 cons: SET
42376:d=11 hl=2 l= 52 prim: OCTET STRING [HEX DUMP]:303206082B0601050507030106082B0601050507030206082B0601050507030406082B0601050507030306082B06010505070308
(後略
1.3.6.1.4.1.311.10.11.29 っていう OID がありますが
これもググると wincrypt.h っていうファイルに
#define szOID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID "1.3.6.1.4.1.311.10.11.29"ってあるんで
Subject を md5 したもんでこれで捜すのかと推察
他の OID もそれぞれ興味深いんだけど、今は置いといて
つまり authroot.stl を見れば信頼されたルートの証明書の
DER での SHA1 値が分かってしまって
"SHA1 値.crt" で
http://www.download.windowsupdate.com/
を叩きまくってやったらいいんではないかと思うわけです
$ for i in `openssl asn1parse -inform der < authroot.stl | perl -ne '$a[0]=$a[1];$a[1]=$a[2];$a[2]=$a[3];$a[3]=$_;if (/1.3.6.1.4.1.311.10.11.29/) {$a[0]=~/.+:([0-9A-F]+)/; print $1 . "\n"}'`; do echo http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/$i.crt; doneなんかまぁ、これでいいのかどうかは置いといてとりあえず何かスラズラーっと出てきました
ん〜、これで全部なんだろうか?
確認しようと思えばできるけどなぁ...
2009/12/03
Haskell import AF_INET
不要なものを import するなんて!
ってのが何原理主義なんだか分からないですが
fromMaybe だけ使いたい! って思ったら
素敵
AF_INET が欲しいと思ったんで
AF_INET は Family っていう型の data constructor らしい
だから素直には呼べないのかな?
残念ながらプログラミング Haskell にも記述が無く
色々ググっていたんですが、結局どうすればいいかっていうと
どこでこの記述見つけたんだかもぉ忘れちゃった
原理主義疲れる
ってのが何原理主義なんだか分からないですが
fromMaybe だけ使いたい! って思ったら
import Data.Maybe (fromMaybe)ってしろって色々書いてあります
素敵
AF_INET が欲しいと思ったんで
import Network.Socket (AF_INET)ってしてみました
$ ghci af_inet.hsあら、"does not export" って言われてしまった
GHCi, version 6.10.4: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling Main ( af_inet.hs, interpreted )
af_inet.hs:1:23: Module `Network.Socket' does not export `AF_INET'
Failed, modules loaded: none.
Prelude Network.Socket> :i AF_INETなるほど
data Family = ... | AF_INET | ...
-- Defined in Network.Socket.Internal
AF_INET は Family っていう型の data constructor らしい
だから素直には呼べないのかな?
import Network.Socket (Family)これは通るんだけど
$ ghci af_inet.hsそうよね、うんうん
GHCi, version 6.10.4: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling Main ( af_inet.hs, interpreted )
Ok, modules loaded: Main.
*Main> AF_INET
<interactive>:1:0: Not in scope: data constructor `AF_INET'
残念ながらプログラミング Haskell にも記述が無く
色々ググっていたんですが、結局どうすればいいかっていうと
import Network.Socket (Family(AF_INET))こうすればいいみたいでした
どこでこの記述見つけたんだかもぉ忘れちゃった
原理主義疲れる
haskell timeout
プログラミング Haskell って素敵本も買ってみて、
ちょいちょい「お勉強」してるんですが
Haskell で timeout したくなったらどうしよう!?
心配性なので事前に調べておかないと気になって仕方がありません
ググってみました
System.Timeout
IO しようとして、失敗すると Nothing 返ってくるっぽい
試してみた
何だこの最後の )Just ( の pair の ) じゃ
でもまぁ、待ててるみたいでした
Network.HTTP に timeout がある気がしないでもないけど、いつか調べよう
ちょいちょい「お勉強」してるんですが
Haskell で timeout したくなったらどうしよう!?
心配性なので事前に調べておかないと気になって仕方がありません
ググってみました
System.Timeout
timeout :: Int -> IO a -> IO (Maybe a)何マイクロ秒待つか指定して
IO しようとして、失敗すると Nothing 返ってくるっぽい
試してみた
Prelude Network.HTTP System.Timeout> timeout (3*10^6) $ simpleHTTP $ getRequest "http://10.0.0.1/"
Nothing
Prelude Network.HTTP System.Timeout> timeout (3*10^6) $ simpleHTTP $ getRequest "http://google.com/"
Just (Right HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 05 Dec 2009 04:49:50 GMT
Expires: Mon, 04 Jan 2010 04:49:50 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 0
Connection: close
)
Prelude Network.HTTP System.Timeout>
でもまぁ、待ててるみたいでした
Network.HTTP に timeout がある気がしないでもないけど、いつか調べよう
2009/11/27
esxi-4 patch
ESXi は最新の状態に保たれているんだろうと思っていたら
どうやらパッチなんかは何もあててないみたいでした
「他人を信じてはいけない」ということを教えてくれてるんでしょうか
というわけでパッチを、と思ったんですが方法が良く分かっていません
お前よくもまぁそんな状態で、っていうのは置いておきましょう
ネットワークエンジニアからみたITの世界やら: VMware ESXi4 にパッチをあてる
vSphere Client Host Update Utility ってのを使うみたいで
とりあえずそれ入ってないからインストール
(もしかしたら既に入っていたのかもしれないけど)
起動したら vSphere Client で使ったことのある ESXi サーバが
最初から表示されてたので選択してパッチがあるかどうか調べたり
適用したりしたら終わってしまいました
ハイパーバイザー? の update を遠隔で GUI でするっていうのが
未来やってきてるなっていう感じで受けとってしまうのは
もぉいいおっさんになった証拠なのかもしれません
どうやらパッチなんかは何もあててないみたいでした
「他人を信じてはいけない」ということを教えてくれてるんでしょうか
というわけでパッチを、と思ったんですが方法が良く分かっていません
お前よくもまぁそんな状態で、っていうのは置いておきましょう
ネットワークエンジニアからみたITの世界やら: VMware ESXi4 にパッチをあてる
vSphere Client Host Update Utility ってのを使うみたいで
とりあえずそれ入ってないからインストール
(もしかしたら既に入っていたのかもしれないけど)
起動したら vSphere Client で使ったことのある ESXi サーバが
最初から表示されてたので選択してパッチがあるかどうか調べたり
適用したりしたら終わってしまいました
ハイパーバイザー? の update を遠隔で GUI でするっていうのが
未来やってきてるなっていう感じで受けとってしまうのは
もぉいいおっさんになった証拠なのかもしれません
2009/11/26
inax トイレタンク 水漏れ
トイレの前に行ったら水が流れつづけてて
タンクを覗いてみたら水が貯まらずにどんどん流れていくの
当たり前か、流れてるんだから
テニスボールくらいの大きさの黒いゴムの玉があって
それが穴を塞いで水が貯まるようになっていて
上から押さえつけると貯まるんですが離すとまた流れてしまいます
う〜ん、と思って色々見たんだけど分からなかったんでググりました
【公式】INAX トイレトラブル診断・部品販売
ん〜、こっちじゃなくて「水が止まらない」なんだけどな
洗浄ハンドルとフロートゴム玉を確認する
ハンドルはちゃんと戻るしなぁ
良く見たから異物も入ってないしなぁ
部品の劣化かなぁ、困ったなぁ
異物があったので取り除いたら水が貯まるようになりました
タンクを覗いてみたら水が貯まらずにどんどん流れていくの
当たり前か、流れてるんだから
テニスボールくらいの大きさの黒いゴムの玉があって
それが穴を塞いで水が貯まるようになっていて
上から押さえつけると貯まるんですが離すとまた流れてしまいます
う〜ん、と思って色々見たんだけど分からなかったんでググりました
【公式】INAX トイレトラブル診断・部品販売
ん〜、こっちじゃなくて「水が止まらない」なんだけどな
洗浄ハンドルとフロートゴム玉を確認する
ハンドルはちゃんと戻るしなぁ
良く見たから異物も入ってないしなぁ
部品の劣化かなぁ、困ったなぁ
異物があったので取り除いたら水が貯まるようになりました
登録:
投稿 (Atom)