Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Exim MTA #2

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Открыть новую тему     Написать ответ в эту тему

ShriEkeR



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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 с поддержкой виртуальных аккаунтов.
Внимательно читаем здесь © ginger
-=-=-=-
Улучшенный вариант части 1: Exim-4.50 + MySQL © ginger
-=-=-=-
Так как Tpop3d не совместим с MS Outlook Express 6, а также не поддерживает IMAP, автор рекомендует его заменить на Dovecot. Изменения, которые нужно сделать cмотрим здесь © ginger
-=-=-=-
Еще один вариант установки © Wombat
-=-=-=-
Exim+Courier-Imap+MySQL+ClamAV+DSPAM+SquirrelMail © Павел Семенец Искать по ctrl+F=Павел Семенец
-=-=-=-
Опции для сборки exim из портов (FreeBSD) © tankistua
 
Уважаемые коллеги!
 
Нам очень дороги ваши конфиги и логи на несколько страниц, но, поверьте, их гораздо приятнее читать когда они заключены в тэг more.

Всего записей: 6382 | Зарегистр. 27-09-2004 | Отправлено: 18:49 16-05-2011 | Исправлено: AkeHayc, 21:09 21-04-2013
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smito1
Цитата:
немного не понял про твои асл  
Да все просто. Сделать можно по разному,  
но я подстраиваю конфиг под свои конкретные задачи.  
Есть у меня люди, которые согласны на любой спам,
только бы не пропустить важное письмо.
И я первым делом проверяю при коннекте наличие имени хоста
в блокированных/ разрешенных доменах и своей базе айпишников.
Если нахожу, выставляю соответствующее значение acl_c0
Далее в acl_check_from пробиваю по базам адрес отправители,
если он там есть, тоже выставляю флажок.
Потом в acl_check_rcpt проверяю, желает ли адресат получать спам.
Если желает, письмо идет  минуя фильтр.
Или есть ли хост / отправитель в белых списках.
То же самое.
Далее обламываю тех, кто в "черных" списках.
А те, которые ни в каких списках не засвечены,
отправляются на сканирование. Если это определяется как спам,
письмо идет в ящик для спама.
Впоследствии этот ящик обрабатывается, и хосты отправителя
заносятся в черный список, дабы не нагружать фильтр.


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17008 | Зарегистр. 13-06-2007 | Отправлено: 16:55 16-09-2016
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да уж)), не просто у тебя всё...
Что то не могу я победить спам с co.ua как только не перебирал твой вариант, все равно приходит спам...

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 18:12 19-09-2016
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smito1
Цитата:
как только не перебирал твой вариант, все равно приходит спам...
Для таких случаев в эксиме есть мощное оружие.
Смотришь в логах, с какого айпи, ХЕЛО, обратного адреса прорвалось к тебе письмо.
Потом делаешь фиктивную сессию с этими данными с помощью команды
exim -bh IP того сервера. И вводишь те данные, что в логе.
После каждой команды смотришь дебаг сессии, какое значение принимают переменные,
и где они приняли не то значение, на которое ты рассчитывал,
и соответственно нужного действия типа дроп или денай не последовало.
Часто бывает, что сначала срабатывает общее правило,
а до частного дело просто не доходит.


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17008 | Зарегистр. 13-06-2007 | Отправлено: 19:23 19-09-2016
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
спасибо за мысль и идею  
 
я немного попроще вариант нашёл на оф. сайте
это вставляем до acl листов
addresslist denysenders = lsearch*@;/etc/exim4/list/denysenders
 
это сразу после acl_check_rcpt
deny message = SPAM !!! rejected, $sender_address is in a black list
senders = +denysenders
 
где в etc/exim4/list/denysenders
*@*.co.ua
 
правда и это не работает, где то и тут накосячил похоже

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 17:23 26-09-2016
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smito1
Цитата:
я немного попроще вариант нашёл на оф. сайте  
Это не проще, это другой вариант.
Мой вариант блочит по имени хоста. Этот блочит по адресу отправителя.
Их можно комбинировать. Хотя ИМХО, блочить спам по адресу отправителя бесполезно,
ибо спамеры обычно используют фиктивные адреса.


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17008 | Зарегистр. 13-06-2007 | Отправлено: 19:17 26-09-2016
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С адресом согласен, много левых адресов, по имени хоста лучше.
Но так и не допёр я как настроить блокировку, слаб я в этих переменных, сделал по другому.
Можно просто написать в spamassassin blacklist_from *@*.co.ua и он сразу 100 баллов накинет, но я перенастроил правила, теперь почти весь спам с баллами выше 10 выкидывается, всё что от 6 до 10 уходит на ящик spam@domen.ru, там в основном рассылки всякие, ничего полезного, а нормальные письма ходят куда нужно...
Нужно конечно наблюдать и допиливать, но это вариант не сильно подходит на высоко нагруженные сервера, говорят spamassassin сильно грузит сервера, хотя у меня он висит на виртуалке на debian и всегда 0-1% cpu и 2гб памяти
вот примерно за день отправлено
 Volume                                Messages
  remote_smtp          501MB         860
 
