Поиск по сайту:

Как выполнить SMTP-аутентификацию из командной строки AUTH DIGEST-MD5 CRAM-MD5


Эта конфигурация будет описывать процедуру входа на SMTP-сервер с использованием метода шифрования AUTH DIGEST-MD5 CRAM-MD5 через telnet. Для начала нам нужно установить все предпосылки:


apt-get install telnet sasl2-bin

С помощью команды telnet мы подключимся к SMTP серверу. Пакет sasl2-bin содержит команду gen-auth, которую мы будем использовать для генерации нашего закодированного ответа BASE64 на запрос аутентификации сервера. Давайте начнем с использования команды telnet для подключения к нашему серверу:


telnet 10.1.1.11 25
Trying 10.1.1.11...
Connected to 10.1.1.11.
Escape character is '^]'.
220 mail.localhost.localdomain ESMTP Postfix (Ubuntu)

Теперь мы на связи. Следующим шагом будет проверка, какие методы аутентификации поддерживаются сервером:


EHLO testing
250-mail.localhost.localdomain
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-c
250-AUTH=DIGEST-MD5 CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

Из приведенного выше вывода мы видим, что сервер способен выполнять аутентификацию при входе в систему AUTH DIGEST-MD5 CRAM-MD5. При использовании метода аутентификации AUTH DIGEST-MD5 CRAM-MD5 между сервером и клиентом не происходит обмен простыми паролями. Вместо этого сервер генерирует клиенту одноразовый «вызов» в кодировке BASE64. Давайте сначала сформулируем проблемный вопрос:


AUTH CRAM-MD5
334 PDU3NjQ0Mzc2Mi4zMjkwNzRAbWFpbC5saW51eGNvbnN1bHRpbmcuY29tLmF1Pg==

Теперь с помощью отдельного терминала мы будем использовать команду gen-auth для генерации ответа с использованием метода аутентификации, логина и пароля в качестве аргументов:


gen-auth CRAM-MD5 lubos@localhost.localdomain mypassword
challenge: PDU3NjQ0Mzc2Mi4zMjkwNzRAbWFpbC5saW51eGNvbnN1bHRpbmcuY29tLmF1Pg==
bHVib3NAbGludXhjb25zdWx0aW5nLmNvbS5hdSBiZWY2Mjk3OGY0OWUyN2E1NmJhMjMyNTJkMmZlNTc4MA==

Далее мы просто отвечаем закодированной строкой в кодировке BASE64, сгенерированной командой gen-auth:


AUTH CRAM-MD5
334 PDU3NjQ0Mzc2Mi4zMjkwNzRAbWFpbC5saW51eGNvbnN1bHRpbmcuY29tLmF1Pg==
bHVib3NAbGludXhjb25zdWx0aW5nLmNvbS5hdSBiZWY2Mjk3OGY0OWUyN2E1NmJhMjMyNTJkMmZlNTc4MA==
235 2.7.0 Authentication successful

Статьи по данной тематике: