Тестирование smtp-аутентификации
26 Dec 2013 | Автор: dd |К вопросу о тестировании аутентификации на smtp-сервере Exim с помощью опочки -bd. Данные аутентификации AUTH команды скармливаются почтарю в формате base64, которые можно получить через небольшой перловый скриптик:
#!/usr/bin/perl
use MIME::Base64;
printf (“%s”, encode_base64(eval “\”$ARGV[0]\””));
сохраняем его скажем в файло /tmp/encode-base64, после чего скармливаем ему данные логина, в формате
# /tmp/encode-base64 ‘\0user\0password’
либо если нужен домен
# /tmp/encode-base64 ‘\0user\@domain.com\0password
что на выходе нам дает представление логина для AUTH PLAIN, где логин скармливается одной строкой:
# /tmp/encode-base64 ‘\0USER\0PASS’
AFVTRVIAUEFTUw==
для AUTH LOGIN генерить надо отдельно пароль и имя:
# /tmp/encode-base64 ‘USER’
VVNFUg==
# /tmp/encode-base64 ‘PASS’
UEFTUw==
В принципе все это же можно сделать с помощью команды mimencode, входящей в комплект metamail, но по дефолту этот пакет навряд ли установлен, так что это скорее информация из серии “к сведению”:
# echo -n ‘\0USER\0PASS’ | mimencode
Проверяем аутентификацию по методу AUTH PLAIN
# exim -bh 127.0.0.1
>>> 127.0.0.1 OK
220 mail.XXXX.ru ESMTP
ehlo
250-mail.XXXX.ru Hello localhost.XXXX.ru [127.0.0.1]
250-SIZE 26214400
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
AUTH PLAIN AFVTRVIAUEFTUw==
>>> auth_plain authenticator:
>>> $1 =
>>> $2 = USER
>>> $3 = PASS
>>> expanded string: yes
235 Authentication succeeded
Проверяем аутентификацию по методу AUTH LOGIN
# exim -bh 127.0.0.1
>>> 127.0.0.1 OK
220 mail.XXXX.ru ESMTP
ehlo
250-mail.XXXX.ru Hello localhost.XXXX.ru [127.0.0.1]
250-SIZE 26214400
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
AUTH LOGIN
334 VXNlcm5hbWU6
dGVzdA==
334 UGFzc3dvcmQ6
cXdlcnR5
>>> auth_login authenticator:
>>> $1 = USER
>>> $2 = PASS
>>> expanded string: 1
235 Authentication succeeded
В принципе все тоже самое можно повторить через telnet залогинившись на 25 порт exim сервера, но результаты будут теми же самими. Естественно если демон висит на стандартном порту или не закрыт в фаерволе.
Тестирование smtp-аутентификации,Теги: exim