Страница 1 из 1

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

Добавлено: 2009-02-24 12:12:01
Grishun_U_S
Добрый,

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

Вобщем что есть сейчас, нашел на форуме (или где-то в каментах к статьям) :
Все работает отлично, тока вот нафига пароли в базе в текстовом виде то хранить?
Можно сделать все через 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, сервер ему отвечает что получил и все на этом глухо. В логах пусто!
Извечный вопрос : где копать?

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

Добавлено: 2009-02-24 12:20:34
hizel
не обязательно, можно и так ;)
только тут у мя постгрес

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

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
Пы.Сы. и структура базы моя

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

Добавлено: 2009-02-24 12:26:44
hizel
и нехэшированные пароли нужны только для,
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)
втыкаем до просветления мысли %:)

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

Добавлено: 2009-02-24 12:30:08
dikens3
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

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

Добавлено: 2009-02-24 12:52:40
hizel
кстати dikens3 вы не находите, что делать пользователя auth - root-ом и операции delivery - mailnull, а также

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

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

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

Добавлено: 2009-02-25 12:13:14
Grishun_U_S
Сделал аутентификацию средствами dovecot (MD5-CRYPT) работает нормально.
hizel средствами экзима пока не делал, позже попробую ради интереса.

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

Добавлено: 2009-02-25 12:40:10
hizel
если нужны всякие CRAM-MD5 то можно держать в базе хэши в формате dovecot

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

{type}hash
типа

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

{SSHA.b64}986H5cS9JcDYQeJd6wKaITMho4M9CrXM
{CRAM-MD5}26b633ec8bf9dd526293c5897400bddeef9299fad

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

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

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

{type}hash
типа

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

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

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

Добавлено: 2009-02-25 12:58:54
hizel
выгода в том , что не надо хранить в базе нешифрованные пароли
"the bat" не использую :)

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

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

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

Добавлено: 2009-02-25 14:02:59
hizel
CRAM-MD5 передает пароль без SSL\TLS, но хорошо зашифрованный

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

Добавлено: 2009-02-25 16:28:15
hizel
Grishun_U_S писал(а): Сможет ли посфиксодмин сохранять в этом формате?
этим не пользуюсь %:)

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

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

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

Добавлено: 2009-02-25 16:56:15
hizel
собственная разработка вестимо
показать не готов :Search:

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

Добавлено: 2009-02-25 17:08:23
Grishun_U_S
hizel писал(а):собственная разработка вестимо
показать не готов :Search:
Ну как покаж-ка, покажь!!! (чютка)
На чем написано? ПХП? Перл?

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

Добавлено: 2009-02-25 17:28:26
hizel
на пистоне :)
делается в два пинка с помощью django =)

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

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

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

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

Добавлено: 2009-12-20 12:12:04
J.Korvin
Здравствуйте а подскажите пожайлуста как заставить exim работать с паролями в базе LDPA в формате ssha. Спасибо