URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 41142
[ Назад ]

Исходное сообщение
"Exim:соответствие логина и адреса отправителя"

Отправлено amim , 01-Мрт-04 14:10 
exim 4.3
проблема: при прохождении юзером smtp авторизации он может отправлять почту с любых email адресов в этом домене, хотелось бы установить соответствие логина и адреса отправителя.. возможно ли это?.. конфиг здесь: http://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi?az=sh...

Содержание

Сообщения в этом обсуждении
"Exim:соответствие логина и адреса отправителя"
Отправлено Re , 01-Мрт-04 14:43 
>exim 4.3
>проблема: при прохождении юзером smtp авторизации он может отправлять почту с любых
>email адресов в этом домене, хотелось бы установить соответствие логина и
>адреса отправителя.. возможно ли это?.. конфиг здесь: http://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi?az=sh...
А с алиасами потом проблем не будет?
Кстати, у тебя юзеры где хранятся?


"Exim:соответствие логина и адреса отправителя"
Отправлено amim , 02-Мрт-04 06:15 
>>хотелось бы установить соответствие логина и
>>адреса отправителя.. возможно ли это?.. конфиг здесь: http://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi?az=sh...
>А с алиасами потом проблем не будет?
да вроде не должно..
>Кстати, у тебя юзеры где хранятся?
в мускуле..

"Exim:соответствие логина и адреса отправителя"
Отправлено Re , 02-Мрт-04 10:26 
>>>хотелось бы установить соответствие логина и
>>>адреса отправителя.. возможно ли это?.. конфиг здесь: http://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi?az=sh...
>>А с алиасами потом проблем не будет?
>да вроде не должно..
>>Кстати, у тебя юзеры где хранятся?
>в мускуле..
Я пока этого не делал, но надо :-) Предположительно в router
dnslookup:
  driver = dnslookup
  domains = ! +local_domains
  condition = ${lookup mysql{SELECT alias_idnr FROM aliases WHERE \
                alias='${quote_mysql:$sender_address}' AND \
                client_idnr in (select client_idnr from users \
                WHERE user_id \
                = '${quote_mysql:$sender_host_authenticated}'}{yes}{no}}
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more

или что-то в этом роде в зависимости от мускульной базы. Жду ответа - сам заинтерисован.



"Exim:соответствие логина и адреса отправителя"
Отправлено amim , 02-Мрт-04 16:34 
>Я пока этого не делал, но надо :-) Предположительно в router
>dnslookup:
вроде получилось.. поправил router mysqluser следующим образом:

condition = ${if and {{!eq {}{${lookup mysql{SELECT home FROM users \
             WHERE id='${local_part}' AND mbox_host='${domain}' \
             AND active='Y'}}}} \
             {match {$sender_address}{$authenticated_id}} \
             }{yes}{no}}

>или что-то в этом роде в зависимости от мускульной базы. Жду ответа
>- сам заинтерисован.

первоначально добавил в dnslookup router еще вот это:
condition = ${if match {$sender_address} \
              {$authenticated_id} \
              {yes}{no}}
но при дальнейшем рассмотрении отладочного лога понял, что оно не нужно, поскольку у меня в секции acl стоит require verify = sender
Спасибо за подсказку.. :)


"Exim:соответствие логина и адреса отправителя"
Отправлено Re , 04-Мрт-04 08:00 
>>Я пока этого не делал, но надо :-) Предположительно в router
>>dnslookup:
>вроде получилось.. поправил router mysqluser следующим образом:
>
>condition = ${if and {{!eq {}{${lookup mysql{SELECT home FROM users \
>            
> WHERE id='${local_part}' AND mbox_host='${domain}' \
>            
> AND active='Y'}}}} \
>            
> {match {$sender_address}{$authenticated_id}} \
>            
> }{yes}{no}}
>
>>или что-то в этом роде в зависимости от мускульной базы. Жду ответа
>>- сам заинтерисован.
>
>первоначально добавил в dnslookup router еще вот это:
>condition = ${if match {$sender_address} \
>            
>  {$authenticated_id} \
>            
>  {yes}{no}}
>но при дальнейшем рассмотрении отладочного лога понял, что оно не нужно, поскольку
>у меня в секции acl стоит require verify = sender
>Спасибо за подсказку.. :)
Извини, подсказал не подумав. Точную конфигурацию кину попозже, а пока для размышления:
acl_check_rcpt:
...
accept domains = *
autenticated = *
endpass
message = not match login and name of sender
verify = recipient
condition = ${if match{$sender_address}{$authenticated_id@my\\.host\\.nm}{yes}{no}}
Хромает у меня экзимовский синтаксис. Буду отлаживать. Удачи.

"Exim:соответствие логина и адреса отправителя"
Отправлено Re , 04-Мрт-04 08:11 
И еще: у тебя в открытом виде пароли в базе хранятся. Нехорошо это. Попробуй мускульные функции криптования при укладке, а при аутентификации в екзиме воспользуйся crypteq. У меня сделано так: server_condition = "${if crypteq{$2}{${extract{1}{:}{${lookup mysql{SELECT passwd FROM users WHERE userid = '${quote_mysql:$2}'}}}}}{1}{0}}" Это в плейтексте. Пока.

"Exim:соответствие логина и адреса отправителя"
Отправлено amim , 09-Мрт-04 14:09 
>И еще: у тебя в открытом виде пароли в базе хранятся. Нехорошо
>это. Попробуй мускульные функции криптования при укладке, а при аутентификации в
>екзиме воспользуйся crypteq. У меня сделано так: server_condition = "${if crypteq{$2}{${extract{1}{:}{${lookup
>mysql{SELECT passwd FROM users WHERE userid = '${quote_mysql:$2}'}}}}}{1}{0}}" Это в плейтексте.
>Пока.
спасибо, я думал этим заняться, даже ссылки здесь нужные нашел, но потом отвлекся.. сейчас займусь.. :)