Назад | Перейти на главную страницу

SASL принимает «неправильные» пароли

Я установил почтовый сервер с Postfix и настроил его для использования Cyrus SASL для аутентификации моих пользователей. Это работало отлично, пока я не узнал, что могу войти в систему с более короткими паролями, чем они есть на самом деле.

Например, пароль должен быть ухх1234х22 я могу войти с помощью:

uhuh1234
uhuh1234h
uhuh1234h2
uhuh1234h22

Но не с чем короче ...

Я проверил это с помощью этой команды:

testsaslauthd -u USERNAME -p PASSWORD -s smtp -f /var/spool/postfix/var/run/saslauthd/mux

У меня вопрос: почему это происходит и как это предотвратить?

редактировать

Мой файл конфигурации в /etc/pam.d/smtp:

auth    required   pam_mysql.so user=USR passwd=PASS host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
account sufficient pam_mysql.so user=USR passwd=PASS host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1

Проблема заключается в том, что вы используете crypt. Из документы к pam_mysql:

crypt (0)

Specifies 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 MySQL MD5() function

Ваш cryptпараметр установлен на 1 что означает, что crypt функция используется. А это какие crypt делается:

Взяв младшие 7 бит каждого из первых восьми символов ключа, получается 56-битный ключ.

Вы должны использовать одну из других схем хранения (предпочтительно 2 или 3), чтобы можно было использовать более длинные пароли.

Обратите внимание, что вам, вероятно, потребуется проверить определения других сервисов в /etc/pam.d, чтобы убедиться, что у вас все покрыто (если у вас есть сервер Cyrus IMAP, аутентифицируемый с помощью SASL на том же хосте, по крайней мере, / etc / pam .d / imap будет содержать аналогичные записи)

При изменении схемы шифрования паролей вы также потеряете все сохраненные пароли, и вам потребуется их сбросить.