exim и отлуп по полю from .. как ??

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
balton
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-12-03 21:15:50

exim и отлуп по полю from .. как ??

Непрочитанное сообщение balton » 2008-12-03 21:31:19

я конечно посмотрел полезные советы ))

но вот как мне сделать так чтобы из моей сети 192,168,0,0/16 не смогли слать письма с подложными адресами
вида koko@mail.ru то есть не моего домена

полистал полистал .. не увидел решения ..
в одной теме когото там ткнули носом в аутентификацию .. он спросил а как её сделать то?? .. на этом тема и заглохла

собирал вот по этой теме http://www.lissyara.su/?id=1173

но я видимо что то упустил в той статье .. у меня что то никак екзим не хоитит спрашивать аутентификацию и все

и так вопрос .. как сделать такой отлуп БЕЗ Аутентификации с локальной подсети ??
:unknown:

Хостинговая компания 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/

balton
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-12-03 21:15:50

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение balton » 2008-12-03 21:35:06

помоему это должна быть наиболее из тривиальнейших задач .. и наиболее из важнейших .. но почему то ни в статьях ни на форуме ничего подобного нету :Search:

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

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение dikens3 » 2008-12-03 21:54:19

balton писал(а):помоему это должна быть наиболее из тривиальнейших задач .. и наиболее из важнейших .. но почему то ни в статьях ни на форуме ничего подобного нету :Search:
Потому что то, что ты спрашиваешь, является детским садом. Т.е. после понимания принципов работы Exim это сделать можно недумая.

http://www.lissyara.su/?id=1239#39.20
“sender_domains” = “<domain list>”
Это условие тестирует домен отправителя сообщения с заданным списком доменов.
...
...
Предупреждение: Плохая идея, использовать это условие как контроль релеинга, поскольку адреса отправителя легко, и обычно, подделываются.

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

deny hosts = 192.168.0.0.16
    !sender_domains = mydomain1.ru : mydomain2.ru
Был бы я твоим пользователем я бы отправил тебе письмо:

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

From:ТВОЙ_НАЧАЛЬНЕГ@ДОМЕН.RU
To: ТЕБЕ

ТЫ УВОЛЕН...
Шутка всё конечно.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

balton
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-12-03 21:15:50

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение balton » 2008-12-03 22:14:19

спасибо за оперативный ответ .. но по моему ща еще полазил по форуму .. все кто кричит .. как закрыть опен релей .. как раз изза этой тривиальщины и страдают ..

поскольку .. с екзимом .. ну не особо опытен
будет ли правилен ваш код переписаный как

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

deny hosts = +relay_from_hosts
    !sender_domains = +relay_to_domains : +local_domains
и .. это правда что локальные письма не проверяются антивирусом ? судя опять же содержанию статьи указанной в первом сообщении темы ?? :bn:

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

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение dikens3 » 2008-12-03 22:22:54

balton писал(а):будет ли правилен ваш код переписаный как

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

deny hosts = +relay_from_hosts
    !sender_domains = +relay_to_domains : +local_domains
Пробуй.
balton писал(а):и .. это правда что локальные письма не проверяются антивирусом ? судя опять же содержанию статьи указанной в первом сообщении темы ?? :bn:
Письма проверяются согласно условиям, если в условие входит отсутствие проверки своих писем, тогда не проверяются.

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

av_scanner = clamd:/var/run/clamav/clamd
...
...
acl_check_data:

  # Проверяем письмо на вирусы
  deny malware = *
  message = "In e-mail found VIRUS - $malware_name"
...
...
Это включает проверку всех данных (писем), т.к. каких-либо исключений/ограничений здесь нет.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

balton
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-12-03 21:15:50

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение balton » 2008-12-03 22:24:27

не прошел ниодин из вариантов ...
ни с

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

deny hosts = 192.168.0.0.16
    !sender_domains = mydomain1.ru : mydomain2.ru
ни с указаного мной

вернее рубит всех .. не дает ниодному отправить письмо :pardon:

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

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение dikens3 » 2008-12-03 22:25:25

balton писал(а):не прошел ниодин из вариантов ...
ни с

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

deny hosts = 192.168.0.0.16
    !sender_domains = mydomain1.ru : mydomain2.ru
ни с указаного мной

вернее рубит всех .. не дает ниодному отправить письмо :pardon:
Отладку в полезных скриптах читаем и сюда лог.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

balton
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-12-03 21:15:50

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение balton » 2008-12-03 22:29:18

вру .. не работает .. только мой вариант :(
просто с нескольких настроек запускал забыл поправить обратно ..
сейчас еще потестирую ..

balton
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-12-03 21:15:50

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение balton » 2008-12-03 22:51:01

хм ...
вот так работает

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

deny hosts = +relay_from_hosts
 !sender_domains = mydomain1.ru
а воттак нет ..

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

deny hosts = +relay_from_hosts
    !sender_domains = +relay_to_domains
блин чо за дела :unknown:

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

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение dikens3 » 2008-12-03 22:54:30

http://forum.lissyara.su/viewtopic.php? ... er_domains

Там список нужно разворачивать, работать так не будет вобщем.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35045
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение Alex Keda » 2008-12-03 22:57:25

dikens3 писал(а):

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

av_scanner = clamd:/var/run/clamav/clamd
...
...
acl_check_data:

  # Проверяем письмо на вирусы
  deny malware = *
  message = "In e-mail found VIRUS - $malware_name"
...
...
Это включает проверку всех данных (писем), т.к. каких-либо исключений/ограничений здесь нет.
не совсем.
дело в том, что для локальных писем - считанных со STDIN отдельным процессом экзим (т.е. когда mail -s .....) - acl_check_data не запускается.
ещё помему какие-то исключения есть - толи когда пакетно толи чего...
лучше в доке уточнить. про локальные точно помню - остальное - нет.
Убей их всех! Бог потом рассортирует...

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

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение dikens3 » 2008-12-03 23:20:16

balton писал(а):а воттак нет ..

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

deny hosts = +relay_from_hosts
    !sender_domains = +relay_to_domains
блин чо за дела :unknown:
Попробуй изменить local_domains c:

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

domainlist local_domains = ${lookup mysql{SELECT `domain` \
                            FROM `domain` WHERE \
                            `domain`='${domain}' AND \
                            `active`='1'}}
На:

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

domainlist local_domains = ${sg{${lookup mysql{SELECT `domain` \
                            FROM `domain` WHERE \
                            `domain`='${domain}' AND \
                            `active`='1'}}}{\n}{:}}
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

balton
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-12-03 21:15:50

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение balton » 2008-12-03 23:21:45

dikens3 писал(а):http://forum.lissyara.su/viewtopic.php? ... er_domains

Там список нужно разворачивать, работать так не будет вобщем.
угу вообщем по логам отладки судя .. оно заново парсит при каждом письме и подставляет вот в эту штуку '${domain}' домен получателя ..

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

domainlist local_domains = ${lookup mysql{SELECT domain \
                           FROM domain WHERE \
                           domain='${domain}' AND \
                           active='1'}}
я то думал эта вещь паристся один раз при старте .. а оно каждый раз .. отрабатывает ..


с этим запросом тоже самое подставляет домен получателя ))

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

domainlist local_domains = ${sg{${lookup mysql{SELECT `domain` \
                            FROM `domain` WHERE \
                            `domain`='${domain}' AND \
                            `active`='1'}}}{\n}{:}}

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

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение dikens3 » 2008-12-03 23:59:54

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

deny hosts = +relay_from_hosts
    !sender_domains = +relay_to_domains
