qmail + vpopmailでは、md5が対応していない。
なんとなくだが、セキュリティ向上?のために、md5に対応させてみようと思った。
vpopmailは、パッチが必要と言うまでもなく、ソースを一部変更する。
まずは、vpopmailのソースをダウンロードする。
vchkpw.cを編集
hmac_md5( (unsigned char *) challenge, strlen(challenge), (unsigned char *) password, strlen(password), digest); ↓※変更 hmac_md5( (unsigned char *) response, strlen(response), (unsigned char *) password, strlen(password), digest); return(strcmp(digascii,response)); ↓※変更 return(strcmp(digascii,challenge)); |
編集したら、コンパイル。
私のところでは、mysqlを利用しているためmysqlのオプションと追加している。
./configure –disable-roaming-users –enable-logging=p \ –disable-ip-alias-domains –disable-passwd \ –enable-clear-passwd –disable-domain-quotas \ –enable-auth-module=mysql \ –enable-auth-logging –enable-sql-logging –enable-valias \ –enable-logging=y –enable-many-domains |
ここで大事なのは、–disable-clear-passwd オプションにしないこと。
これをいれると、認証できなくなる。
あとは、
make && make install |
これで行けるかと思い、メールを送信してみるとエラー。
データベースを見てみると、pw_clear_passwdの欄が空のまま。
qmailadminでパスワードの登録をし直してみると、空のまま。
これで1時間くらい考えてみた。
qmailadminの再インストールをしてみてからパスワードを登録直してみると、データベースに登録された。
これでやっと、md5の認証ができるようになった。