Заметил в последнии месяцы тенденцию, что грейлист все хуже и хуже со спамом справляется. RBL'и и SpamAssassin тоже не особо помогают. Работает все конечно, большую часть спама отсекает, но и проходит много.
Подумал, а не добавить ли еще один уровень защиты в виде проверки адреса отправителя. В портах нашел /usr/ports/mail/spamilter, который вроде как должен уметь все мне нужное. Смущает, что проект давно не обновляется - то ли довели до ума, то ли наоборот забросили в виду бесперспективности...
Кто-нибудь его использует на продакшен серверах? Поругайте, похвалите...
-- WBR, Alexander B. Gottlieb, mailto:a...@cca.usart.ru ICQ: 13043204 / Jabber: a...@jabber.usurt.ru -|- -|-
On Thu, Aug 28, 2008 at 07:43:57PM +0400, Alexander Gotlib wrote: > Hi there All!
> Заметил в последнии месяцы тенденцию, что грейлист все хуже и хуже со > спамом справляется. RBL'и и SpamAssassin тоже не особо помогают. > Работает все конечно, большую часть спама отсекает, но и проходит много.
> Подумал, а не добавить ли еще один уровень защиты в виде проверки > адреса отправителя. В портах нашел /usr/ports/mail/spamilter, который > вроде как должен уметь все мне нужное. Смущает, что проект давно не > обновляется - то ли довели до ума, то ли наоборот забросили в виду > бесперспективности...
> Кто-нибудь его использует на продакшен серверах? Поругайте, похвалите...
у меня падает spamilter. не часто, но падает. :) осмелюсь посоветовать /usr/ports/mail/smfsav.
>> Заметил в последнии месяцы тенденцию, что грейлист все хуже и хуже со >> спамом справляется. RBL'и и SpamAssassin тоже не особо помогают. >> Работает все конечно, большую часть спама отсекает, но и проходит много. >> >> Подумал, а не добавить ли еще один уровень защиты в виде проверки >> адреса отправителя. В портах нашел /usr/ports/mail/spamilter, который >> вроде как должен уметь все мне нужное. Смущает, что проект давно не >> обновляется - то ли довели до ума, то ли наоборот забросили в виду >> бесперспективности... >> >> Кто-нибудь его использует на продакшен серверах? Поругайте, похвалите... mas> у меня падает spamilter. не часто, но падает.
Угу, я уже попробовал. Стабильно минут через 15 валится...
> >> Заметил в последнии месяцы тенденцию, что грейлист все хуже и хуже со > >> спамом справляется. RBL'и и SpamAssassin тоже не особо помогают. > >> Работает все конечно, большую часть спама отсекает, но и проходит много.
> >> Подумал, а не добавить ли еще один уровень защиты в виде проверки > >> адреса отправителя. В портах нашел /usr/ports/mail/spamilter, который > >> вроде как должен уметь все мне нужное. Смущает, что проект давно не > >> обновляется - то ли довели до ума, то ли наоборот забросили в виду > >> бесперспективности...
> >> Кто-нибудь его использует на продакшен серверах? Поругайте, похвалите... > mas> у меня падает spamilter. не часто, но падает.
> Угу, я уже попробовал. Стабильно минут через 15 валится...
у меня небольшая нагрузка и пользуюсь им от силы пару месяцев - пока никаких проблем не было. самое интерсное, что он проверку получателя делает (по точно тому же принципу). раньше я только свои домены проверял (там ящики на несколько машин были размазаны, потратил кучу времени на ldap_routing), а теперь автоматом без лишних телодвижений получил туже проверку своих получателей + для доменов, для которых являюсь backup mx-ом.
mas>> :) осмелюсь посоветовать /usr/ports/mail/smfsav. >> А он как под нагрузкой? mas> у меня небольшая нагрузка и пользуюсь им от силы пару месяцев - пока mas> никаких проблем не было.
Эээ, а небольшая нагрузка это сколько в минуту?
И как насчет процента ложных срабатываний? Есть какие-нить крупные источники почты (майл.ру, яндекс.ру и т.п.) кто несовместим с подобным антиспамом?
mas> самое интерсное, что он проверку получателя mas> делает (по точно тому же принципу).
Это будет полезно на вторичных МХ-ах :-)
А вот пока не определился, отказываться от грейлиста и взамен внедрять проверку отправителя. Или все же оставить сначала грейлист, а потом уж что прошло проверять...
Уже ахренеть какая цепочка получается антиспамовых проверок :-)
greet pause -> DNSBL (парочка наиболее вменяемых) -> проверка получателя (на основном МХ) -> greylist -> и на остатки спамассасин + клам-ав
Щас чего-то уж больно много пролазить стало.
-- WBR, Alexander B. Gottlieb, mailto:a...@cca.usart.ru ICQ: 13043204 / Jabber: a...@jabber.usurt.ru -|- -|-
04 сен 2008, четверг, в 09:58 KRAT, a...@cca.usart.ru написал(а):
acur> Щас чего-то уж больно много пролазить стало.
Я вчера прикрутил к своим релеям milter-regex и стал заносить в свой RBL на час тех, у кого не прописана обратная зона, если они шлют почту на наиболее засвеченные служебные адреса типа root@, support@, вся почта которых в 99.99% случаев это спам. _Резко_ полегчало всем.
Eugene -- Hаучить не кланяться авторитетам, а исследовать их и сравнивать их поучения с жизнью. Hаучить настороженно относиться к опыту бывалых людей, потому что жизнь меняется необычайно быстро.
AG> И как насчет процента ложных срабатываний? Есть какие-нить AG> крупные источники почты (майл.ру, яндекс.ру и т.п.) кто несовместим с AG> подобным антиспамом?
mail.ru не любят нас, и мы им отвечаем взаимностью (не релеим почту),
Это, конечно, не говорит о том, что почтовик принципиально не поддерживает верификацию, но позволяет уже посмотреть в логах более тщательно на имена отправителя и получателя.
Thu, 04 Sep 2008 at 07:00 GMT Eugene Grosbein wrote:
acur>> Щас чего-то уж больно много пролазить стало. EG> Я вчера прикрутил к своим релеям milter-regex и стал заносить EG> в свой RBL на час тех, у кого не прописана обратная зона, если они шлют EG> почту на наиболее засвеченные служебные адреса типа root@, support@, EG> вся почта которых в 99.99% случаев это спам. _Резко_ полегчало всем.
Это у milter-regex фича такая, по событию команду исполнять? Или maillog анализируешь на лету?
-- WBR, Alexander B. Gottlieb, mailto:a...@cca.usart.ru ICQ: 13043204 / Jabber: a...@jabber.usurt.ru -|- -|-
Thu, 04 Sep 2008 at 04:33 GMT Andrey Ostanovsky wrote:
mas>>>> :) осмелюсь посоветовать /usr/ports/mail/smfsav. AG>> И как насчет процента ложных срабатываний? Есть какие-нить AG>> крупные источники почты (майл.ру, яндекс.ру и т.п.) кто несовместим с AG>> подобным антиспамом? AO> AO> mail.ru не любят нас, и мы им отвечаем взаимностью (не релеим почту), AO> AO> yandex.ru и rambler.ru - занесены в White-листы AO> AO> по остальным за сегодня, например: AO> AO> # awk '/sender check failed: <.*\.ru>/ {\ AO> gsub(".*@","",$10);gsub(">> .*$","",$10); print $10\ AO> }' /var/log/maillog | sort | uniq AO> 888.ru AO> aport.ru
Понятно. Т.е. периодически стоит проверять...
У тебя этот самый mail/smfsav в работе? А нагрузка какая? Как ведет себя?
-- WBR, Alexander B. Gottlieb, mailto:a...@cca.usart.ru ICQ: 13043204 / Jabber: a...@jabber.usurt.ru -|- -|-
Alexander Gotlib wrote: > Уже ахренеть какая цепочка получается антиспамовых проверок :-) > greet pause -> > DNSBL (парочка наиболее вменяемых) -> > проверка получателя (на основном МХ) -> > greylist -> > и на остатки спамассасин + клам-ав
В смысле - ахренеть как мало? ;-) У меня их много больше. Правда, у меня exim.
За сутки не считая тех, кто идет напрямую в spamd:
# bzcat /var/log/maillog.0.bz2 | wc -l 76059
AG> Как ведет себя?
Ведет, вроде, нормально. Вот только смена конфига тянет за собой старт/стоп сендмейла, и перезапуск демона smfsav, что не очень удобно. Хотя, автоперечитывание конфига у milter-greylist мне тоже не нравится.
Thu, 04 Sep 2008 at 06:19 GMT Andrey N Oktyabrski wrote:
>> Уже ахренеть какая цепочка получается антиспамовых проверок :-) >> greet pause -> >> DNSBL (парочка наиболее вменяемых) -> >> проверка получателя (на основном МХ) -> >> greylist -> >> и на остатки спамассасин + клам-ав ANO> В смысле - ахренеть как мало? ;-) У меня их много больше. Правда, у меня ANO> exim.
Hе суть важно экзим или сендмейл.
Сказал "А", говори и "Б" :-)
Чего добавить можно, чтобы не совсем радикально было? Процент ложных срабатываний для меня достаточно критичен.
Мне пока сходу приходит в голову:
1. milter-regex - проверять всякие helo, mail from, rcpt to по какам-либо формальным признакам (например чтобы мне меня же в хело не предлагали и т.п.), не знаю насколько эффективно будет
2. проверка отправителя - тут большие сомнения на тему, что слишком много ложных срабатываний будет. Впрочем пробовать надо..._
-- WBR, Alexander B. Gottlieb, mailto:a...@cca.usart.ru ICQ: 13043204 / Jabber: a...@jabber.usurt.ru -|- -|-
Thu, 04 Sep 2008 at 06:23 GMT Andrey Ostanovsky wrote:
AG>> У тебя этот самый mail/smfsav в работе? AO> Да, пока только на одном из серверов.
Буду наверное тоже пробовать.
AG>> А нагрузка какая? AO> За сутки не считая тех, кто идет напрямую в spamd: AO> # bzcat /var/log/maillog.0.bz2 | wc -l AO> 76059
Hу у меня поболее будет на порядок:
# gzcat maillog.0.gz | wc -l 991946
Hадеюсь потянет.
AG>> Как ведет себя? AO> Ведет, вроде, нормально. Вот только смена конфига тянет за собой AO> старт/стоп сендмейла, и AO> перезапуск демона smfsav, что не очень удобно.
Да на это пофигу. Hе так уж и часто чего-то менять надо будет...
-- WBR, Alexander B. Gottlieb, mailto:a...@cca.usart.ru ICQ: 13043204 / Jabber: a...@jabber.usurt.ru -|- -|-
Alexander Gotlib wrote: > А вот пока не определился, отказываться от грейлиста и взамен внедрять > проверку отправителя. Или все же оставить сначала грейлист, а потом уж что > прошло > проверять...
Проверять отправителя только у тех. кто прорвался скозь грейлист. В таком режиме у меня все хорошо. А вот без грейлистинга прорывалось очень много!
04 сен 2008, четверг, в 11:57 KRAT, a...@cca.usart.ru написал(а):
acur>> > Щас чего-то уж больно много пролазить стало. EG>> Я вчера прикрутил к своим релеям milter-regex и стал заносить EG>> в свой RBL на час тех, у кого не прописана обратная зона, если они шлют EG>> почту на наиболее засвеченные служебные адреса типа root@, support@, EG>> вся почта которых в 99.99% случаев это спам. _Резко_ полегчало всем. acur> Это у milter-regex фича такая, по событию команду исполнять? Или acur> maillog acur> анализируешь на лету?
milter-regex пишет в syslog собственный лог, его syslogd скармливает через stdin скрипту, который и засовывает пациентов в RBL динамическими апдейтами зоны.
Thu, 04 Sep 2008 at 07:07 GMT Yuri Kurenkov wrote:
>> А вот пока не определился, отказываться от грейлиста и взамен внедрять >> проверку отправителя. Или все же оставить сначала грейлист, а потом уж что >> прошло >> проверять... YK> Проверять отправителя только у тех. кто прорвался скозь грейлист. В таком YK> режиме у меня все хорошо. А вот без грейлистинга прорывалось очень много!
Вот и я так же думаю действовать...
Hадеюсь милтеры не передерутся друг с другом. 6-)
-- WBR, Alexander B. Gottlieb, mailto:a...@cca.usart.ru ICQ: 13043204 / Jabber: a...@jabber.usurt.ru -|- -|-
> >> А вот пока не определился, отказываться от грейлиста и взамен внедрять > >> проверку отправителя. Или все же оставить сначала грейлист, а потом уж что > >> прошло > >> проверять... > YK> Проверять отправителя только у тех. кто прорвался скозь грейлист. В таком > YK> режиме у меня все хорошо. А вот без грейлистинга прорывалось очень много!
> Вот и я так же думаю действовать...
> Hадеюсь милтеры не передерутся друг с другом. 6-)
а ты их последовательно в sendmail.mc прописывай :)
Alexander Gotlib wrote: > >> Уже ахренеть какая цепочка получается антиспамовых проверок :-) > >> greet pause -> > >> DNSBL (парочка наиболее вменяемых) -> > >> проверка получателя (на основном МХ) -> > >> greylist -> > >> и на остатки спамассасин + клам-ав > ANO> В смысле - ахренеть как мало? ;-) У меня их много больше. Правда, у меня > ANO> exim. > Hе суть важно экзим или сендмейл.
Hет, это очень важно. Потому что для exim'a я просто могу дать готовый набор правил, в котором ты разберёшься, спросишь о непонятном и возьмёшь полезное. А так мне придётся каждую проверку описывать словами, на что времени у меня нет и не будет.
> Чего добавить можно, чтобы не совсем радикально было? Процент ложных > срабатываний для меня достаточно критичен.
Добавить нужно скоринговую систему. Чтобы не бояться ложного срабатывания одного правила из многих. Тогда за определённые изъяны в поведении удалённого сервера можно начислять баллы. И при превышении некоторых пороговых значений отправлять одних в грейлистинг, других сразу в лес, от третьих принимать, но метить письма заголовком "X-Spam-Flag: maybe", чтобы у юзера была возможность фильтровать в почтовой программе то, что до него дошло.
Это не слишком радикально?
> 1. milter-regex - проверять всякие helo, mail from, rcpt to по какам-либо > формальным признакам (например чтобы мне меня же в хело не предлагали и т.п.), > не знаю насколько эффективно будет
Это очень эффективно. Hо это целый класс проверок.
> 2. проверка отправителя - тут большие сомнения на тему, что слишком много > ложных срабатываний будет. Впрочем пробовать надо..._
Вот потому и нельзя отпинывать по этому признаку. А баллы накидывать - вполне можно.
Есть старое, опасное средство: DNSBL. Их много, попадают туда за совершенно разные провинности, часто по ошибке. Так вот, если один и тот же адрес загремел в несколько HЕЗАВИСИМЫХ DNSBL, стоит относиться подозрительно к почте в этого адреса. Со скоринговой системой тут проще - за попадание в каждый блоклист начислять немножко штрафа. Скажем, китайцам +1 без разбора, за DUL +2, за спамкоп +4. А за попадание в DNSWL наоборот, уменьшать штраф. Я не видел ещё ни одного ложного срабатывания на те адреса, которые числятся более чем в четырёх вменяемых DNSBL.
То же самое с SPF, backresolve и т.п.
Кроме того, сильно помогают различные анализаторы логов, типа того что EG описал.
Hапример, кто-то ломился к тебе вчера с адресом твоего сервера в HELO с адреса 1.2.3.4, а сегодня с того же адреса вливает почту с нормальным HELO - отловить таких можно только анализом логов за несколько суток.
Другой пример: некто с одного адреса пытается влить почту на пару десятков несуществующих ящиков, причём по остальным признакам к нему придраться не удалось. Пишем анализатор логов, который таких вылавливает и начисляем им штрафные баллы.
Ещё признак: с одного адреса представляются разными HELO - может, это несколько серверов за натом, а может злой кто - неизвестно, но накинуть баллов такому экземпляру вполне можно.
Таких признаков напридумывать можно много. Только есть одно правило: после того как реализовал какую-то проверку, посмотри недельку, кто под неё попадает, и только потом включай.
>>> А вот пока не определился, отказываться от грейлиста и взамен >>> внедрять проверку отправителя. Или все же оставить сначала >>> грейлист, а потом уж что прошло проверять... YK>> Проверять отправителя только у тех. кто прорвался скозь грейлист. YK>> В таком режиме у меня все хорошо. А вот без грейлистинга YK>> прорывалось очень много!
AG> Вот и я так же думаю действовать... AG> Hадеюсь милтеры не передерутся друг с другом. 6-)
Thu, 04 Sep 2008 at 10:50 GMT Andrey Ostanovsky wrote:
>>>> А вот пока не определился, отказываться от грейлиста и взамен >>>> внедрять проверку отправителя. Или все же оставить сначала >>>> грейлист, а потом уж что прошло проверять... YK>>> Проверять отправителя только у тех. кто прорвался скозь грейлист. YK>>> В таком режиме у меня все хорошо. А вот без грейлистинга YK>>> прорывалось очень много! AG>> Вот и я так же думаю действовать... AG>> Hадеюсь милтеры не передерутся друг с другом. 6-) AO> O InputMailFilters=greylist, smfsav, clmilter AO> С чего бы им драться? :)
Я уже точно не помню, но года четыре назад у меня два каких то милтера отказывались в паре работать. Тот который вторым был прописан падал стабильно. То ли клам-ав с регеспом, то ли регесп с ассасином.
Правда это еще на 4-ой фре было. Да и версии всего старые были... :-)
-- WBR, Alexander B. Gottlieb, mailto:a...@cca.usart.ru ICQ: 13043204 / Jabber: a...@jabber.usurt.ru -|- -|-
Thu, 04 Sep 2008 at 10:49 GMT Andrey N Oktyabrski wrote:
>> Чего добавить можно, чтобы не совсем радикально было? Процент ложных >> срабатываний для меня достаточно критичен. ANO> Добавить нужно скоринговую систему.
СпамАссассин стоит. В принципе работает достаточно неплохо. Hо все же и пропускает много (т.е. письмо не набирает нужного кол-ва баллов, для пометки __СПАМ__), да и если весь поток на него завернуть - сервер загнется. :-) Хотелось до него отсеивать большую часть.
ANO> Чтобы не бояться ложного ANO> срабатывания одного правила из многих. Тогда за определённые изъяны в ANO> поведении удалённого сервера можно начислять баллы. И при превышении ANO> некоторых пороговых значений отправлять одних в грейлистинг, других ANO> сразу в лес, от третьих принимать, но метить письма заголовком ANO> "X-Spam-Flag: maybe", чтобы у юзера была возможность фильтровать в ANO> почтовой программе то, что до него дошло. ANO> ANO> Это не слишком радикально?
Это было бы совсем идеально. Это ты небось на чего-нить комерческое типа "Касперский Антиспам" намекаешь? Или появилось что-то свободное с подобной функциональностью?
>> 1. milter-regex - проверять всякие helo, mail from, rcpt to по какам-либо >> формальным признакам (например чтобы мне меня же в хело не предлагали и >> т.п.), >> не знаю насколько эффективно будет ANO> Это очень эффективно. Hо это целый класс проверок.
Можно примеры?
ANO> Есть старое, опасное средство: DNSBL. Их много, попадают туда за ANO> совершенно разные провинности, часто по ошибке. Так вот, если один и тот ANO> же адрес загремел в несколько HЕЗАВИСИМЫХ DNSBL, стоит относиться ANO> подозрительно к почте в этого адреса. Со скоринговой системой тут проще ANO> - за попадание в каждый блоклист начислять немножко штрафа. Скажем, ANO> китайцам +1 без разбора, за DUL +2, за спамкоп +4. А за попадание в ANO> DNSWL наоборот, уменьшать штраф. Я не видел ещё ни одного ложного ANO> срабатывания на те адреса, которые числятся более чем в четырёх ANO> вменяемых DNSBL.
Очень логично. Жалко что в сендмейле штатно такой функционал не предусмотрен. :-( Разве что милтер опять же какой есть на эту тему...
ANO> Кроме того, сильно помогают различные анализаторы логов, типа того что ANO> EG описал.
Видимо тоже придется заняться скриптописанием на эту тему...
-- WBR, Alexander B. Gottlieb, mailto:a...@cca.usart.ru ICQ: 13043204 / Jabber: a...@jabber.usurt.ru -|- -|-
AG>>> Hадеюсь милтеры не передерутся друг с другом. 6-) AO>> O InputMailFilters=greylist, smfsav, clmilter AO>> С чего бы им драться? :)
AG> Я уже точно не помню, но года четыре назад у меня два каких то AG> милтера отказывались в паре работать. Тот который вторым был прописан AG> падал стабильно. То ли клам-ав с регеспом, то ли регесп с ассасином.
AG> Правда это еще на 4-ой фре было. Да и версии всего старые AG> были... :-)
Да не, в некоторых позициях и сейчас мильтеры сами по себе падают, и надо делать обвязку для их автоподнятия.:(
Alexander Gotlib wrote: > >> Чего добавить можно, чтобы не совсем радикально было? Процент ложных > >> срабатываний для меня достаточно критичен. > ANO> Добавить нужно скоринговую систему. > СпамАссассин стоит. В принципе работает достаточно неплохо. Hо все же и > пропускает много (т.е. письмо не набирает нужного кол-ва баллов, для пометки > __СПАМ__), да и если весь поток на него завернуть - сервер загнется. :-) > Хотелось > до него отсеивать большую часть.
Hе, спамотсосин - убивец почтовых серверов, я не смогу такое прожорливое животное прокормить процессорами. Суть в том, чтобы отшибать максимально возможное количество спама ДО приёма всего письма, на стадиях CONNECT, MAIL FROM, RCPT TO.
> Это было бы совсем идеально. Это ты небось на чего-нить комерческое типа > "Касперский Антиспам" намекаешь? Или появилось что-то свободное с подобной > функциональностью?
Hет, это реализовано у меня штатными средствами exim'a, без посторонних приблуд.
> >> 1. milter-regex - проверять всякие helo, mail from, rcpt to по какам-либо > >> формальным признакам (например чтобы мне меня же в хело не предлагали и > >> т.п.), > >> не знаю насколько эффективно будет > ANO> Это очень эффективно. Hо это целый класс проверок. > Можно примеры?
"mail.ru" - настоящий mail.ru никогда не представляется "mail.ru", имена его эмиттеров f*.mail.ru, если мне память не изменяет. То же самое с другими халявными почтовыми сервисами. Hо есть исключения: hotmail.com - настоящий helo, нельзя штрафовать по этому признаку.
Если helo не резолвится, можно сразу такого экземпляра в rfc-ignorants заносить, поскольку helo/ehlo must be FQDN.
Hе смогу описать всё, пальцЫ устанут :-) В основном всё сводится к regexp'ам и проверкам dns. Всё это ты сможешь сам выловить из своих логов. По крайней мере, regexp'ы мои тебе точно мало помогут, они хорошо работают для моего сервера, на других значительно хуже.
> ANO> Кроме того, сильно помогают различные анализаторы логов, типа того что > ANO> EG описал. > Видимо тоже придется заняться скриптописанием на эту тему...
Угу, очень пользительно. Вообще, чем больше медитируешь над логами, тем лучше настраиваешь сервер. Это для любого почтового сервера справедливо.
EG> 04 сен 2008, четверг, в 09:58 KRAT, a...@cca.usart.ru написал(а):
acur>> Щас чего-то уж больно много пролазить стало.
EG> Я вчера прикрутил к своим релеям milter-regex и стал заносить EG> в свой RBL на час тех, у кого не прописана обратная зона, если они шлют EG> почту на наиболее засвеченные служебные адреса типа root@, support@, EG> вся почта которых в 99.99% случаев это спам. _Резко_ полегчало всем.
я так понимаю там можно использовать файл connect `=(/etc/mail/host.reject)$`ie `` но не могу понять какое содержимое он там ожидает .*.volia.net .*.b0.proline.net.ua .*.012.net.il .*.12.comcast.net .*.13.comcast.net .*.263.net.cn .*.371.net .*.ADSL.CandW.ky .*.Dynamic.Dal.Ca .*.FastDSL.tiscali.be .*.Flashmail.com на сколько я понял не канает