как посмотреть принято не знаю), поищу завтра.
 

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 18:15 28-09-2016
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smito1
Цитата:
Нужно конечно наблюдать и допиливать
"Пилите, Шура, пилите, они золотые!" (с)
Можно конечно и spamassassin подключить к этому, я так и сделал,
но предварительно сильно облегчил его задачу акцесс-листами Эксима.
Про проверку / дебаг отработки акцесс-листов я уже писал.
Про нагрузку процессора ассассином знаю, письма с большими аттачами
лучше пускать мимо него, некоторые фильтры грузят процесс.
Тоже пришлось допиливать его, сейчас вроде работает нормально,
не виснет сам и не вешает процессор.

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17008 | Зарегистр. 13-06-2007 | Отправлено: 22:05 28-09-2016
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня есть один вопрос, от одного нашего партнёра бывает вот такая вот ерунда, причём не всегда, но часто
 
DKIM: d=studio.onmicrosoft.com s=selector1-studio-ru c=relaxed/relaxed a=rsa-sha256 [verification failed - body hash mismatch (body probably modified in transit)]
 
DKIM test FAIL (address=taras@studio.ru domain=studio.onmicrosoft.com), fail signature.
H=mail-eopbgr00074.outbound.protection.outlook.com (EUR02-AM5-obe.outbound.protection.outlook.com)  
[40.107.0.74] I=[10.0.1.5]:25 rejected DKIM : Wrong DKIM signature
H=mail-eopbgr00074.outbound.protection.outlook.com (EUR02-AM5-obe.outbound.protection.outlook.com) [40.107.0.74] I=[10.0.1.5]:25 rejected DKIM : Wrong DKIM
 
Если погуглить body probably modified in transit, можно найти ответ
 
No, those warnings are mostly related to mailing list managers who  
modify the body (to add a signature) or who modify some of the signed  
headers, this breaking the DKIM signature.
 
мои правила
acl_smtp_rcpt = acl_check_rcpt принимает
acl_smtp_data = acl_check_data проверяет
acl_smtp_dkim = acl_check_dkim
 
в самом начале acl_check_rcpt у меня исключения
#White LIST
accept senders = /etc/exim4/list/whitelistsaddress
 
#White list domen
accept sender_domains  = /etc/exim4/list/trustdomains
 
где в первом ящики  
billing@caravan.ru
 
во втором домены
caravan.ru
 
acl_check_dkim
# Отклоняем письма, содержащие DKIM-подпись, если она fail
#deny message     = Wrong DKIM signature
 #sender_domains  = +dkim_required_domains
 #dkim_status     = fail
 #add_header      = :at_start:Authentication-Results-DKIM: mx.domen.ru, header.i=$dkim_cur_signer ($dkim_verify_status); reason=$dkim_verify_reason
 #logwrite        = DKIM test FAIL (address=$sender_address domain=$dkim_cur_signer), fail signature.
 
Все эти правила работают кроме нашего партнёра
Вносил списки партнёров и в ящики и в домены вида и все равно проверяется DKIM
studio.ru
studio.onmicrosoft.com
 
 
Где то я что то упустил?  
 
 
 
 
 
 

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 12:35 29-09-2016 | Исправлено: Smito1, 12:48 29-09-2016
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smito1
Цитата:
Где то я что то упустил?  
acl_check_dkim выполняется уже после приема письма.
Т.е. идет после acl_check_data. Тот факт, что письмо прошло все предыдущие
акцесс-листы, не влияет никак. Значит, ты должен ранее как-то пометить сессию,
чтобы потом исключить письмо из проверки по DKIM. Типа так:
acl_check_rcpt:
................
accept senders = /etc/exim4/list/whitelistsaddress
 set acl_c1 = 1
......................
acl_check_dkim:
 accept  
   condition   = ${if eq {$acl_c1}{1}}  
deny  
  бла-бла-бла
.......
  accept  
 


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17008 | Зарегистр. 13-06-2007 | Отправлено: 14:50 29-09-2016
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, смысл понял.
 
Надеюсь последний вопрос.
После настройки правил сутки сервер проработал без проблем.
Потом появились паник сообщения ехим
В логе одно и тоже
2016-09-29 16:40:04 1bpbRT-0000V1-FO spam acl condition: error reading from spamd socket: Connection timed out
2016-09-29 16:42:05 1bpbRT-0000V1-FO spam acl condition: error reading from spamd socket: Connection timed out
 
