web-dev-qa-db-ja.com

Postfix(SASL)/ MySQL:MD5暗号化を使用しますか?

Postfix/SASLとMySQLを使用しているときに、MD5パスワード暗号化を使用してパスワードを暗号化することは可能ですか?現在、私のセットアップではMySQL CRYPT()関数を使用していますが、これはさまざまな理由で理想的ではありません。

2
Dang

はい、それは可能です。

Libpam-mysqlを使用していると思います。名前付きcryptを設定できるオプションがあります。

auth       optional     pam_mysql.so user=username passwd=password verbose=0 db=thedb table=user usercolumn=userName  passwdcolumn=userPassword crypt=3
account       required     pam_mysql.so user=username passwd=password verbose=0 db=thedb table=user usercolumn=userName  passwdcolumn=userPassword crypt=3

必要な認証を使用することもできます

次に、mysqlでMD5を使用してyoutパスワードを暗号化します。

ドキュメントはreadmeund/usr/share/doc/libpam-mysqlにあります。

私は一部を引用します:

クリプト(プレーン)

The method to encrypt the user's password:

   0 (or "plain") = No encryption.  Passwords stored in plaintext.
                    HIGHLY DISCOURAGED.

   1 (or "Y")     = Use crypt(3) function.

   2 (or "mysql") = Use MySQL PASSWORD() function. It is possible
                    that the encryption function used by PAM-MySQL
                    is different from that of the MySQL server, as
                    PAM-MySQL uses the function defined in MySQL's
                    C-client API instead of using PASSWORD() SQL
                    function in the query.

   3 (or "md5")   = Use plain hex MD5

Debianのsaslauthd設定ファイルで設定する必要があります、

MECHANISMS="pam"

別のディストリビューションで設定する方法がわからない場合は、このようにプロセスを開始する必要があります。

/ usr/sbin/saslauthd -a pam

しかし、私はあなたがすでにそれを持っていると思います。

4
evildead