Возможно вы искали: 'System Flaw'

May 31 2025 02:05:11
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96425698
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18407
• Обзор The Walking ... 18853
• Обзор DMC: Devil M... 19921
• Обзор на игру Valk... 15921
• Обзор на игру Stars! 17810
• Обзор на Far Cry 3 18000
• Обзор на Resident ... 16063
• Обзор на Chivalry:... 17561
• Обзор на игру Kerb... 18021
• Обзор игры 007: Fr... 16667
Превью о играх
• Превью к игре Comp... 18003
• Превью о игре Mage... 14502
• Превью Incredible ... 14763
• Превью Firefall 13523
• Превью Dead Space 3 16378
• Превью о игре SimC... 14772
• Превью к игре Fuse 15479
• Превью Red Orche... 15589
• Превью Gothic 3 16388
• Превью Black & W... 17402
Главная » Статьи » Разное » Как я прикручивал SASL к sendmail или авторизация по SMTP. (sendmail mail crypt sasl ssl linux)

Как я прикручивал SASL к sendmail или авторизация по SMTP. (sendmail mail crypt sasl ssl linux)

Ключевые слова: sendmail, mail, crypt, sasl, ssl, linux, (найти похожие документы)

From: Gorbanev Vladimir <gorbva@mail.ru.>
Newsgroups: email
Date: Mon, 17 May 2005 14:31:37 +0000 (UTC)
Subject: Как я прикручивал SASL к sendmail или авторизация по SMTP.

В один прекрасный день в нашей конторе кто-то схватил вируса, который
начал безудержно спамить налево и направо через наш почтовик.
Естественно, через пару дней наш почтовый сервер попал во всевозможные
<<черные списки>> и, соответственно, отправлять почту от нас стало
проблематично. С нашим почтовиком (Sendmail 8.12.11) просто
отказывались <<разговаривать>> другие сервера.

Вирус конечно мы пофиксили быстро, из <<черных списков>> убрались, но
остался неприятный осадок. Для противодействия всяким Троянам
рассылающим почту непосредственно соединяясь через наш почтовик, было
принято решение устроить для всех клиентов SMTP авторизацию.

Примечание: Наиболее популярные почтовые клиенты Outlook Express и The
BAT, по-разному осуществляют SMTP-авторизацию. Outlook Express
работает только по методу LOGIN, в то время как The BAT работает
только с MD5. Метод LOGIN по общему мнению, является ущербным и не
надежным (как раз в стиле Microsoft) и пользоваться им не
рекомендуется. По этому на вашем предприятии следует придерживаться
единообразия почтовых клиентов.

По мнению Великих Гуру, самым оптимальны является использовать при
SMTP-авторизации метод LOGIN но через SSL - соединение. Я же решил не
углубляться в такие дебри и установить простую аутентификацию методами
LOGIN и CRAM-MD5.

Итак начнем. Я работаю в ASP Linux 9.0, поэтому все нижесказанное
относится к нему.

Для начала давайте проверим, поддерживает ли sendmail протокол SASL,
для этого в командной строке набираем:

[root@adm mail]# sendmail -d0.1 -bv root


В ответ вам должно выйти примерно следующая информация:

Version 8.12.11
Compiled with: DNSMAP HESIOD HES_GETMAILHOST LDAPMAP LOG MAP_REGEX
MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETINET6
NETUNIX NEWDB NIS PIPELINING SASL SCANF STARTTLS TCPWRAPPERS
USERDB USE_LDAP_INIT

-------- SYSTEM IDENTITY (after readcf)
(short domain name) $w = adm
(canonical domain name) $j = adm.roaddep.ru
(subdomain name) $m = roaddep.ru
(node name) $k = adm.roaddep.ru
--------------------------------------
gorbva... deliverable: mailer local, user gorbva


Смотрим строчку Compiled with и видим там среди прочих упоминание о
SASL, значит все ОК. Если же этого нет то тогда вам придется
перекомпилировать sendmail с поддержкой SASL, либо скачать и
установить новый rpm sendmail-а. Как правило, в rpm-ках сэндмэйл идет
уже собранный с поддержкой SASL. Теперь открываем файл
/etc/mail/sendmail.cf и ищем там такую директиву:

# dequoting map
Kdequote dequote


# class E: names that should be exposed as from this host, even if we masquerade
# class L: names that should be delivered locally, even if we have a relay
# class M: domains that should be converted to $M
# class N: domains that should not be converted to $M
#CL root

C{TrustAuthMech}GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5 PLAIN LOGIN
C{E}root
C{w}localhost.localdomain

Нам важна строчка

C{TrustAuthMech}GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5 PLAIN LOGIN


Она означает, что те пользователи, которые прошли аутентификацию
вышеуказанными механизмами, смогут отправить почту. Чуете к чему я
клоню ? Правильно, пора подправить файл /etc/mail/access. Там
наверняка стоит строчка типа:

192.168.1 RELAY


Где 192.168.1 - адрес сетки ваших пользователей, а RELAY означает что
почту с этой сетки можно отправлять через sendmail. Вот эту строчку-то
и надо убрать. Что у нас тогда получится ? А получится то, что никому
отправлять почту наружу нельзя, ... кроме тех, кто прошел
аутентификацию. Естественно после таких манипуляций нужно
перекомпилировать файл /etc/mail/access в полноценный
/etc/mail/access.db . Сделать это можно либо выполнив:

