ApacheのBASIC認証で長いパスワードを使っていたが,デフォルトでは先頭の8文字までしか効いていなかった. ApacheのBASIC認証は,非SSLだともちろんセキュリティ的に使い物にならないが,SSLならまぁ使えるので,一応長いパスワードを設定して使っていた. しかしどうも,途中までしか入力していなくてもなぜか認証に通ってしまうことに気づいた. これはやばい,変だということで調べてみた. そこには衝撃の事実が記されていた.
ヽ(`Д´)ノ ガーン! 早速 -mオプションをつけて,crypt()ではなくMD5の暗号化でパスワードファイルを作り直した. /usr/local/apache2/bin/htpasswd -mc /usr/local/apache/conf/.dav davuser あとMD5の他にも,-sオプションによるSHA方式もあるが,MD5に比べて生成される文字数が短いのと,マニュアルにランダムなSALTを使わないので強度が弱いと書かれているため,強度的にはMD5がベストのようだ.
|