Як я можу налаштувати sendmail для використання автентифікації CRAM-MD5?


2

У мене sendmail працює на машині RedHat 7.1. Я хочу налаштувати його на аутентифікацію за допомогою PLAIN або CRAM-MD5. У мене це працює з PLAIN (тому я знаю, що клієнт працює, у мене є ім’я користувача / пароль правильний тощо), але CRAM-MD5 завжди повертає "535 5.7.0 аутентифікація не вдалася". Для тестування я використовую простий скрипт python, який використовує модуль smtplib; Я припускаю, що їх реалізація CRAM-MD5 є правильною.

Він відповідає на EHLO за допомогою "AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN" та надсилає виклик, коли я надсилаю "AUTH CRAM-MD5", тому він приймає запити CRAM-MD5, але відмовляється їх автентифікувати.

Я знаю, що CRAM-MD5 вимагає, щоб сервер мав доступ до паролів прямого тексту; чи можливо, що цього немає? Як я можу сказати і якщо ні, як я можу налаштувати машину так, щоб вона працювала?

Я додав ім’я користувача / пароль до / etc / mail / authinfo та запустіть map hash /etc/mail/authinfo < /etc/mail/authinfo. У файлі / var / log / maillog немає повідомлень про помилки.


Як ви налаштували SASL? Наприклад, Sendmail.conf для цього і т. Д.
тричі

Я нічого не робив, крім того, щоб переконатися, що демон Саслафта працює. /etc/sasl2/Sendmail.conf містить один рядок: "pwcheck_method: saslauthd".
Graeme Perrow

Гаразд, але де паролі простого тексту? CRAM-MD5вимагає , щоб SASL мати таку базу даних для пошуку паролів (. authinfoвикористовуються , sendmailколи sendmailце клієнт аутентифікації на віддалений сервер, а НЕ SASL.)
thrig

Я думаю, це моє питання. Я знаю, що йому потрібні паролі простого тексту, але я не знаю, де вони є чи мають бути.
Graeme Perrow

Тоді покажіть нам вміст вашого / etc / default / saslauthd . Якщо є файли, що відповідають glob / etc / default / saslauthd- * , вставте їх також.
sam_pan_mariusz

Відповіді:


3

За словами доктора sasl sysadmin ,

For simplicity sake, the Cyrus SASL library stores plaintext
passwords only in the /etc/sasldb2 database. These passwords
are then shared among all mechanisms which choose to use it.
...
The "saslpasswd" utility is provided to change the secrets in
sasldb. It does not affect PAM, /etc/passwd, or any other
standard system library; it only affects secrets stored
in sasldb.

Однак деякі постачальники можуть змінити розташування речей під час компіляції, тому stringsна бінарних файлах sasl або straceможе знадобитися розкрити, де саме saslauthdшукають.


Дякую - ця інформація плюс ця відповідь ( serverfault.com/a/547851/355 ) допомогла мені працювати!
Graeme Perrow

0

Це може допомогти комусь ...

Коли ви запускаєте, sendmailconfigвін каже: "На жаль, не існує автоматичного способу переходу до / etc / sasldb2"

У перекладі на мене: щось не так.

Тому я просто видалив sasldb2 (зрозумів, що це все-таки заплутався).

У будь-якому випадку, я побіг, saslpasswd2і я припускаю, що створює порожню базу даних без користувачів. Аутентифікація користувача не працювала, поки я не запустив ...

saslpasswd2 -c username який вимагає ввести пароль.

І це працює як шарм :-)

Я використовую Debian 9 з sasl2-bin, який sendmailconfigрекомендую.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.