Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» FAQ по Exim MTA #2

Автор: ShriEkeR
Дата сообщения: 16.05.2011 17:49
FAQ по Exim MTA #1

Текущая версия Exim 4.80

Home page Автор Philip Hazel, University of Cambridge.
Exim - чертовски быстр, отличный выбор для загруженных систем. Свободно распространяемый Mail Transport Agent (MTA, лицензия GPL), обладающий возможностью очень гибкой и тонкой настройки, включая поиск конфигурационной информации в базах данных - mySQL, PostgresQL, Oracle, SQLite.., а также LDAP. В Exim встроена поддержка Maildir (quota), SMTP-аутентификация, TLS/SSL, SpamAssassin, сканирование на лету антивирусом(ами), ACL, системные фильтры... Сомневающимся.
На многие вопросы помогут найти ответы рассылки: На русском + На английском
Документация на русском по Exim + много полезной инфы на www.lissyara.su

Установка почтового сервера на базе Exim с поддержкой виртуальный аккаунтов (MySQL).
Подробное руководство состоит из двух связанных частей:
1. Установка и настройка Exim 4.20.
2. Установка и настройка Tpop3d с поддержкой виртуальных аккаунтов.
[more=Внимательно читаем здесь]
Исходные данные:

FreeBSD 4.6
MySQL 3.23.49
OpenSSL 0.9.7a
Все действия выполняются от супер-пользователя root

Домашняя страничка Exim MTA:
http://www.exim.org

su-2.05a# cd /var/tmp
su-2.05a# wget ftp://ftp.exim.org/pub/exim/exim4/exim-4.20.tar.gz
su-2.05a# md5 exim-4.20.tar.gz
MD5 (exim-4.20.tar.gz) = a1f06f1de1ab602a25d78ad2a20819f2

Создаем пользователя необходимого для работы Exim.

su-2.05a# pw useradd mail -c "Mail Server" -d /var/spool/mqueue -g mail -s /sbin/nologin

su-2.05a# cat /etc/passwd |grep mail

Код: mail:*:1005:6:Mail Server:/var/spool/mqueue:/sbin/nologin
Автор: Northern
Дата сообщения: 20.05.2011 11:34
Приветствую, коллеги.
Изучаю потихоньку Exim, и возникла такая вот задачка. Настроена связка exim+spamassassin. Exim при этом работает как relay, т.е. вся принятая почта уходит потом на другой почтовый сервер (Exchange). Есть ACL, в котором прописано, что если spamassassin насчитал более 5.1 баллов письму, то оно дропается. Есть задача доработать схему до следующей: всё, что более 8 баллов - дропается, а все что в диапазоне от 5 до 8 - складывать в отдельный каталог, который потом и предстоит ручками посмотреть на предмет наличия/отсутствия реального спама. Непонимание в том, как сделать так, чтобы почта, оцененная ассассином от 5 до 7, передавалась локальному агенту доставки, который бы складывал ее в каталог, а не релеелась (это если я правильно понимаю все ).
Ну, на всякий случай - Exim 4.69.
Автор: Alukardd
Дата сообщения: 20.05.2011 15:30
Northern
Вам надо завести [more=роутер]local_delivery_spam_router:
driver = accept
domains = +relay_domains
condition = ${if and{{>{$spam_score_int}{50}} {<{$spam_score_int}{80}}}{yes}{no}}
transport = local_delivery_spam_transport
no_more[/more] и [more=транспорт]local_delivery_spam_transport:
debug_print = "R: mysql_transport for $local_part@$domain"
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = ${lookup mysql{SELECT CONCAT(home, "/Maildir/.Junk") FROM users WHERE id='${local_part}' AND mbox_host='${domain}'}}
directory_mode = 660
envelope_to_add
user = ${lookup mysql{SELECT uid FROM users WHERE id='${local_part}'}}
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0600
quota = ${lookup mysql{SELECT quota FROM users WHERE id='${local_part}' AND mbox_host='${domain}'}{${value}M}}
quota_size_regex = S=(\d+)$
quota_warn_threshold = 75%
return_path_add[/more] к нему.
Ну то что больше 8 можно сразу [more=ACL отрезать]deny
condition = ${if >={$spam_score_int}{80}{yes}{no}}
log_message = SPAM BLOCKED BY ACL![/more].

Мог что-то забыть... Но вроде так.
Транспорт написан под меня, с учетом структуры maildir и хранения учёток в mysql. Думаю сами разберётесь как под себя поправить. Не забудьте поставть спам роутер до релейного, иначе до него просто не дойдёт дело)))
Автор: ginger
Дата сообщения: 20.05.2011 15:40
Northern

Цитата:
сделать так, чтобы почта, оцененная ассассином от 5 до 7, передавалась локальному агенту доставки, который бы складывал ее в каталог, а не релеелась (это если я правильно понимаю все ).

Поставленная вами задача не совсем верна, т.к. в случае ложного срабатывания возможно раскрытие конфиденциальной информации. Наиболее верным решением является настройка фильтров exchange, благодаря которым, сообщения помечаются как нежелательные и попадают в junk-каталог почтового ящика пользователя.
Автор: Alukardd
Дата сообщения: 20.05.2011 16:07
ginger
Для админа контролирующего какой-либо шлюз конфиденциальной информации практически нету. Разве что SSL, но и на тот имеется MITM. Не законно, конечно, а что делать...

Хотя я тоже не совсем понимаю зачем админу читать пачки спама? Пускай этим занимаются пользователи, если оно уже прошло "грубую проверку".
Кстати 5 крайне мало - я у себя поднял планку до 7,5. Либо надо менять "бонусы" в настройках SA.

p.s. Исправил роутер в предыдущем посте.
Автор: Northern
Дата сообщения: 21.05.2011 20:42
ginger
Alukardd
Спасибо за помощь, буду разбираться.
По поводу, зачем админу разгребать письма в рукопашную. Поправьте, если я неправ, ибо не особо силен в spamassassin'e, но как мне объяснил человек, который настраивал систему, проблема в дополнительных заголовках, которые Outlook лепит к сообщениям. Т.е. если такие письма с измененными заголовками скормить spamassassin, то он все равно из-за этих самых заголовков будет пропускать спам (надеюсь понятно объяснил). Пожалуйста, поправьте меня, если я не прав, ибо сам не в восторге от задачи перебирать почту .
Автор: ginger
Дата сообщения: 23.05.2011 10:01
Northern

Цитата:
По поводу, зачем админу разгребать письма в рукопашную. Поправьте, если я неправ, ибо не особо силен в spamassassin'e, но как мне объяснил человек, который настраивал систему, проблема в дополнительных заголовках, которые Outlook лепит к сообщениям. Т.е. если такие письма с измененными заголовками скормить spamassassin, то он все равно из-за этих самых заголовков будет пропускать спам (надеюсь понятно объяснил). Пожалуйста, поправьте меня, если я не прав, ибо сам не в восторге от задачи перебирать почту .

Нет, не верно, перед тем как сообщение попадет в outlook, оно будет принято вашим релеем, на котором у вас установлен exim+spamassassin, после обработки, будет передано дальше на exchange, а с exchange вы принимаете его при помощи outlook.
Так вот, на exchange вы настраиваете фильтр, который будет маркировать входящую корреспонденцию как нежелательную по заголовкам spamassassin'а, что позволит не разгребать чужую корреспонденцию админам и т.д., сообщение будет доставлено адресату, но в каталог junk-сообщений.
Автор: Northern
Дата сообщения: 23.05.2011 13:09
ginger
Спасибо, что ответили.
У меня к Вам один вопрос, если позволите. У нас Exim выполняет роль релея для Exchange. По этому поводу есть один вопрос - допустим, конечный пользователь определяет письмо как спам и передает его мне. Моя задача отдать это письмо spamassassin'у для обучения. Однако встает вопрос, после прохождения цепочки Exim->Exchange->Outlook письмо обрастает различными дополнительными заголовками. При скармливании такого письма, как spamassassin отнесется к этим заголовкам? Корректно ли он их отработает, в том смысле, чтобы, во-первых, не начал лочить валидные письма, во-вторых, действительно заблокировал спам по предоставленному ему шаблону. Возможно, вопрос можно к свести к такому: есть ли у Вас опыт по обучения спамассассина по приведенной схеме?
Автор: ginger
Дата сообщения: 23.05.2011 14:02
Northern

Цитата:
Моя задача отдать это письмо spamassassin'у для обучения. Однако встает вопрос, после прохождения цепочки Exim->Exchange->Outlook письмо обрастает различными дополнительными заголовками. При скармливании такого письма, как spamassassin отнесется к этим заголовкам? Корректно ли он их отработает, в том смысле. чтобы, во-первых, не начал лочить валидные письма, во-вторых, действительно заблокировал спам по предоставленному ему шаблону. Возможно, вопрос можно к свести к такому есть ли у Вас опыт по обучения спамассассина по приведенной схеме?

Анализ происходит не только по заголовкам, но и по содержимому тела сообщения, не волнуйтесь, заголовки вашей внутренней системы будут обработаны должным образом и на положительный результат не повлияют.
Автор: rbourg
Дата сообщения: 24.05.2011 08:36
Здравствуйте!
на сервере крутится связка exim4+vexim c настройками по умолчанию + spamassasin. Задача как заставить exim сохранять почту распознанную как спам в некую папку. если письмо определено как спам в логах exim следующая запись
:blackhole: <****@******.ru> R=ditch_spam

Спасибо
Автор: Northern
Дата сообщения: 24.05.2011 08:50
rbourg
Только что ведь расписали для меня, та же задача. Читай сообщения выше. Только condition в router надо будет переписать на свой случай, ну и транспорт подправить под себя.
Автор: rbourg
Дата сообщения: 24.05.2011 10:48

Цитата:
Northern


спасибо что ткнули носом, все заработало спасибо
Автор: lleysan
Дата сообщения: 02.06.2011 15:09
Народ подскажите как решить проблему

Есть debian с установленным по дефолту Exim4
Необходимо сделать из него релей
В его задачу должно входить принимать почту для домена DOMAIN.RU извне, пересылать её на Local_IP
Принимать любую почту от Local_IP и пересылать её на любой внешний IP
SQL и т.д. привязывать невижу смысла...
Единственная задача сервера трансфер писем
Помогите настроить. Какие правки внести в конфиг для возможности пересылки почты.
Автор: vlary
Дата сообщения: 02.06.2011 16:39
lleysan Прописать роутеры и транспорты

Код:
domainlist local_domains = @
domainlist relay_to_domains = yordomen.ru : yordomen2.ru : yordomen3.ru : yordomen4.ru
domainlist our_domains = +local_domains : +relay_to_domains
........................................
begin routers
dnslookup:
driver = dnslookup
domains = ! +our_domains //все, что не твое
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

smart_route:
driver = manualroute
domains = +relay_to_domains //список твоих доменов
transport = main_smtp
route_list = * mail.yordomen.ru //твой внутренний почтовик

begin transports
remote_smtp:
driver = smtp
main_smtp:
driver = smtp
interface = 192.168.1.1 //локальный айпи твоего Эксима
Автор: lleysan
Дата сообщения: 03.06.2011 12:41
vlary
Попробывал пока не работает
Есть ещё пару вопросов
1) при первоначальной конфигурации dpkg-reconfigure exim4-config какой режим выбирать?
2) Нужно ли править файл update-exim4.conf.conf
3) в конфиге у меня "smart_route:" нету вместо него "smarthost" я так понял что отназвания суть неменяеться, или нужно дополнительно вписать?
4) route_list = * mail.yordomen.ru -- тут можно использовать IP адрес понимать будет?
Автор: vlary
Дата сообщения: 03.06.2011 14:27
lleysan

Цитата:
1) при первоначальной конфигурации dpkg-reconfigure exim4-config какой режим выбирать?
2) Нужно ли править файл update-exim4.conf.conf
Не знаю, я тот Эксим, что шел в дистрибутиве, снес, собрал из исходников последний релиз, и сделал единый exim4.conf, как привык делать на других серверах.
Цитата:
3) в конфиге у меня "smart_route:" нету вместо него "smarthost" я так понял что отназвания суть неменяеться
Возможно, но тогда это должно быть smarthost: , с последующим указанием драйвера и транспорта.

Цитата:
4) route_list = * mail.yordomen.ru -- тут можно использовать IP адрес понимать будет?
По идее должен, но можно mail.yordomen.r и в /etc/hosts прописать...
Цитата:
Попробывал пока не работает
Используй тестовый режим exim -bh, он тебе покажет и отработку акцесс листов, и роутинг.






Автор: lleysan
Дата сообщения: 03.06.2011 16:25
vlary ок спасибо буду ковырять
Автор: rosamor
Дата сообщения: 14.06.2011 12:43
Проблема с zen.spamhaus.org

Exim не проверяет dnsbl через zen.spamhaus.org, остальные dnsbl проходят нормально и в логах записи есть. А когда оставляешь только zen.spamhaus.org (либо по отдельности из spamhaus) спам пролетает. Вручную из командной строки проверять получается.

У кого то такие проблемы были?
Автор: vlary
Дата сообщения: 14.06.2011 16:16
rosamor
Цитата:
Exim не проверяет dnsbl через zen.spamhaus.org
Пробуй тестовый режим exim -bh -d dnsbl, смотри как отрабатывает zen.spamhaus.org и остальные dnsbl

Автор: rosamor
Дата сообщения: 14.06.2011 19:21
vlary
когда вбиваю exim -bh -d dnsbl

выдаёт следующее:
exim abandoned: "-d" is not an IP address

Добавлено:
ерунда какая-то получается

если ввожу вручную

host 151.149.247.203.xbl.spamhaus.org

Host 151.149.247.203.xbl.spamhaus.org not found: 3(NXDOMAIN)

Если через сайт спамхауса
203.247.149.151 is not listed in the SBL
203.247.149.151 is not listed in the PBL
203.247.149.151 is listed in the XBL, because it appears in:

Получается Exim не причём, а что-то со спамхаусом?
Автор: vlary
Дата сообщения: 14.06.2011 22:03
rosamor

Цитата:
когда вбиваю exim -bh -d dnsbl
выдаёт следующее:
exim abandoned: "-d" is not an IP address
Так ведь естественно! Нужен айпи того спамера, на котором проверяются правила. Я то думал, что ты в мануал заглядывал и синтаксис команд представляешь...
exim -d dnsbl -bh айпи_злого_спамера
Ну а дальше уже сам моделируешь сессию в соответствии с тем, что найдешь в хидерах письма и логах эксима,
MAIL FROM: RCPT TO: и так далее...
Автор: fedor00
Дата сообщения: 15.06.2011 19:21
Подскажите, можно ли ограничивать для каждого внешнего ip адреса очередь и кол отправляемых писем в мин. при этом что бы при достижении очереди блокировал ip адресс на некоторое время, а с других ip отправлял
Автор: gloomymen
Дата сообщения: 15.06.2011 19:39
зачем?
Автор: glesando
Дата сообщения: 15.06.2011 20:49
Здравствуйте.

Расскажите пожалуйста как можно сделать так, чтобы через почтовые программы пользователи могли авторизоваться только через SSL/TLS? (Тоесть через 465 порт).

auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}} не катит

Помогите, пожалуйста....
Автор: vlary
Дата сообщения: 15.06.2011 21:10
glesando
Цитата:
Расскажите пожалуйста как можно сделать так, чтобы через почтовые программы пользователи могли авторизоваться только через SSL/TLS?
Ну, я бы навскидку сделал так. В acl_smtp_from, если почта с локального домена, устроил бы проверку на то, что имеет место быть защищенное соединение. Если нет - пинка. под зад..
Так же можно это проверять при попытке авторизации.

Автор: glesando
Дата сообщения: 15.06.2011 21:54
>Так же можно это проверять при попытке авторизации.

А можно поподробнее... Как это можно сделать?
Автор: Alukardd
Дата сообщения: 15.06.2011 23:25
glesando
Во первых думаю можно чем-то типа такого:
В acl_check_rcpt добавляем
deny
message = Must use TLS/SSL.
condition = ${if and {{eq {$interface_port}{25}}{!eq {$sender_host_address}{"127.0.0.1"}}{!eq {$sender_host_address}{"your_server_external_adderss"}}}{true}{false}}
Вроде так...

Ну или если по простому, то запретить в фаерволе коннект на 25 порт)))
Автор: glesando
Дата сообщения: 15.06.2011 23:30
Понимаете, задача в том, чтобы 25 порт принимал, но только не от юзеров через почтовые программы. Если я правильно понимаю, почтовые сервера то обмениваются на 25 порте.

Если я некоректно выразился, простите. Уточните, что непонятно.

P.S. Спасибо за помощь
Автор: vlary
Дата сообщения: 15.06.2011 23:34
glesando
Цитата:
А можно поподробнее...
Думать совсем не хочется?
Ну, например:
ваши домены - company1.ru , company2.ru

Код:
acl_smtp_mail = acl_check_from
.................
acl_check_from:
deny
message="Use SSL port!"
senders = *@company1.ru : *@company2.ru
condition = ${if eq {$received_port}{25}}
............................
Автор: glesando
Дата сообщения: 15.06.2011 23:46
Простите, я, если честно, новичек. Хоть и думал, но непридумал
Спасибо большое, я попробую...

Страницы: 123456789101112131415161718192021

Предыдущая тема: Посоветуйте девайс для орг-ии VPN


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.