alibek Опубликовано 28 февраля, 2018 · Жалоба На сервере настроил exim. Для отправки используется учетная запись auto@domain.ru. В файле /etc/email-addresses добавлена строчка: root: auto@domain.ru При отправке тестового сообщения (из под рута) письмо приходит от следующего адресата: "root <auto@domain.ru>". Я бы хотел, чтобы почта приходила от такого адресата: "Робот <auto@prov.domain.ru>". В принципе в файле email-addresses можно указать auto@prov.domain.ru, но это не заменит текстовую часть в адресе (то есть отправитель будет по прежнему называться "root", а не "Робот"). А кроме того у меня есть дополнительные хотелки — я хочу в такие письма автоматически добавлять заголовки, то есть изначально в письме должны быть прописаны следующие заголовки: sender: auto@domain.ru from: Робот <auto@prov.domain.ru> reply-to: Робот <auto@prov.domain.ru> cc: copy@prov.domain.ru Можно ли это сделать с помощью exim? И желательно не с помощью правил rewrite (уж очень у них синтаксис сложный, да и нельзя с их помощью добавить несуществующий заголовок), а как шаблон письма по умолчанию. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 28 февраля, 2018 · Жалоба Что-то не выходит каменный цветок. Пробовал добавить заголовки через headers_add — не подходит, в письме тогда получается два заголовка from и почтовик его блокирует. Пробовал через rewrite, добавил такие правила: ^auto@domain\.ru "=?UTF-8?...?= <auto@prov.domain.ru>" SFfrw ^auto@prov\.domain\.ru "=?UTF-8?...?= <auto@prov.domain.ru>" SFfrw При тестах (exim -brw auto@domain.ru) вроде бы все правильно, но тестовые письма приходят от "root <auto@domain.ru>". Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 28 февраля, 2018 · Жалоба Получилось так: ^.* "=?UTF-8?...?= <auto@prov.domain.ru>" SFfw Подозреваю, что это криво, но работает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 1 марта, 2018 · Жалоба Что-то вообще не могу понять логику rewrite у exim. Я хочу сделать так, чтобы все исходящие письма автоматически подписывались как "Робот <auto@prov.domain.ru>", за исключением писем, в которых вручную задается заголовок from (например "from: auto+site@prov.domain.ru" не должен изменяться). Делаю так: В файле /etc/email-addresses есть строчка: root: auto@prov.domain.ru В конфигурации есть такой фрагмент: ^<auto@prov.domain.ru>\$ "=?UTF-8?...?= <auto@prov.domain.ru>" SFfwq Тестирую — заголовок вообще не обрабатывается, письмо подписано как "root <auto@prov.domain.ru>". В режиме отладки так же ничего не понятно: root@srv-svc03:/etc/exim4# exim -d -brw auto@prov.domain.ru Exim version 4.80 uid=0 gid=0 pid=6361 D=fbb95cfd Berkeley DB: Berkeley DB 5.1.29: (October 25, 2011) Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch nis nis0 passwd Authenticators: cram_md5 plaintext Routers: accept dnslookup ipliteral manualroute queryprogram redirect Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp Fixed never_users: 0 Size of off_t: 8 Compiler: GCC [4.7.2] Library version: GnuTLS: Compile: 2.12.20 Runtime: 2.12.20 Library version: PCRE: Compile: 8.30 Runtime: 8.30 2012-02-04 Total 13 lookups WHITELIST_D_MACROS: "OUTGOING" TRUSTED_CONFIG_LIST: "/etc/exim4/trusted_configs" changed uid/gid: forcing real = effective uid=0 gid=0 pid=6361 auxiliary group list: <none> seeking password data for user "uucp": cache not available getpwnam() succeeded uid=10 gid=10 changed uid/gid: calling tls_validate_require_cipher uid=101 gid=103 pid=6362 auxiliary group list: <none> tls_validate_require_cipher child 6362 ended: status=0x0 configuration file is /var/lib/exim4/config.autogenerated log selectors = 00000ffc 00612001 cwd=/etc/exim4 4 args: exim -d -brw auto@prov.domain.ru trusted user admin user changed uid/gid: privilege not needed uid=101 gid=103 pid=6361 auxiliary group list: 103 seeking password data for user "mail": cache not available getpwnam() succeeded uid=8 gid=8 user name "root" extracted from gecos field "root" originator: uid=0 gid=0 login=root name=root address match: subject=auto@prov.domain.ru pattern=*@+local_domains prov.domain.ru in "@:localhost:server"? no (end of list) prov.domain.ru in "+local_domains"? no (end of list) auto@prov.domain.ru in "*@+local_domains"? no (end of list) address match: subject=auto@prov.domain.ru pattern=*@prov.domain.ru prov.domain.ru in "prov.domain.ru"? yes (matched "prov.domain.ru") auto@prov.domain.ru in "*@prov.domain.ru"? yes (matched "*@prov.domain.ru") search_open: lsearch "/etc/email-addresses" search_find: file="/etc/email-addresses" key="auto" partial=-1 affix=NULL starflags=0 LRU list: 7/etc/email-addresses End internal_search_find: file="/etc/email-addresses" type=lsearch key="auto" file lookup required for auto in /etc/email-addresses lookup failed sender: auto@prov.domain.ru address match: subject=auto@prov.domain.ru pattern=^<auto@prov.domain.ru>$ auto@prov.domain.ru in "^<auto@prov.domain.ru>$"? no (end of list) address match: subject=auto@prov.domain.ru pattern=*@+local_domains prov.domain.ru in "@:localhost:server"? no (end of list) prov.domain.ru in "+local_domains"? no (end of list) auto@prov.domain.ru in "*@+local_domains"? no (end of list) address match: subject=auto@prov.domain.ru pattern=*@prov.domain.ru prov.domain.ru in "prov.domain.ru"? yes (matched "prov.domain.ru") auto@prov.domain.ru in "*@prov.domain.ru"? yes (matched "*@prov.domain.ru") search_open: lsearch "/etc/email-addresses" cached open search_find: file="/etc/email-addresses" key="auto" partial=-1 affix=NULL starflags=0 LRU list: 7/etc/email-addresses End internal_search_find: file="/etc/email-addresses" type=lsearch key="auto" cached data used for lookup of auto in /etc/email-addresses lookup failed from: auto@prov.domain.ru to: auto@prov.domain.ru cc: auto@prov.domain.ru bcc: auto@prov.domain.ru address match: subject=auto@prov.domain.ru pattern=*@+local_domains prov.domain.ru in "@:localhost:server"? no (end of list) prov.domain.ru in "+local_domains"? no (end of list) auto@prov.domain.ru in "*@+local_domains"? no (end of list) address match: subject=auto@prov.domain.ru pattern=*@prov.domain.ru prov.domain.ru in "prov.domain.ru"? yes (matched "prov.domain.ru") auto@prov.domain.ru in "*@prov.domain.ru"? yes (matched "*@prov.domain.ru") search_open: lsearch "/etc/email-addresses" cached open search_find: file="/etc/email-addresses" key="auto" partial=-1 affix=NULL starflags=0 LRU list: 7/etc/email-addresses End internal_search_find: file="/etc/email-addresses" type=lsearch key="auto" cached data used for lookup of auto in /etc/email-addresses lookup failed reply-to: auto@prov.domain.ru address match: subject=auto@prov.domain.ru pattern=^<auto@prov.domain.ru>$ auto@prov.domain.ru in "^<auto@prov.domain.ru>$"? no (end of list) address match: subject=auto@prov.domain.ru pattern=*@+local_domains prov.domain.ru in "@:localhost:server"? no (end of list) prov.domain.ru in "+local_domains"? no (end of list) auto@prov.domain.ru in "*@+local_domains"? no (end of list) address match: subject=auto@prov.domain.ru pattern=*@prov.domain.ru prov.domain.ru in "prov.domain.ru"? yes (matched "prov.domain.ru") auto@prov.domain.ru in "*@prov.domain.ru"? yes (matched "*@prov.domain.ru") search_open: lsearch "/etc/email-addresses" cached open search_find: file="/etc/email-addresses" key="auto" partial=-1 affix=NULL starflags=0 LRU list: 7/etc/email-addresses End internal_search_find: file="/etc/email-addresses" type=lsearch key="auto" cached data used for lookup of auto in /etc/email-addresses lookup failed env-from: auto@prov.domain.ru env-to: auto@prov.domain.ru search_tidyup called >>>>>>>>>>>>>>>> Exim pid=6361 terminating with rc=0 >>>>>>>>>>>>>>>> В каком виде строка вообще поступает в правило rewrite? С дописанным доменом из /etc/mailname? Замененное строкой из /etc/email-addresses? С дописанным текстом по RFC-2822? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 1 марта, 2018 · Жалоба Разобрался. exim явно разрабатывали марсиане, какая-то у него нечеловеческая логика. Похожие ощущения у меня были, когда я запускал службу на Erlang. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
snvoronkov Опубликовано 1 марта, 2018 · Жалоба 28 минут назад, alibek сказал: exim явно разрабатывали марсиане, какая-то у него нечеловеческая логика. :-)))) Вот именно поэтому первое, что я делаю в дебьяне - меняю ЭТО на (sendmail|postfix). P.S.: А я уж думал, что только у меня такие проблемы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GHhost Опубликовано 1 марта, 2018 · Жалоба если exim на марсе то тогда sendmail в аду чтоли? просто exim очень гибкий:) настолько гибкий что на его встроенных аклах умудрялись писать реализацию spf когда нативной еще небыло в нем, а за такое приходица платить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 1 марта, 2018 · Жалоба sendmail я использовал лет 15+ назад юным падаваном в режиме "скопировать строку, изменить несколько символов". Поэтому за него ничего сказать не могу, но чем-то непознаваемым его конфиг не выглядел. Конфиг postfix достаточно логичен и за пару дней в нем вполне можно разобраться. У exim конфиг слишком самобытен и неочевиден. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GHhost Опубликовано 1 марта, 2018 · Жалоба у меня sendmail жил гдето до начала 2000 годов, потом как его начали активно ломать по 3 раза на неделе пришлось его заменить, но тот ад и израиль с M4 я досих пор помню:) и "У exim конфиг слишком самобытен и неочевиден." это фигня:) Круче сендмейла у меня только был какой то маршрутизатор NSG, у которого команды были вида буква:цифра 2буквы:цифра, и подробный мануал к нему с етими ка***ми на ~400 страниц:) Так что не все так плохо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
snvoronkov Опубликовано 1 марта, 2018 · Жалоба 1 час назад, GHhost сказал: у меня sendmail жил гдето до начала 2000 годов, потом как его начали активно ломать по 3 раза на неделе пришлось его заменить, но тот ад и израиль с M4 я досих пор помню:) Ой, да ладно! Всего-то 4-е дыры за 2003-й и две в 2006-м. :-) Кстати, в отличие от exim, уже тогда ставился изначально прилично настроенным. А любителей exim "искаропки" приходилось все время "мордом по гуглу" возить чтобы дыры заткнули. Кстати, а чего не нравится в m4? Конфиг как конфиг. Со своими заморочками, но достаточно гибкий. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GHhost Опубликовано 1 марта, 2018 · Жалоба на моей памяти этих дыр было значительно больше и их реально эксплуатировали вдобавок, просыпаешся утром а там ой - спам рассылаем или фсе сломали, ну рас сломали 2 сломали 3 сломали скока можно то, даунтаймы стали перевешивать все преимущества, потому и пришлось переехать на exim, в то время еще 3, который казался немного убогим конечно после мощи сендмейла, но зато его никто не ломали:) не уверен точно но это было чуток пораньше 2003 года. В m4 не нравица собсно наличие m4, зачем он нужен? По поводу гибкости тут это бесспорно конечно, sendmail в то время не имел практически равноценных альтернатив в этом плане, поэтому мирились со всеми граблями и дырами, сколько могли. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
snvoronkov Опубликовано 1 марта, 2018 · Жалоба 17 минут назад, GHhost сказал: на моей памяти этих дыр было значительно больше и их реально эксплуатировали вдобавок, просыпаешся утром а там ой - спам рассылаем или фсе сломали, ну рас сломали 2 сломали 3 сломали скока можно то, даунтаймы стали перевешивать все преимущества, потому и пришлось переехать на exim, в то время еще 3, который казался немного убогим конечно после мощи сендмейла, но зато его никто не ломали:) не уверен точно но это было чуток пораньше 2003 года. Я тут смотрел: https://www.freebsd.org/security/advisories.html Ну и... Что-то как-то не ломали. :-) Вообще ни разу. Основной почтовый сервак как-раз на сендмыле и вертится. Ну а мелкие MTA - где чего придется. Вот только не помню в каком году у меня сендмыло полезными мильтерами обросло. Может и раньше этих эпических дыр... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GHhost Опубликовано 1 марта, 2018 · Жалоба Повезло тебе может, не имел критической массы и мимо прошло. Мильтерами оно обрастает сразу же, если это нормальный публичный сервис а не какиенить рога с капытами. https://www.freebsd.org/security/advisories.html это явно какаято хрень, https://www.cvedetails.com/vendor/31/Sendmail.html тут кстати тоже почемуто, и они не совпадают, 2000 года вообще нет, но почемуто есть вот к примеру вот это https://www.cvedetails.com/cve/CVE-2000-0319/ за 2000 год, а реально там было все очень плохо одно время. явно не все там учтено у них и у бсдэшников тоже. Сдается мне что на многие дыры они CVE просто не заводили. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
snvoronkov Опубликовано 1 марта, 2018 · Жалоба https://securityvulns.ru/search/news.asp?keyword=sendmail&start=01.03.2000&end=01.03.2018&x=0&y=0 Вот. Нашел альтернативный взгляд на реальность от 3apa3a. Как раз его в то время и использовал как оперативный источник. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 5 марта, 2018 · Жалоба Подскажите, как правильно настроить на exim удостоверение подлинности отправителя? Почтовая зона у меня обслуживается Gmail, в зоне добавлены записи SPF и DKIM (из гугловской инструкции). Если отправить письмо через веб-интерфейс или по SMTP на почтовый ящик @yandex.ru, то такое письмо отмечается зеленым замком, Яндекс подтверждает его подлинность (отправитель подтвержден и проверен). Если отправляю письмо через MTA, то письмо помечается серым значком (отправитель подтвержден, но не проверен). При этом в обоих письмах есть DKIM-Signature. Хотелось бы добиться зеленого значка в обоих вариантах. Я пробовал добавить свой собственный закрытый ключ и отдельный селектор для DKIM, но что-то результата не дало. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GHhost Опубликовано 6 марта, 2018 · Жалоба С такими вводными боюсь без телепатов никак. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...