H=ip4.tehnosila-info.ru [173.195.146.17] I=[10.0.1.5]:25 Warning: ACL "warn" statement skipped: condition test deferred
H=ip4.tehnosila-info.ru [173.195.146.17] I=[10.0.1.5]:25 F=<1200=a45408e8-1288-4914-aa96-0ec76253e484=106=3732127@e.tehnosila-info.ru> temporarily rejected after DATA
 
и если я правильно понял, ошибки идут только от сообщения техносилы и всё, как будто оно подвисло  
 
При этом, с остальными письмами проблем нет, всё ходит и уходит без проблем и проверяется
root      1121  0.3  4.8 264516 196036 ?       Ss   15:41   0:06 /usr/sbin/spamd -d --pidfile=/var/run/spamassassin.pid --create-prefs --max-children 8 --username spamd --helper-home-dir -x --virtual-config-dir=/progi/.spamassassin -s /var/log/spamd.log
spamd     1122 48.5  7.1 364428 290856 ?       R    15:42  15:38 spamd child
spamd     1123 30.9  5.1 275952 207520 ?       R    15:42   9:59 spamd child
root      1609  0.0  0.0  12756  2164 pts/1    S+   16:14   0:00 grep spamd
 
 
 
 
Сервер не нагружен, писем идёт немного, что ему не нравиться то?

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 16:41 29-09-2016 | Исправлено: Smito1, 17:17 29-09-2016
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smito1
Да, я на такое нарывался. Какое-нибудь письмо вешает ассассин,
он перестает отвечать. Соответственно письма, требующие сканирования,
перестают проходить. Играл с размерами писем, количеством "детей", тайм-аутами,
отключал наиболее прожорливые фильтры.  
Сейчас вроде уже несколько месяцев работает без зависания.


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17008 | Зарегистр. 13-06-2007 | Отправлено: 17:14 29-09-2016
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary Глюк?)
 
В том то и дело он даёт ошибку только на этом письме, остальное вроде всё ходит...
Как его удалить?
 
exim -Mrm 1bpc4H-0000hL-Rq
Spool read error for 1bpc4H-0000hL-Rq-H: No such file or directory
Continuing to ensure all files removed
Message 1bpc4H-0000hL-Rq has been removed
 
А он продолжает  
2016-09-29 17:22:11 1bpc4H-0000hL-Rq spam acl condition: error reading from spamd socket: Connection timed out
 
Потом появляется то же самое письмо под другим ид и история продолжается, как же его грохнуть?  
 
 
удалил тут var\spool\exim4\scan через 10 минут опять опявился
 
 
ААА, да что же такое, как его убить то?))))
 
 
 

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 17:23 29-09-2016 | Исправлено: Smito1, 18:50 29-09-2016
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сегодня ещё сообщение залипло
 
Sep 30 12:24:46 relay2 exim[7825]: 1bpu1k-00022D-SJ spam acl condition: error reading from spamd socket: Connection timed out
Sep 30 12:24:46 relay2 exim[7825]: 1bpu1k-00022D-SJ spam acl condition: error reading from spamd socket: Connection timed out
Sep 30 12:24:46 relay2 exim[7825]: 1bpu1k-00022D-SJ H=mta3.mail.hotels.com [66.231.92.98] I=[10.0.1.5]:25 Warning: ACL "warn" statement skipped: condition test deferred
Sep 30 12:32:46 relay2 exim[7825]: 1bpu1k-00022D-SJ spam acl condition: error reading from spamd socket: Connection timed out
Sep 30 12:32:46 relay2 exim[7825]: 1bpu1k-00022D-SJ spam acl condition: error reading from spamd socket: Connection timed out
Sep 30 12:32:46 relay2 exim[7825]: 1bpu1k-00022D-SJ H=mta3.mail.hotels.com [66.231.92.98] I=[10.0.1.5]:25 Warning: ACL "warn" statement skipped: condition test deferred
 
 
Похоже это из за правила которые нашёл в интернете и под себя подредактировал 99_wentor.cf
 
Когда отключил его и пошло
 
DKIM: d=mail.hotels.com s=200608 c=relaxed/relaxed a=rsa-sha1 i=confirmation@mail.hotels.com [verification succeeded]
2016-09-30 18:36:55 1bpzrp-0003UJ-D7 DKIM test PASS (address=bounce-19_HTML-106733-39-10915365-26870@bounce.mail.hotels.com domain=mail.hotels.com), good signature.
2016-09-30 18:36:55 1bpzrp-0003UJ-D7 DKIM test PASS (address=bounce-19_HTML-106733-39-10915365-26870@bounce.mail.hotels.com domain=confirmation@mail.hotels.com), good signature.
2016-09-30 18:36:58 1bpzrp-0003UJ-D7 SA: Debug: SAEximRunCond expand returned: 'true'
2016-09-30 18:36:58 1bpzrp-0003UJ-D7 SA: Debug: check succeeded, running spamc
2016-09-30 18:37:00 1bpzrp-0003UJ-D7 SA: Action: scanned but message isn't spam: score=-5.2 required=8.0  
 
 
Обидно, очень хорошее правило... Надо будет его немного подсократить и может пойдёт дело  

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 13:13 30-09-2016 | Исправлено: Smito1, 18:40 30-09-2016
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго.
 
 
Можно как-то модифицировать переменные отличные от acl_c и acl_m. Хочу изменить spam_score...?

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6397 | Зарегистр. 28-08-2008 | Отправлено: 01:26 01-10-2016 | Исправлено: Alukardd, 02:07 01-10-2016
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
Цитата:
Хочу изменить spam_score...?
Это не же цель, а предполагаемый способ. Цель-то какая?  
Значение этих переменных формирует ассассин. Может, там лучше что-то подкрутить?


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17008 | Зарегистр. 13-06-2007 | Отправлено: 16:32 03-10-2016
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
Цитата:
Значение этих переменных формирует ассассин. Может, там лучше что-то подкрутить?  
может и лучше, это был план "б", а план "а, состоял, что бы сделать это через Exim.
 
Честно хз где это лучше делать.
Цель была накидывать очки спама за то, что h_from не соответствует домену отправителя. В exim'е собирался решать это так:
Код:
 warn
    !condition = ${if def:h_from:\
                        {${if match_domain\
                                {${domain:$h_from}}\
                                {${domain:$h_envelop-from:}}\
                                  {yes}{no}\
                            }\
                        }\
                        {no}\
                  }
    set spam_score_int = ${eval10:$spam_score_int + 50}


----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6397 | Зарегистр. 28-08-2008 | Отправлено: 18:26 03-10-2016
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
Цитата:
Цель была накидывать очки спама за то, что h_from не соответствует домену отправителя.
По-моему, это один из стандартных тестов ассассина
72_scores.cf:  HEADER_FROM_DIFFERENT_DOMAINS         0.001 0.001 0.001 0.001
72_active.cf:  score    HEADER_FROM_DIFFERENT_DOMAINS 0.25  
describe HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different
Если не устраивает величина 0.25, можно добавить или убавить.

----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17008 | Зарегистр. 13-06-2007 | Отправлено: 22:42 03-10-2016
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlary
надо проверить, мне казалось, что он не совсем те поля сравнивает.

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6397 | Зарегистр. 28-08-2008 | Отправлено: 02:16 04-10-2016
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
Цитата:
надо проверить, мне казалось, что он не совсем те поля сравнивает.
А что там может быть, связанное с доменом отправителя?
1. $sender_host_name
2. $sender_address (параметр команды MAIL FROM:  )
3. $reply_address (из заголовков Reply-To:, если он есть, или из From:  )
Первое совершенно не обязано быть как-то связанным с почтовым доменом.
Иначе отсеем всех, кто хостит почту на Гугле и Яндексе.
Здесь лучше делать проверку по SPF.
А вот второе и третье именно то, что подразумевалось.
 


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17008 | Зарегистр. 13-06-2007 | Отправлено: 11:11 04-10-2016 | Исправлено: vlary, 11:12 04-10-2016
Smito1



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые, а у кого есть опыт использования fail2ban + exim?
Хочу банить негодяев всяких что бы не напрягали сервер, но ничего не происходит)
добавил в jail.conf
[exim]
enabled = true
filter = exim
port = smtp,ssmtp
action = iptables-allports[name=exim, protocol=tcp]
logpath = /var/log/mail.info
maxretry = 2
bantime = 7200
findtime = 7200
 
Да уж с регулярными выражениями языка Питон я не силён), точнее вообще 0  
но
 
fail2ban-regex /var/log/exim4/main-20161013.log /etc/fail2ban/filter.d/exim.conf
 
Results
=======
 
Failregex: 139 total
|- #) [# of hits] regular expression
| 1) [139] ^\s*SMTP protocol error in "AUTH LOGIN(| \S*)" H=\(\S*\) \[<HOST>\] I=\[\S*\]\:\d+ AUTH command used when not advertised\s*$
`-
 
Lines: 4967 lines, 0 ignored, 139 matched, 4828 missed
 
fail2ban-client status exim
Status for the jail: exim
|- filter
| |- File list: /var/log/exim4/main-20161013.log
| |- Currently failed: 0
| `- Total failed: 0
`- action
|- Currently banned: 0
| `- IP list:
`- Total banned: 0  
 
 

Всего записей: 373 | Зарегистр. 19-12-2006 | Отправлено: 17:36 12-10-2016 | Исправлено: Smito1, 17:29 13-10-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FAQ по Exim MTA #2


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru