|
|
3.21, Аноним (-), 04:01, 26/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
Смешно, что sendmail скриптами 10-томными не компилируется (дебиан).
| |
3.25, PnDx (ok), 11:43, 26/12/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
Он (Debian) таки не выставляет "из коробки" релэить 25 порт, как когда-то для sendmail делали.
Так что, считали более-менее настроенные почтовики. Exim идёт туда, где нужно что-то сделать с письмом по дороге, отличное от предусмотренного авторами postfix и парой рабочих милтеров к нему (утрирую, но слегка). Как показала статистика, даже с учётом достаточно популярных zimbra|open-xchange postfix не добирает.
| |
|
4.27, Аноним (-), 14:09, 26/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
И всё-же проще настраивать и поддерживать идущий из коробки вариант, когда первый раз настраивал на vds-ке именно из-за этого было отдано предпочтение exim-у, так и работает годами, только смотришь изменения в файлах настройки и правишь под новые ограничения крупных мэйл-площадок
| |
|
5.30, PnDx (ok), 16:00, 26/12/2016 [^] [^^] [^^^] [ответить]
| +2 +/– |
"Врождённая дырявость" exim (поработав в своё время с sendmail'ом я теперь не так категоричен) против врождённого отсутствия функционала в postfix. (Или не менее дырявых милтеров, вспомните тот же dkim.) Тут кому как.
Мне вот в своё время оказалось проще написать N функций на перле и воткнуть в exim. На выходе получилась система операторского уровня с кучей "плюшек" по маршрутизации (внизу для этого постгресные реляции, так что рулится "на лету"). И отсутствием комплейнов "by design". Крутится себе на нескольких площадках, каши не просит * заодно и похвастался.
Можно так с postfix? В приципе, да. Милтер на дедуп рассылок, милтер на грейлист, милтер на dkim, милтер на всякий свитчинг по контенту, милтер на… Ну, Вы поняли.
| |
|
6.32, Michael Shigorin (ok), 16:35, 26/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
> Мне вот в своё время оказалось проще написать N функций на перле
> и воткнуть в exim. На выходе получилась система операторского уровня с
> кучей "плюшек" по маршрутизации
О чём и речь, что таких явно не пол-интернета надо.
PS: кто-нить знает, дебианщики с ручника по этому поводу вообще собираются сниматься? Потому как заведомо проблемный дефолт, который для обоснованного применения требует нетривиального рукоприкладства -- обычно большая глупость. Даже странно как-то.
| |
6.34, vstakhov (ok), 18:09, 26/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
*Пожимая плечами* Или Rspamd + Rmilter для всего этого. Но можно и 10 мильтров или систему из говна и палок на Exim, да.
| |
|
7.35, PnDx (ok), 18:32, 26/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
> *Пожимая плечами* Или Rspamd + Rmilter для всего этого. Но можно и
https://github.com/vstakhov/rmilter ? Поздравляю. 9 лет труда и X человеко-часов от N комитеров. Выглядит солидно. Но: незакрытые ошибки в dkim (это я краем глаза глянул). Что неудивительно, протокол явно переусложнён, судя по багам в известных мне реализациях (+2 от rmilter)
Но это скорее конкурент Зимбре&C°. У оператора (если он не РТК :) задача *не* фильтровать спам (т.к. Закон о связи), но и пропускать как есть что-то нет желания. Отсюда всякие нюансы, которые дешевле реализовать на exim (в т.ч. время разработчика и время cpu на протаскивание 1 сообщения).
| |
|
|
|
4.29, Michael Shigorin (ok), 15:38, 26/12/2016 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Так что, считали более-менее настроенные почтовики.
Хорошо бы.
> Exim идёт туда, где нужно что-то сделать с письмом по дороге, отличное от
> предусмотренного авторами postfix и парой рабочих милтеров к нему (утрирую, но слегка).
Мой личный вопрос -- зачем вообще применять exim где-либо, кроме особо извратных хабов с соответствующей маршрутизацией (по сути единственная разумная ниша пошлипочта в последнее время)... т.е. там, где за эту его врождённую дырявость есть хоть какой-то смысл платить повышенными вниманием*квалификацией.
| |
|
|
2.4, vantoo (ok), 23:07, 25/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
Действительно хороший почтовик с понятным конфигом и широкими возможностями.
| |
2.6, KonstantinB (ok), 23:33, 25/12/2016 [^] [^^] [^^^] [ответить]
| +3 +/– |
В нем достаточно "низкоуровневая" конфигурация с возможностями программирования, для нестандартных задач подходит идеально. Да и со стандартными отлично справляется. Хотя для стандартных задач разницы между exim и postfix практически никакой.
| |
2.19, all_glory_to_the_hypnotoad (ok), 02:41, 26/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
Ага, как видишь, это г. архитектурное решето
> уязвимость, которая позволяет через выполнение действий под идентификатором пользователя почтового сервера Exim, получить доступ в root shell через манипуляцию с символическими ссылками в директории со спулом сообщений
а так хорошо оно выехало в топ из-за пропихивания дефолтным mta в debian
| |
|
1.8, Ilya Indigo (ok), 00:42, 26/12/2016 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Ответ на #6
> Хотя для стандартных задач разницы между exim и postfix практически никакой.
Вот и я не вижу что полезного для меня умеет exim, что не умела бы связка postfix/dovecot. Возможно мне не приходилась сталкиваться с нестандартными почтовыми задачами и надеюсь никогда не придётся. :-)
А пока postfix/dovecot, делают почти всё что мне нужно.
Разве что не удалось настроить аутентификацию по ключу и/или паролю, точнее я ожидал, что она будет работать как в ssh, есть публичный, пускает по ключу; нет ключа, но есть пароль, пускает по паролю, нету ничего - гуляй Вася.
А dovecot умеет только чтобы все или и сертификат и пароль предоставляли, или все предоставляли только сертификат, а пароль записывается пустой, и парольная аутентификация не возможна. Но это косяк dovecot.
| |
|
2.9, Sw00p aka Jerom (?), 01:22, 26/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
>>А dovecot умеет только чтобы все или и сертификат и пароль предоставляли, или все предоставляли только сертификат, а пароль записывается пустой, и парольная аутентификация не возможна. Но это косяк dovecot.
http://wiki.dovecot.org/Variables
%k - cert "valid" if client had sent a valid client certificate, otherwise empty.
думаю можно эту переменную как то пихнуть в sql запрос на проверку пароля и пускать либо по паролю либо по ключу. Нужно поэкспериментировать.
ps: по-моему всё сводится к стандарту протокола имап или поп3, там нуно полюбэ пройти авторизацию (хоть с пустой строкой), поправьте если ошибаюсь.
| |
|
3.14, Ilya Indigo (ok), 01:57, 26/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
>>>А dovecot умеет только чтобы все или и сертификат и пароль предоставляли, или все предоставляли только сертификат, а пароль записывается пустой, и парольная аутентификация не возможна. Но это косяк dovecot.
> http://wiki.dovecot.org/Variables
> %k - cert "valid" if client had sent a valid client certificate,
> otherwise empty.
Большое спасибо за наводку, попробую у себя на сервере как-то провнернуть.
Правда у меня не sql а passwd-file и мне не совсем понятно, где и когда проверять на %k
> ps: по-моему всё сводится к стандарту протокола имап или поп3, там нуно
> полюбэ пройти авторизацию (хоть с пустой строкой), поправьте если ошибаюсь.
К сожалению, в этих протоколах я не силён, возможно и так.
| |
|
2.11, Sw00p aka Jerom (?), 01:41, 26/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А dovecot умеет только чтобы все или и сертификат и пароль предоставляли,
> или все предоставляли только сертификат, а пароль записывается пустой, и парольная
> аутентификация не возможна. Но это косяк dovecot.
на вскидку это можно заюзать http://wiki2.dovecot.org/Authentication/MultipleDatabases
Dovecot supports defining multiple authentication databases, so that if the password doesn't match in the first database, it checks the next one.
определим два passdb
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql-CERT.conf.ext // тут sql где проверка тока на валидность ключа
#result_failure = continue
#result_success = return-ok
}
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext // тут sql где обычная проверка
}
# dovecot-sql-CERT.conf.ext
password_query = SELECT userid as user, nopassword FROM users WHERE user = '%u' and 'valid' = '%k'
# dovecot-sql.conf.ext
password_query = SELECT userid as user, password FROM users WHERE user = '%u'
ps: не тестил, проверьте
| |
|
3.15, Ilya Indigo (ok), 02:01, 26/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
А если я не использую sql.
passdb {
driver = passwd-file
args = scheme=ssha512 username_format=%u /etc/dovecot/users
}
userdb {
driver = passwd-file
args = username_format=%u /etc/dovecot/users
}
Как тут мне использовать %k не понятно.
passdb {
args = scheme=ssha512 username_format=%u /etc/dovecot/users
auth_verbose = default
default_fields =
deny = no
driver = passwd-file
master = no
name =
override_fields =
pass = no
result_failure = continue
result_internalfail = continue
result_success = return-ok
skip = never
}
Попробую покапать в сторону args и прочих параметров.
Нет все эти параметры для меня бесполезны.
Задал вопрос тут https://ru.stackoverflow.com/q/607830/209154
| |
|
4.17, Sw00p_aka_Jerom (ok), 02:26, 26/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
боюсь никак
passwd-file относится к Success/failure databases, а SQL - Lookup databases, и переменную можно передать ток в случае SQL. Вам просто нуно отдельно держать одну табличку SQL с юзерами (без паролей), а passwd-file это фолбек механизм будет.
пс: тут есть ещё кульная вещь как Dovecot supports (v2.2.25+) external authentication policy server. http://wiki2.dovecot.org/Authentication/Policy, через неё множно спокойно реализовать любую политику аутентификации.
| |
|
5.20, Ilya Indigo (ok), 03:34, 26/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> боюсь никак
> passwd-file относится к Success/failure databases, а SQL - Lookup databases, и переменную
> можно передать ток в случае SQL. Вам просто нуно отдельно держать
> одну табличку SQL с юзерами (без паролей), а passwd-file это фолбек
> механизм будет.
> пс: тут есть ещё кульная вещь как Dovecot supports (v2.2.25+) external authentication
> policy server. http://wiki2.dovecot.org/Authentication/Policy, через неё множно спокойно
> реализовать любую политику аутентификации.
Большое спасибо Вам за ответы, примеры и информацию! :-)
| |
|
|
|
2.12, Sw00p aka Jerom (?), 01:46, 26/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
одна ток неувязочка, думаю логин он будет брать из сертификата и подставлять в место переменной %u (You may also force the username to be taken from the certificate by setting auth_ssl_username_from_cert = yes.), тогда желательно ещё иметь доступ к отправленному логину в команде AUTH, чтобы написать что-то вроде
WHERE 'cert_user' = '%auth_u' and 'valid' = '%k'
| |
2.23, SubGun (ok), 09:09, 26/12/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
< Вот и я не вижу что полезного для меня умеет exim, что не умела
< бы связка postfix/dovecot.
Из тривиального - отправка на Exchange, если пользователь там есть, и доставка локально, если нет. Для меня было удивлением узнать, что postfix такого не умеет.
| |
|
3.24, Ilya Indigo (ok), 09:17, 26/12/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Из тривиального - отправка на Exchange, если пользователь там есть, и доставка
> локально, если нет. Для меня было удивлением узнать, что postfix такого
> не умеет.
Что-то я не понял ситуацию.
Если пользователя нет, то mta должен отправить письмо отправителю. Как и кому имено он локально должен доставлять?
| |
|
4.28, Аноним (-), 14:14, 26/12/2016 [^] [^^] [^^^] [ответить]
| +/– |
>> Из тривиального - отправка на Exchange, если пользователь там есть, и доставка
>> локально, если нет. Для меня было удивлением узнать, что postfix такого
>> не умеет.
> Что-то я не понял ситуацию.
> Если пользователя нет, то mta должен отправить письмо отправителю. Как и кому
> имено он локально должен доставлять?
вероятно есть в организации 2 типа сотрудников, одни сидят на exchange, другие напрямую с почтовика( ну либо там есть ящик для всего остального, который потом в полуручном режиме разбирается ).
| |
|
3.37, nikos_d (?), 01:35, 27/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
а почему не прицепить Postfix к Ldap ? то что Вы хотите вполне делается очередным самописный miller, но какая-то извращенная логика возлагать ответсвенность за " есть ли тут ящик" на почтовый сервер, не проще решить правилами на Exchange ( + фейковый домен на постфикс)
| |
|
4.42, ЫгиПгт (?), 18:51, 28/12/2016 [^] [^^] [^^^] [ответить]
| –1 +/– |
Какой смысл городить огород, если я могу легко в Exim сделать lookup к Ldap(AD), и по его результатам зароутить почту так, как мне нужно?!
| |
|
5.43, nikosd (ok), 04:03, 29/12/2016 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Какой смысл городить огород, если я могу легко в Exim сделать lookup
> к Ldap(AD), и по его результатам зароутить почту так, как мне
> нужно?!
Если у Вас есть доступ к LDAP, то зачем огод ? - огород когда его нет (по описанию я понял что нужно обработать случай когда нет доступа к ldap и по реакции на попытку доставки предпринимать действия, это точно скрипты писать придется. ) .
Не буду проверять, но, вроде бы, postfix спокойно позволяет написать два источника для virtaul_maps и обрабатывает их в порядке указания, то есть если в первом есть вхождение то второй уже не сработает ( за исключением милого случая когда случится совпадение результата преобразования). ldap в нем то ли из коробки, то ли пакетов, но вполне доступен и работает, как и положено, без дерганья конфигов по изменению базы.
| |
|
|
|
|
|