exim Принудительная аутентификация (сам себе, от себя самого..., abask, 07-Мрт-09, 01:13 [смотреть все](exim, сам себе, от себя самого, local to local, отправитель и получатель совпадают)Некоторые "умные" спамеры шлют письма указывая адрес отправителя и адрес получателя одинаковыми. (Сам себе) Напр. для сервера обслуживающего почту домена example.com:
mail from: test@example.com rcpt to: test@example.com При стандартных настройках exim аутентификация в этом случае не запрашивается, т.к. example.com указан в local_domains
domainlist local_domains = LOCAL_DOMAINS : example.comacl_check_rcpt: require message = relay not permitted (check smtp auth) domains = +local_domains : +relay_to_domains
Вопрос 1. Как заставить exim запрашивать аутентификацию если отправитель и получатель совпадают (локальные)? Вопрос 2. Как заставить exim запрашивать аутентификацию если отправитель и получатель локальные, но не совпадают?
|
- exim Принудительная аутентификация (сам себе, от себя самого..., Евгений, 14:56 , 07-Мрт-09 (1)
- exim Принудительная аутентификация (сам себе, от себя самого..., abask, 22:52 , 07-Мрт-09 (2)
>1) auth_advertise_hosts = * > >2) добавить в acl_check_rcpt: > >accept authenticated = * > >3) настроить секцию аутентификаторов первых два пункта есть про третий пункт собственно и вопрос
- exim Принудительная аутентификация (сам себе, от себя самого..., бусик, 10:20 , 08-Мрт-09 (3)
- exim Принудительная аутентификация (сам себе, от себя самого..., abask, 11:16 , 08-Мрт-09 (4)
>В гугле смотрели??? миллионы тем с примерами и конфигами на все случаи >жизни. Естественно смотрел, имею привычку сначала поиском пользоваться, а потом глупые вопросы задавать. Только с гуглом что-то не заладилось Может неправильно запросы формулировал...
- exim Принудительная аутентификация (сам себе, от себя самого..., bill, 20:10 , 08-Мрт-09 (5)
- exim Принудительная аутентификация (сам себе, от себя самого..., abask, 00:33 , 09-Мрт-09 (6)
- exim Принудительная аутентификация (сам себе, от себя самого..., bill, 10:34 , 09-Мрт-09 (7)
- exim Принудительная аутентификация (сам себе, от себя самого..., abask, 00:34 , 10-Мрт-09 (8)
на один шаг продвинулся вперед
accept authenticated = * deny !authenticated = * sender_domains = +local_domains : +relay_to_domains message = Warning! Authentication required!
но это работает только если домены отправителя и получателя совпадают у меня exim обслуживает несколько доменов (test.com и example.com) #exim -bh 1.2.3.4 mail from: user@test.com rcpt to: user@example.com .... >>> processing "deny" >>> check !authenticated = * >>> check sender_domains = +local_domains : +relay_to_domains>>> test.com in "localhost : example.com"? no (end of list) >>> test.com in ""? no (end of list) >>> test.com in "+local_domains : +relay_to_domains"? no (end of list) >>> deny: condition test failed ....
т.е. в перечень доменов при сравнении попадает только домен получателя, а отправителя - нет (что-то подобное было тут https://www.opennet.ru/openforum/vsluhforumID1/55070.html) если же это условие переместить из acl_check_rcpt: в acl_check_mail:, то список +relay_to_domains пустой
>>> processing "deny" >>> check !authenticated = * >>> check sender_domains = +local_domains : +relay_to_domains >>> test.com in "localhost : "? no (end of list) >>> test.com in ""? no (end of list) >>> test.com in "+local_domains : +relay_to_domains"? no (end of list) >>> deny: condition test failed копаю дальше
- exim Принудительная аутентификация (сам себе, от себя самого..., abask, 00:58 , 10-Мрт-09 (9)
>копаю дальше нашел где собака порылась вот так не работает:
LOCAL_DOMAINS = localhost VIRTUAL_DOMAINS = ${lookup mysql{SELECT domainname FROM domains \ WHERE domainname='${quote_mysql:$domain}' AND type='LOCAL'}}domainlist relay_to_domains = ${lookup mysql{SELECT domainname FROM domains \ WHERE domainname='${quote_mysql:$domain}' AND type='RELAY'}} domainlist local_domains = LOCAL_DOMAINS : VIRTUAL_DOMAINS
а вот так работает:
LOCAL_DOMAINS = localhost : test.com : example.com VIRTUAL_DOMAINS = ${lookup mysql{SELECT domainname FROM domains \ WHERE domainname='${quote_mysql:$domain}' AND type='LOCAL'}}domainlist relay_to_domains = ${lookup mysql{SELECT domainname FROM domains \ WHERE domainname='${quote_mysql:$domain}' AND type='RELAY'}} domainlist local_domains = LOCAL_DOMAINS : VIRTUAL_DOMAINS
т.о. когда явно задаю все локальные домены - все ОК когда беру из базы mysql - exim достает только домен получателя....
|