makemap hash /etc/mail/access.db < /etc/mail/access


Либо просто перезапустив sendmail командой:

/etc/rc.d/init.d/sendmail restart


Теперь снова вернемся к файлу /etc/mail/sendmail.cf . Находим и
разкомментируем следующие директивы :

# list of authentication mechanisms
O AuthMechanisms=LOGIN PLAIN SSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5


Директива указывает допустимые механизмы авторизации. Механизм LOGIN и
PLAIN можно убрать, если вы не пользуетесь Outlook Express.

# default authentication information for outgoing connections
O DefaultAuthInfo=/etc/mail/default-auth-info


Честно говоря, я не понял зачем нужна эта директива и что хранится в
файле default-auth-info. У меня он пустой.

# SMTP AUTH flags
O AuthOptions=A


Ну эта директива говорит что аутентификацию надо включать.

И так, у нас все настройки исправлены, перезапускаем sendmail и
телнетимся на 25 порт.

[root@adm root]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 adm.test.ru ESMTP Sendmail with AntiSpam 8.12.11/8.12.8;


Говорим ему EHLO user1 к примеру. Должен быть примерно такой ответ:

EHLO user1
250-adm.test.ru Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-AUTH LOGIN DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP


Нас интересует наличие строки AUTH после которой идут допустимые
механизмы авторизации. Если ее нет, значит что-то вы не так сделали.
Ее может не быть и по следующей причине:

Вы указали в senmail.cf в директиве AuthMechanisms MD-5 механизмы без
методов LOGIN или PLAIN, но не заполнили файл с паролями /etc/sasldb.

Для заполнения паролями этого файла воспользуйтесь командой:

saslpasswd -a sendmail -u username


Она означает добавить пользователя username для процесса sendmail . В
ответ она попросит ввести пароль для этого юзера.


Настройка SASL

Теперь нам нужно настроить SASL . Сперва смотрим есть ли он у нас
вообще:

[root@adm init.d]# rpm -qa|grep sasl
cyrus-sasl-devel-2.1.15-6
cyrus-sasl-2.1.15-6
cyrus-sasl-md5-2.1.15-6
cyrus-sasl-plain-2.1.15-6
cyrus-sasl-gssapi-2.1.15-6
[root@adm init.d]#


Вот у меня стоит SASL версии 2.1.15, плюс поддержка для методов MD-5,
PLAIN и GSSAPI. Если у вас не показались данные строчки, значит SASL
отсутствует, идем на http://www.rpmfind.net и качаем оттуда рпм-ки. Если
же SASL установлен, то идем и правим файл /usr/lib/sasl/Sendmail.conf
Там должна быть одна строчка pwcheck_method:sasldb, она говорит что
проверять пароли будет сам SASL из своей базы /etc/sasldb.

Вместо sasluthd можно указать следующие методы:
* passwd Поиск пароля будет происходить в файле /etc/passd . Для
систем без поддержки shadow.
* shadow Поиск будет происходит в файле /etc/shadow.
* PAM Использовать метод PAM.
* Kerberos_v4 Использовать метод Kerberos
* pwcheck Использовать внешнюю программу

Так же отмечу, SASL по умолчанию идет без поддержки механизма LOGIN.
Как в этом убедится ? Переведите sendmail в режим ведения логов 15,
перезапустив его с ключом -O LogLevel=15 . В этом режиме sendmail в
своих логах будет подробно приводить сеанс SMTP-сессии. И так,
запустите наблюдение за журналом командой:

tail -f /var/log/maillog


Эта команда будет выводить на экран файл maillog по-мере поступления
в него строк от различных почтовых демонов, в том числе и от sendmail.

Запускаем <<любимый>> Outlook Express, в настройках учетной записи
укажите что SMTP-сервер требует авторизации и введите какие-нибудь имя
пользователя и пароль. Напишие письмо самому себе и попытайтесь его
отправить. При этом в логах должно появиться примерно следующее:

May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: <-- EHLO gorbva
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: ---
250-adm.roaddep.ru Hello [192.168.1.126], pleased to meet you
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: --- 250-ENHANCEDSTATUSCODES
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: --- 250-PIPELINING
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: --- 250-8BITMIME
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: --- 250-SIZE
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: --- 250-DSN
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: --- 250-AUTH LOGIN DIGEST-MD5 CRAM-MD5
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: --- 250-DELIVERBY
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: --- 250 HELP
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: <-- AUTH LOGIN
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: --- 334 VXNlcm5hbWU6
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: --- 334 UGFzc3dvcmQ6
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: --- 535 5.7.0 authentication failed
May 16 11:07:00 adm sendmail[14969]: j4G5709p014969: AUTH failure (LOGIN): authentication failure (-13)


Если в качестве при отказа AUTH будет что-то типа "No mechanism
available" , то значит, механизм LOGIN не поддерживается. Если он вам
нужен, то придется скачать исходник и перекомпилировать SASL с
поддержкой механизма LOGIN. Для этого в корневой директории исходника
запустите:

# ./configure --enable-login
# make
#make install


Проверьте куда установился бинарник и соответственно измените
запускающий скрипт.

Вот вроде и все

Если что , пишите <gorbva@mail.ru.>
Горбанев Владимир
1428 Прочтений •  [Как я прикручивал SASL к sendmail или авторизация по SMTP. (sendmail mail crypt sasl ssl linux)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Как я прикручивал SASL к sendmail и... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка