qmail + vpopmail でmd5対応

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の認証ができるようになった。

カテゴリー: 未分類 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です