MD5 хэши в базе exim'а

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

MD5 хэши в базе exim'а

Непрочитанное сообщение Grishun_U_S » 2009-02-24 12:12:01

Добрый,

Захотелось хранить хэши паролей в БД экзима, а не пароли в открытом виде.
Пароли пока что передаются от клиента к серверу в открытом виде, шифрование канала следующим этапом.

Вобщем что есть сейчас, нашел на форуме (или где-то в каментах к статьям) :
Все работает отлично, тока вот нафига пароли в базе в текстовом виде то хранить?
Можно сделать все через MD5 например

В таком случае в файле настроек SQL для dovecot-а пишем
default_pass_scheme = PLAIN-MD5

В конфиге postfixadmin, а меняем $CONF['encrypt'] = "md5";

Ну и соответственно в конфиге Exim-а меняем все SQL запросы которые запрашивают пароль на password=MD5(...)

Таким образом все пароли в базе лежат как md5 хашек )
Так и сделано. В базе действительно хранятся хэши.
Авторизация по pop3 проходит, а вот на отправку почта по каким-то причинам не уходит.
Сначала выдавалось окно запроса пароля и пароль не подходил.
"Видимо проблема в секции аутентификаторов" подумал я и стал искать на форуме что да почему.
Нашел темку, в которой написано что аутентификацию в таком случае (в случае когда в базе MD5 хэши) нужно делать средствами довекота.
Нашел вот это :

Код: Выделить всё

begin authenticators

    auth_plain:
        driver = dovecot
        public_name = PLAIN
        server_socket = /var/run/dovecot/auth-client
        server_set_id = $auth1

    auth_login:
        driver = dovecot
        public_name = LOGIN
        server_socket = /var/run/dovecot/auth-client
        server_set_id = $auth1
но у меня в папке /var/run/dovecot/ не сокета auth-client, вот все что есть :

Код: Выделить всё

ls -lh /var/run/dovecot/
total 4
srw-------  1 mailnull  wheel       0B Feb 24 11:38 auth-master
srw-------  1 root      wheel       0B Feb 24 11:38 auth-worker.66542
srwxrwxrwx  1 root      wheel       0B Feb 24 11:38 dict-server
drwxr-x---  2 root      dovecot   512B Feb 24 11:38 login
-rw-------  1 root      wheel       6B Feb 24 11:38 master.pid
поставил вместо auth-client auth-master и теперь пароль подходит, НО почта все равно не уходит, долго висит пытаясь отправится и все тишина так бывает когда не запущен демон, но у меня он 100% запущен и слушает порт. Посмотрел wireshark'ом соединение устанавливается, происходит обмен приветствиями, клиент посылает пароль в base64, сервер ему отвечает что получил и все на этом глухо. В логах пусто!
Извечный вопрос : где копать?
Изображение

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение hizel » 2009-02-24 12:20:34

не обязательно, можно и так ;)
только тут у мя постгрес

Код: Выделить всё

auth_plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = ${lookup pgsql{SELECT mailboxs.name \
                                    FROM mailboxs,domains \
                                    WHERE mailboxs.name = '${quote_pgsql:${local_part:$auth2}}' \
                                         AND domains.name = '${quote_pgsql:${domain:$auth2}}' \
                                         AND domain_id = domains.id \
                                         AND mailboxs.active = '1' \
                                         AND domains.active = '1' \
                                         AND password = md5('${quote_pgsql:$auth3}')}{yes}{no}}
  server_prompts = :
  server_set_id = $auth2

auth_login:
  driver = plaintext
  public_name = LOGIN
  server_condition = ${lookup pgsql{SELECT mailboxs.name \
                                    FROM mailboxs,domains \
                                    WHERE mailboxs.name = '${quote_pgsql:${local_part:$auth1}}' \
                                         AND domains.name = '${quote_pgsql:${domain:$auth1}}' \
                                         AND domain_id = domains.id \
                                         AND domains.active = '1' \
                                         AND mailboxs.active = '1' \
                                         AND password = md5('${quote_pgsql:$auth2}')}{yes}{no}}
  server_prompts = Username:: : Password::
  server_set_id = $auth1
Пы.Сы. и структура базы моя
Последний раз редактировалось hizel 2009-02-24 12:21:04, всего редактировалось 1 раз.
Причина: Пы.Сы.
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение hizel » 2009-02-24 12:26:44

и нехэшированные пароли нужны только для,
The problem with non-plaintext auth mechanisms is that the password must be stored either in plaintext, or using a mechanism-specific scheme that's incompatible with all other non-plaintext mechanisms. For example if you're going to use CRAM-MD5 authentication, the password needs to be stored in either PLAIN or CRAM-MD5 scheme. If you want to allow both CRAM-MD5 and DIGEST-MD5, the password must be stored in plaintext.
(с) http://wiki.dovecot.org/Authentication/ ... PLAIN-MD5)
втыкаем до просветления мысли %:)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение dikens3 » 2009-02-24 12:30:08

