トップ 最新

糸の切れた凧( a threadless kite )

ここは、管理人yamagataが方針未定のまま、何となーく思いついたことを思いついたままにだらだらと書き付ける日記帳です。ふんわりほんわかな感じでお願いします。

2007/12/27(木)木曜日ー。(--enable-auth-digest)

[メモ] ダイジェスト認証について試したメモw
  • Digest認証 (Wikipedia)

  • RFC 2617 : HTTP Authentication: Basic and Digest Access Authentication

Apache を ソースからコンパイルする場合には、./configure --enable-auth-digest する。Apache 2.2系では、AuthDigestFile ではなく、AuthUserFile というコマンドを使う。 (モジュールが組み込まれているorロードされているのに、「Invalid command 'AuthDigestFile', perhaps misspelled or defined by a module not included in the server configuration」というエラーが出て悩んだw)設定の例(httpd.conf や .htaccess に書く):
textile<Directory "/usr/local/apache2/htdocs/dir/"> AuthType Digest AuthName Realm AuthDigestProvider file AuthUserFile /usr/local/apache2/htdocs/dir/.htdigest Require valid-user</Directory>
htdigest -c .htdigest Realm username で ユーザを作成する。
textile$ htdigest -c .htdigest Realm usernameAdding password for username in realm Realm.New password: Re-type new password:
ダイジェストの計算方法について有効な Authorization: がない状態でアクセス:
textileHTTP/1.1 401 Authorization RequiredWWW-Authenticate: Digest realm="Realm", nonce="09QpMUBCBAA=dec1f45af95a843cf40e525a82a3c8a00cb1df0e", algorithm=MD5, qop="auth"
A1 = ユーザ名 ":" realm ":" パスワード ⇒ username:Realm:passwordA2 = HTTPのメソッド ":" コンテンツのURI ⇒ GET:/dir/cnonce = 適当に作る ⇒ e96e5562fb8543f000b37d582103e21bnc = 連番にしてみる ⇒ 00000001, 00000002, ...response = MD5( MD5(A1) ":" nonce ":" nc ":" cnonce ":" qop ":" MD5(A2) )= MD5( MD5("username:Realm:password") ":" "09QpMUBCBAA=dec1f45af95a843cf40e525a82a3c8a00cb1df0e" ":" "00000001" ":" "e96e5562fb8543f000b37d582103e21b" ":" "auth" ":" MD5("GET:/dir/") )= MD5( "96997dfca18fd3fa5e1731ea16d38c99" ":" "09QpMUBCBAA=dec1f45af95a843cf40e525a82a3c8a00cb1df0e" ":" "00000001" ":" "e96e5562fb8543f000b37d582103e21b" ":" "auth" ":" "99d8425bdd0da70e27779d504bd615c0" )= "1139daf5701bf63cfc70a0bd6cfc9082"これらを踏まえて、リクエストを作成する:
textileGET /dir/ HTTP/1.1Host: example.jpAuthorization: Digest username="username", realm="Realm", qop="auth", algorithm="MD5", uri="/dir/", nonce="09QpMUBCBAA=dec1f45af95a843cf40e525a82a3c8a00cb1df0e", nc=00000001, cnonce="e96e5562fb8543f000b37d582103e21b", response="1139daf5701bf63cfc70a0bd6cfc9082"
リクエストの URI と、uri="..." の値は一致する必要がある。一致しないと、HTTP/1.1 400 Bad Request⇒ Digest: uri mismatch - </dir0/> does not match request-uri </dir/>★uri="..." には QueryString(「?」以降)も含める必要があるっぽい。★Firefox や IE 7 は含めているが、IE 6 は今でも「?」以降は送信してない。★Apache には、この IE 6 のバグを回避するための設定がある:BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On設定すると、「?」以降を送信した場合でも送信しない場合でも認証が成功するようになる。(IE6 でも IE7 でも、どちらでも問題なくアクセス出来るようになる。)ちなみに、QueryString に「"」を含む値を送信してみたwFirefox ⇒ uri="/dir/?C=M;O=A%22"IE 7 ⇒ uri="/dir/?C=M;O=A\""IE 6 ⇒ 元から QueryString が送信されない。せっかくなので、ディレクトリ名に「"」を含む場合も試してみたwFirefox ⇒ uri="/dir/%22/"IE 7 ⇒ uri="/dir/%22/"IE 6 ⇒ uri="/dir/"/"  ・・・あ゛(笑) ダメダメですw★あくまでもメモ書きなので、技術的な正しさを求めないでくださいねw[出来事] * グーグルで厚労省「偽サイト」が最上位に、丸1日続く (読売新聞)
“グーグルではミスを認め、同日夜から検索結果を改めた。”、“グーグル日本法人広報部では、「検索結果の順位を決める人工知能の学習能力が不十分だった。早急に改善したい」としている。” とのことですが・・・うーん、これは Google の「ミス」と言えるものなのかどうか・・・。(^-^;;;[セキュリティ] * Wordファイルを「.exe」に書き換え ワームの隠し機能 (ITmedia)
Wordファイルを "Wordのアイコンを持ち、実行すると元のWord文書を開きつつ、裏で不正な活動をする.exeファイル" と置き換える機能があるそうです。 同時に、拡張子の表示設定もいぢるらしい。 ほー。関連: * Morphing (Your Own) Documents into 2008 (Avert Labs Blog)
[雑談] いろいろ。
  • 旧日本軍の風船爆弾の唯一の現物が公開へ (/.jp)

 ←こんなに高度だったのねw
  • 後継難に悩む寺を救う? 全自動鐘つき機が普及中 (/.jp)

 ←風情が無い?
  • 仕組みを説明してくれるスレ (カオスちゃんねる)

 ←相対性理論w