domainlist relay_from_hosts ... - Его правь, в условии он используется.
# $domain
Когда адрес роутится, или самостоятельно доставляется, эта переменная содержит имя домена. Глобальная перезапись адреса происходит когда сообщение получено, таким образом значение “$domain” в течение марщрутизации и доставки - значение после перезаписи. Переменная “$domain” установлена во время пользовательской фильтрации, но не во время системной фильтрации, поскольку сообщение может иметь много получателей и системный фильтр вызывают только один раз.
Когда доставляется больше одного адреса за раз, (например, несколько команд RCPT в одном SMTP соединении) “$domain” установлена лишь в случае, если все они имеют один и тот же домен. Транспорты могут быть ограничены обработкой только одного домена за раз, если значение “$domain” требуется во время работы транспорта - это, значение по-умолчанию для локальных транспортов. Для дополнительных деталей о переменных окружения во время выполнения транспортировки, смотрите главу 23.
В конце доставки, если все отсроченные адреса имеют один домен, он помещается в “$domain” в процессе раскрытия “delay_warning_condition”.
Переменная “$domain” также используется при некоторых других обстоятельствах:
# Когда выполняется ACL для команды RCPT, переменная “$domain” содержит домен адреса получателя. Домен адреса отправителя находиться в “$sender_address_domain” во время команд MAIL и RCPT. Переменная “$domain”, обычно не устанавливается во время оаботы MAIL ACL. Однако, если адрес отправителя проверен при помощи callout в процессе MAIL ACL, домен отправителя помещается в “$domain” в процессе раскрытия “hosts”, “interface”, and “port” и в “smtp” транспорте.
# Во время обработки перезаписи (смотрите раздел 31), переменная “$domain” содержит доменную часть адреса, который перезаписывается. Это может быть использовано в в раскрытии адреса замены, например, для замены домена поиском по файлу.
# Каждый раз когда просматривается список доменов, за одним исключением, “$domain” содержит обрабатываемый домен. Исключение: Когда список доменов в условии “sender_domains” обрабатывается в ACL, обрабатываемый домен содержится в “$sender_address_domain”, а не в “$domain”. Так сделано для того, чтобы в RCPT ACL список доменов отправителя мог зависеть от домена получателя (который в это время содержится в “$domain”).
# Когда раскрывается опция “smtp_etrn_command”, переменная “$domain” содержит полный параметр команды ERTN (смотрите раздел 44.8)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

balton
ефрейтор
Сообщения: 51
Зарегистрирован: 2008-12-03 21:15:50

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение balton » 2008-12-04 2:32:04

вижу два варианта решения проблеммы

1 либо как то изменить запрос чтобы relay_to_domains и local_domains возвращал правильные данные .. тоесть то что мне нужно .. в любой ситуации .. походу это сделать невозможно изза переменной $domen

2 прописать в виде предложенном .. заданным жестким прописыванием домена .. в данном случае это "mydomain1.ru"
код

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

deny hosts = +relay_from_hosts
!sender_domains = mydomain1.ru
либо же эти домены прописать в самом начале .. в переменных relay_to_domains и local_domains что снизит нагрузку .. базы данных :x и сделает данный код более логичным ..

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

deny hosts = +relay_from_hosts
    !sender_domains = +relay_to_domains : +local_domains
и как бы фишка гибкости и использования базы данных ваабще уходит практически в никуда .. в некотором смысле .. :cry:

хотя .. можно выкинуть эту переменную из запроса .. в принципе .. оно не особо повредит .. и будет возращать правильные домены ..
поясните мне зачем в запросе по заполнению переменных relay_to_domains и local_domains учавствует эта переменная .. :-o

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

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение dikens3 » 2008-12-04 7:21:23

balton писал(а):поясните мне зачем в запросе по заполнению переменных relay_to_domains и local_domains участвует эта переменная .. :-o
Интересный вопрос.. Так повелось видимо. Возможно в доках такой пример был. Возможно есть какие-то подводные камни, надо у лиса спросить, может он помнит.

1. Создай себе другой список и работай с ним:

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

domainlist my_domains = ${sg{${lookup mysql{SELECT domain \
                           FROM domain WHERE active='1'}}}{\n}{:}}
2. Исправь базовый запрос (откажись от переменной):

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

domainlist local_domains = ${sg{${lookup mysql{SELECT `domain` \
                            FROM `domain` WHERE `active`='1'}}}{\n}{:}}
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35045
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение Alex Keda » 2008-12-04 7:34:14

непонял - какая переменная?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35045
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение Alex Keda » 2008-12-04 7:36:46

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

${domain}
- эта? Дык, давным-давно у меня на сервере был один домен. ПОэтому остальные были не важны - либо найдёт строку либо не найдёт.
а может и не поэтому... Непомню - года три прошло =))))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35045
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: exim и отлуп по полю from .. как ??

Непрочитанное сообщение Alex Keda » 2008-12-04 7:37:45

в любом случае - у меня всё корректно работает в таком виде....
и на одном и на многих доменах.
Убей их всех! Бог потом рассортирует...