http://wiki.lissyara.su/wiki/%D0%90%D1% ... B8_dovecot

http://wiki.lissyara.su/wiki/%D0%A3%D1% ... B0_Dovecot

Обратите внимание на:
dovecot-sql.conf

Код: Выделить всё

default_pass_scheme = MD5-CRYPT
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение hizel » 2009-02-24 12:52:40

кстати dikens3 вы не находите, что делать пользователя auth - root-ом и операции delivery - mailnull, а также

Код: Выделить всё

first_valid_uid = 25
first_valid_gid = 0
мягко говоря не секурно?
имеется ввиду конечно когда данные для аутентификации берутся из sql\ldap и пользовательский аккаунт один - aka vmail
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение Grishun_U_S » 2009-02-25 12:13:14

Сделал аутентификацию средствами dovecot (MD5-CRYPT) работает нормально.
hizel средствами экзима пока не делал, позже попробую ради интереса.
Изображение

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение hizel » 2009-02-25 12:40:10

если нужны всякие CRAM-MD5 то можно держать в базе хэши в формате dovecot

Код: Выделить всё

{type}hash
типа

Код: Выделить всё

{SSHA.b64}986H5cS9JcDYQeJd6wKaITMho4M9CrXM
{CRAM-MD5}26b633ec8bf9dd526293c5897400bddeef9299fad
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение Grishun_U_S » 2009-02-25 12:54:44

hizel писал(а):если нужны всякие CRAM-MD5 то можно держать в базе хэши в формате dovecot

Код: Выделить всё

{type}hash
типа

Код: Выделить всё

{SSHA.b64}986H5cS9JcDYQeJd6wKaITMho4M9CrXM
{CRAM-MD5}26b633ec8bf9dd526293c5897400bddeef9299fad
А в чем выгода? The Bat будет работать?
Изображение

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение hizel » 2009-02-25 12:58:54

выгода в том , что не надо хранить в базе нешифрованные пароли
"the bat" не использую :)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение Grishun_U_S » 2009-02-25 13:06:27

hizel писал(а):выгода в том , что не надо хранить в базе нешифрованные пароли
"the bat" не использую :)
Они уже и так шифрованные MD5-CRYPT, в чем преимущество CRAM-MD5 ?
И
Сможет ли посфиксодмин сохранять в этом формате?
Изображение

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение hizel » 2009-02-25 14:02:59

CRAM-MD5 передает пароль без SSL\TLS, но хорошо зашифрованный
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение hizel » 2009-02-25 16:28:15

Grishun_U_S писал(а): Сможет ли посфиксодмин сохранять в этом формате?
этим не пользуюсь %:)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение Grishun_U_S » 2009-02-25 16:45:02

hizel писал(а):
Grishun_U_S писал(а): Сможет ли посфиксодмин сохранять в этом формате?
этим не пользуюсь %:)
ну вот началось этим не пользуюсЪ то не юзаю
в базу у тебя кто пассы хэширует и пишет?
Изображение

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение hizel » 2009-02-25 16:56:15

собственная разработка вестимо
показать не готов :Search:
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Grishun_U_S
сержант
Сообщения: 221
Зарегистрирован: 2008-04-12 18:26:54
Откуда: Samara
Контактная информация:

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение Grishun_U_S » 2009-02-25 17:08:23

hizel писал(а):собственная разработка вестимо
показать не готов :Search:
Ну как покаж-ка, покажь!!! (чютка)
На чем написано? ПХП? Перл?
Изображение

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение hizel » 2009-02-25 17:28:26

на пистоне :)
делается в два пинка с помощью django =)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Hety
рядовой
Сообщения: 13
Зарегистрирован: 2009-07-01 10:50:18

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение Hety » 2009-07-03 16:35:12

А клиентский сокет активировать в конфиге dovecot'а религия не позволяет? Глядите строки auth-client. В лисяровской хаутушке авторизация эксима идет напрямую, что не доставляет ввиду гемора с хэшироваными пассами. Но это вторично, первично то, что у него закоменчен кусок конфига с активацией сокета (по-дефолту он врублен).

Гугл в помощь.

Аватара пользователя
J.Korvin
сержант
Сообщения: 232
Зарегистрирован: 2008-11-22 12:03:41

Re: MD5 хэши в базе exim'а

Непрочитанное сообщение J.Korvin » 2009-12-20 12:12:04

Здравствуйте а подскажите пожайлуста как заставить exim работать с паролями в базе LDPA в формате ssha. Спасибо
Эсли ты с ножом значит ты с мясом.