データベースでMD5パスワードからCRAM-MD5パスワードに切り替えることのリスクは何ですか。特に次の点を考慮し、既存のインストールで(プレーンテキストのパスワードを知っている場合)どのようにアプローチするのですか?
CRAM-MD5(に切り替え)で、
doveadm pw
_)に戻る必要があります項目2は、Dovecotを置き換える予定がないため、大したことではないかもしれません(たとえ、移行パスが十分に文書化されているとしても)。項目3は大したことではありませんまだ(私はそのようなツールを知らないので)。舞台裏には、IIRCが再びDovecotの助けを借りて仕事のこの部分を行うSASLもあります(Postfix構成の_smtpd_sasl_type=dovecot
_など)。しかし、それは私が何かを逃したかもしれません–それはもっとトラブルか、別のオプションです。
ヒントはありますか?何をお勧めしますか(完全に異なる設定は別として)?
私は、Dovecot、Postfix、PostfixAdmin、Sieve、いくつかの追加コンポーネントを使用して、新しいメールサーバーのセットアップの最中です-すべてバックエンドとしてMySQLに接続されています( このドイツ語のチュートリアル に続く)。これまでのところすべてが稼働していますが、IMAP認証にPLAINとLOGINしか提供されていないことに気付きました。 ローカル接続(同じマシン上のRoundcube Webメーラーなど)やその他の「暗号化された接続」(HTTPS/IMAPS/POP3S/SMTPS)にとっては大したことではありませんが、私は一部のユーザーは代わりに暗号化されていない接続を使用するのではないかと心配しています。これは完全に無効にしたくありません(必要になる場合があります)。
そこで、DovecotでCRAM-MD5とDIGEST-MD5を有効にしました。もちろん機能しませんでした。PostfixAdminは内部MD5プロシージャを使用してデータベースにパスワードを保存するため、Dovecotはパスワードを照合できません( 私の回答はこちら) 詳細)。これは基本的に3つのオプションを残しますが、そのうちの1つはそのようなものではありません。
「参加者」の調査から、可能性の比較を次に示します。
PwdStore MD5 PwdStore CRAM-DM5 Webmail(Roundcube) クライアント/サーバーHTTPSのみ(HTTP要求はアップグレードされるため、PLAIN = OK) IMAP PLAIN PLAIN/CRAM-MD5(内部)² SMTP PLAIN PLAIN/CRAM-MD5(内部)² ネイティブクライアント(Postfix/Dovecotに接続) IMAP³PLAIN/ LOGIN PLAIN/LOGIN/CRAM-MD5 SMTP³PLAIN/ LOGIN PLAIN/LOGIN/CRAM-MD5 POP3³PLAIN/ LOGIN PLAIN/LOGIN/CRAM- MD5 IMAPS PLAIN/LOGIN PLAIN/LOGIN/CRAM-MD5 SMTPS PLAIN/LOGIN PLAIN/LOGIN/CRAM-MD5 POP3S PLAIN/LOGIN PLAIN/LOGIN/CRAM-MD5 PostfixAdmin MD5(内部)CRAM-MD5(dovecotadm経由)の作成/更新⁴
1:ソースを確認したところ、928行目の_postfixadmin/functions.inc.php
_で次のことがわかりました。
_Use proc_open call to avoid safe_mode problems and to prevent showing plain password in process table
_
したがって、この反論は失敗するようです。
2:_roundcube/program/lib/Roundcube/rcube_imap_generic.php
_ 90ff、function authenticate()
3:PLAIN/LOGINは通常、暗号化されていない接続では無効になります
4:おそらく Roundcubeのコードを使用して書き直された 、両方ともPHP –ただしPostfixAdmin
答えが得られなかったので、私は自分で実験し、最終的に切り替えを行いました–それはスムーズに進みました。利点は、最初に述べたように、暗号化されていないトランスポートでの認証に少なくともCRAM-MD5
が利用可能であり、暗号化されたトランスポートが利用できない場合(そう、そうなります)に加えて、CRAM-MD5をすでに使用しているユーザーにとって古いサーバーからの移行がスムーズになることです。それとは別に、副作用は見られませんでしたまだ –それらが現れるまでには少し時間がかかるかもしれませんが:)
したがって、興味のある方のために、実行する手順は次のとおりです。
default_pass_scheme
(または使用している対応するファイル)でMD5-CRYPT
をCRAM-MD5
から/etc/dovecot/dovecot-mysql.conf
に変更し、cram-md5
をauth_mechanisms
の/etc/dovecot/dovecot.conf
に追加します。smtpd_sasl_type=dovecot
)を介した認証にDovecotを使用します-したがって、ここでは何もしませんconfig.inc.php
の変更:$CONF['encrypt'] = 'md5crypt';
を$CONF['encrypt'] = 'dovecot:CRAM-MD5';
に変更する必要があります。 $CONF['dovecotpw'] = "/usr/sbin/doveadm pw";
も確認してください。 Debian Wheezyでは、doveadm
は/usr/bin
に存在するため、この設定を調整する必要があります完了。これで、すべてがまだ機能しているかどうかを確認できます。私の場合は次のとおりでした。Roundcubeは引き続きPLAINを認証でき、リモートクライアントはCRAM-MD5を使用できるようになりました。ケースは解決しました。