Сабж.
Организация, 20-40 пользователей (по-разному бывает), Sendmail, Fedora 18. Давным давно поставил Kaspersky Antispam и все было лень сменить. Ловит ужасно, настраивается плохо, при попытке контакта со службой поддержки ничего не решают. Но было лень.. А теперь они выпустили "принципиально новый продукт", который, наверное к счастью, несовместим с systemd.
Что выбрать? Для меня тема получилась довольно новая, поскольку в древние времена я боролся со спамом всякими скриптами в сендмэйле, а потом перешел на эту бяку и всю дискуссию, я так подозреваю, пропустил.
Набрав слово antispam в Гугле, вылезает несколько неизвестных мне продуктов типа Bitdefender.. Многие я так понимаю пользуют Spamasassin.. Можно мне как-то вправить мозги на эту тему? Заранее спасибо!
rbl.
Сейчас кто-то появиться и произнесет мантру "rbl - зло"!
> rbl.
> Сейчас кто-то появиться и произнесет мантру "rbl - зло"!Многие пользуются.
Насчет антиспама, если у вас более или менее мощный сервер, то можете заморочиться на тему spamassasin. Есть варианты проще это комплексные проверки spf check, greylist и т.д.
Посмотрите для начала в сторону greylist.
> Насчет антиспама, если у вас более или менее мощный сервер, то можете
> заморочиться на тему spamassasin. Есть варианты проще это комплексные проверки spf
> check, greylist и т.д.
> Посмотрите для начала в сторону greylist.да вполне мощный.. то что тянет касперского - потянет все )))
>> если у вас более или менее мощный сервер, то можете заморочиться на тему spamassasin.
> да вполне мощный.. то что тянет касперского - потянет все )))Ресурсоемкость СА сравнительно невелика. Опять же, при грамотной настройке через СА пропускается не вся входящая почта, а лишь та, в отношении которой есть сомнения - т.е. с доменов, не входящих в черный и белый списки. Обычно это не более 10% всего почтового потока.
Вот статистика за прошлую неделю по МХу, который крутится на одноядерном семпроне 1.8ГГц с 1ГБ ОЗУ
Exim statistics from 2013-10-14 00:00:09 to 2013-10-20 23:59:56
Grand total summary
-------------------
TOTAL Volume Messages
Received 2476546869 44172
Delivered 4449248240 147628
Rejects 9212Deliveries by transport
-----------------------
Volume Messages
bhole 1064671576 85938
clean 1748474537 2567
learn 985636963 41555
spam 597127849 17273
xmit 53337315 295
> Многие я так понимаю пользуют Spamasassin..
> Можно мне как-то вправить мозги на эту тему?Для эффективной борьбы со спамом достаточно всего двух механизмов:
- проверки адреса и хоста отправителя на корректность и принадлежность локальному блеклисту
- прогона письма через контент-анализатор (СА + байес)В моем случае МТА = exim.
1. Входящее письмо проверяется на наличие бекрезолва IP-адреса хоста-отправителя. При этом необязательно даже, чтобы хостнейм в хело совпадал с бекрезолвом. Если бекрезолв фейлится - спам. Не фейлится - пропускаем дальше.
2. Дальше проверяем хостнейм по ключевым словам, характерным для провайдерских дин.сетей - все эти client/dynamic/static/adsl/ppp/etc. Совпало - спам. Не совпало - пропускаем дальше.
3. Дальше проверяем по собственному списку доменов, активно рассылающих ТОЛЬКО спам. Совпало - спам.
4. На этом этапе все, что в предыдущих этапах было распознано, как спам, отправляется прямиком в sa-learn для дообучения байес-фильтра. Не нужно давать спамерам отлуп, не нужно выбрасывать спам, нужно его принимать и использовать по назначению.
5. То, что не отсеялось ранее, отправляем для проверки в СА + байес. Совпало - спам, но не настолько надежный, как в этапах 1-3. Этот спам я кладу юзерам в папки "Спам", и пусть они сами выясняют, не попало ли туда что-то ценное по ошибке.
6. Если же не совпало, то кладется юзеру во "Входящие".На этапах 1-3 отсевается 90% спама. Оставшиеся 10% режутся СА и байесом. Единичные фальш-позитивы и фальш-негативы отправляются в sa-learn на дообучение, когда юзеры перетаскивают письма в своих мейлдирах.
>[оверквотинг удален]
> спамерам отлуп, не нужно выбрасывать спам, нужно его принимать и использовать
> по назначению.
> 5. То, что не отсеялось ранее, отправляем для проверки в СА +
> байес. Совпало - спам, но не настолько надежный, как в этапах
> 1-3. Этот спам я кладу юзерам в папки "Спам", и пусть
> они сами выясняют, не попало ли туда что-то ценное по ошибке.
> 6. Если же не совпало, то кладется юзеру во "Входящие".
> На этапах 1-3 отсевается 90% спама. Оставшиеся 10% режутся СА и байесом.
> Единичные фальш-позитивы и фальш-негативы отправляются в sa-learn на дообучение, когда
> юзеры перетаскивают письма в своих мейлдирах.Вы все верно описали) Мне было лень.
> Для эффективной борьбы со спамом достаточно всего двух механизмов:
> - проверки адреса и хоста отправителя на корректность и принадлежность локальному блеклисту
> - прогона письма через контент-анализатор (СА + байес)Молоток DeadLoco - толково расписал. Как говориться - "В гранит!"
PS: postfix+amavisd(SA+ClamAV) - но это частности :)
>[оверквотинг удален]
> спамерам отлуп, не нужно выбрасывать спам, нужно его принимать и использовать
> по назначению.
> 5. То, что не отсеялось ранее, отправляем для проверки в СА +
> байес. Совпало - спам, но не настолько надежный, как в этапах
> 1-3. Этот спам я кладу юзерам в папки "Спам", и пусть
> они сами выясняют, не попало ли туда что-то ценное по ошибке.
> 6. Если же не совпало, то кладется юзеру во "Входящие".
> На этапах 1-3 отсевается 90% спама. Оставшиеся 10% режутся СА и байесом.
> Единичные фальш-позитивы и фальш-негативы отправляются в sa-learn на дообучение, когда
> юзеры перетаскивают письма в своих мейлдирах.Спасибо огромное! Да, вот первые 3 пункта мне знакомы, они всегда были нужны. А вот такие вопросы. Список спамных доменов - это ручками или есть механизированный способ уже? )))
И Спамасассин в качестве контент анализатора - это хорошо? Или есть лучше?
И я правильно понял, что у вас СА проверяет образцы спама по всем спамным папкам пользователей?
купить домен в gmail
> купить домен в gmailА еще лучше - наймите сисадмина.
> А еще лучше - наймите сисадмина.Спасибо за доверие )))
> Список спамных доменов - это ручками или есть механизированный способ уже?Только ручками, ибо у каждого домена емейлы попадают в свои специфичные спамерские рассылки. У меня 90% спама идет с хитрожопых доменов третьего уровня *.com.ua.
> И Спамасассин в качестве контент анализатора - это хорошо? Или есть лучше?
Меня СА устраивает на 200%, его эффективность не уступает гугловой спаморезке - разумеется, при грамотной настройке.
> И я правильно понял, что у вас СА проверяет образцы спама по
> всем спамным папкам пользователей?Нет. Я вообще не трогаю папки пользователей. СА запущен демоном, и экзим обращается к нему из ACL_DATA. В ответ СА возвращает начисленное письму количество баллов. В зависимости от того - превышен порог баллов или нет, письму экзим (не СА) добавляет служебный хедер "X-Spam-Detected". Затем письмо передается для доставки в dovecot-lda, сортировщик sieve которого по наличию этого хедера кладет письмо либо во "Входящие", либо в "Спам".
Если СА ошибся, и письму был ложно не/проставлен хедер, и пользователь это обнаружил, и переместил письмо по IMAP-протоколу из входящих в спам или наоборот, то соответствующий плагин довекота запускает скрипт, который отправляет копию письма в обучатор байеса sa-learn с соответствующими ключиками. Сам же СА никуда не лезет вообще.
>[оверквотинг удален]
> обращается к нему из ACL_DATA. В ответ СА возвращает начисленное письму
> количество баллов. В зависимости от того - превышен порог баллов или
> нет, письму экзим (не СА) добавляет служебный хедер "X-Spam-Detected". Затем письмо
> передается для доставки в dovecot-lda, сортировщик sieve которого по наличию этого
> хедера кладет письмо либо во "Входящие", либо в "Спам".
> Если СА ошибся, и письму был ложно не/проставлен хедер, и пользователь это
> обнаружил, и переместил письмо по IMAP-протоколу из входящих в спам или
> наоборот, то соответствующий плагин довекота запускает скрипт, который отправляет копию
> письма в обучатор байеса sa-learn с соответствующими ключиками. Сам же СА
> никуда не лезет вообще.Понятно, спасибо. Уже реализовал нечто похожее.
> Меня СА устраивает на 200%, его эффективность не уступает гугловой спаморезке -
> разумеется, при грамотной настройке.А какие у вас модули в СА подключены?
> А какие у вас модули в СА подключены?
#### -------- init.pre ---------
loadplugin Mail::SpamAssassin::Plugin::Hashcash
loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold
loadplugin Mail::SpamAssassin::Plugin::WhiteListSubject
loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
loadplugin Mail::SpamAssassin::Plugin::ReplaceTags
loadplugin Mail::SpamAssassin::Plugin::Check
loadplugin Mail::SpamAssassin::Plugin::HTTPSMismatch
loadplugin Mail::SpamAssassin::Plugin::URIDetail
loadplugin Mail::SpamAssassin::Plugin::Bayes
loadplugin Mail::SpamAssassin::Plugin::BodyEval
loadplugin Mail::SpamAssassin::Plugin::HTMLEval
loadplugin Mail::SpamAssassin::Plugin::HeaderEval
loadplugin Mail::SpamAssassin::Plugin::MIMEEval
loadplugin Mail::SpamAssassin::Plugin::RelayEval
loadplugin Mail::SpamAssassin::Plugin::URIEval
loadplugin Mail::SpamAssassin::Plugin::WLBLEval
loadplugin Mail::SpamAssassin::Plugin::VBounce
loadplugin Mail::SpamAssassin::Plugin::ImageInfo
loadplugin Mail::SpamAssassin::Plugin::FreeMail
####Все, что отключено (включая AWL и SPF) - отключено намеренно и с умыслом.
>> А какие у вас модули в СА подключены?...
> Все, что отключено (включая AWL и SPF) - отключено намеренно и с умыслом.Значит не только я созрел AWL выкинуть. Теперь точно выпилю.
> Значит не только я созрел AWL выкинуть.Если у юзера в почтовом клиенте настроена автоматическая отправка уведомлений о прочтении, а открываемое письмо - фальш-негатив, то стоит юзеру ткнуть в письмо - и опачьки. Адрес отправителя попадает в автоматический белый список, и все последующие письма с этого адреса беспрепятственно валятся в ящики юзерам без возможности дообучить байес.
>> Значит не только я созрел AWL выкинуть.
> Если у юзера в почтовом клиенте настроена автоматическая отправка уведомлений о прочтении,
> а открываемое письмо - фальш-негатив, то стоит юзеру ткнуть в письмо
> - и опачьки. Адрес отправителя попадает в автоматический белый список, и
> все последующие письма с этого адреса беспрепятственно валятся в ящики юзерам
> без возможности дообучить байес.Spamassassin AWL работает не так, как вы думаете.
Он вообще никакого отношения к ответам не имеет, а является, своего рода, выравнивающим коэффициентом баллов при оценке письма фильтром.
RTFM.
> А какие у вас модули в СА подключены?Полагаю, вам интереснее настройки самого СА
#### --------- local.cf ---------
. . . . . . .
bayes_auto_learn_threshold_nonspam 0.3
bayes_auto_learn_threshold_spam 6.0
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status
bayes_ignore_header X-Spam-Score
score BAYES_95 6.50
score BAYES_99 20.0
required_score 4.90
. . . . . . . .
Здесь score BAYES_XX - это параметры сплайна, интерполяцией которого вычисляется балл, начисляемый байес-фильтром. По умолчанию этот сплайн более пологий, а я делаю красную зону более жесткой, чтобы выше 95% сработка СА в целом была неминуемой.
Спасибо
> 2. Дальше проверяем хостнейм по ключевым словам, характерным для провайдерских дин.сетей
> - все эти client/dynamic/static/adsl/ppp/etc. Совпало - спам. Не совпало - пропускаем
> дальше.Интересно, а как у вас это организовано? У меня смотрите какая штука.. Сервер смотрит и во внутреннюю сетку и наружу. Соответственно, пользователи - кто во что горазд - отправляют почту как из внутренней сетки, так и из внешней (используя этот сервер как релей), используя как веб-почту (мою в смысле - то бишь для сервера локально), так и всякие аутлуки и проч. Уговорить их всех пересесть на что-то одно или пользоваться релеями провайдеров не удастся. И народ специфический и ездят все часто и широко.
Я настроил Sendmail, чтобы он по шаблону клал все, приходящее с динамических и проч релеев в папку Спам. Однако, если пользователь, находясь дома или где-нибудь в тропиках Индии по модему отправляет письмо, оно естественно оказывается спамом - адрес компа-отправителя соответствующий. Нехорошо..
Нет идей как это грамотно организовать?
> Нет идей как это грамотно организовать?У экзима есть такая штука, как ACL. Каждое входящее письмо прогоняется по списку проверок разных критериев. При первом же совпадении происходит либо режект, либо акцепт письма. Первым делом я проверяю, доставлено ли данное конкретное письмо в смтп-сессии с авторизацией. Если авторизация выполнена, то письмо принимается в релеинг без дальнейших проверок. И, разумеется, письмо не будет распознано, как спам.
С точки зрения клиента все выглядит так:
-- если клиент подключился к моему серверу без авторизации, то а) все его письма проверяются на спамовость и б) принимаются письма только для доменов на этом сервере - никакого релеинга наружу. По этому варианту работают внешние МТА, которые релеят письма на обслуживаемые сервером домены.-- если клиент авторизовался, то а) ему разрешено слать письма на любые домены, в т.ч. и наружу, и его письма не проверяются на спам. Ну, на самом деле - проверяются, поскольку существует риск заражения троянами-ботнетами вполне легальных клиентов. Но если проверку на спамовость не проходит письмо от неавторизованого отправителя, то письмо валится в папку "спам" локального мейлдира. А если ловится спам от авторизованого отправителя, то письмо деферится с отправкой сообщения отправителю, мол, чувак, ты конкретно попал.
У меня почтовик настроен так, что мои пользователи пользуются либо вебмейлом, либо смтп и имап по ТЛС с авторизацией. Как это организовать на сендмейле - я не знаю.
> У меня почтовик настроен так, что мои пользователи пользуются либо вебмейлом, либо
> смтп и имап по ТЛС с авторизацией. Как это организовать на
> сендмейле - я не знаю.Спасибо! Думаю, организовать проверку по наличию авторизации в сендмейле не сложно. Проверим )) Спасибо еще раз за идею )
>[оверквотинг удален]
> его письма проверяются на спамовость и б) принимаются письма только для
> доменов на этом сервере - никакого релеинга наружу. По этому варианту
> работают внешние МТА, которые релеят письма на обслуживаемые сервером домены.
> -- если клиент авторизовался, то а) ему разрешено слать письма на любые
> домены, в т.ч. и наружу, и его письма не проверяются на
> спам. Ну, на самом деле - проверяются, поскольку существует риск заражения
> троянами-ботнетами вполне легальных клиентов. Но если проверку на спамовость не проходит
> письмо от неавторизованого отправителя, то письмо валится в папку "спам" локального
> мейлдира. А если ловится спам от авторизованого отправителя, то письмо деферится
> с отправкой сообщения отправителю, мол, чувак, ты конкретно попал.все заработало - спасибо большое!
Можно последний вопрос? ))
В доках по СА написано, что глобальная конфигурация - это гуд, а настройки для пользователей - зло. Ну примерно так.. Если я правильно понял идею, файлы пользовательских настроек, поскольку лежат в пользовательских хомдирах, более уязвимы. Идея имхо странная, ибо уязвимость - вещь решаемая.. Можете пару слов сказать по этому поводу? Знаете что-то плохое про использование раздельных настроек для пользователей?
> все заработало - спасибо большое!На здоровье.
> Знаете что-то плохое про использование раздельных настроек для пользователей?
Плохое в раздельных настройках то, что они не нужны. Вообще пользователю не должно быть дела до настроек СА.
Могут быть какие-то белый и черный списки, пополняемые юзерами (а лучше - постмастером по наводке юзеров), и должен быть фидбек от юзеров в случае фальш-позитивов и фальш-негативов для дообучения байеса. У гугла это реализовано кнопками "Спам/Не спам", а у меня - через перетаскивание письма из папки в папку в мейлдире. Этого совершенно достаточно для подстройки СА под нужды юзеров.
> Плохое в раздельных настройках то, что они не нужны. Вообще пользователю не
> должно быть дела до настроек СА.Пользователю-то конечно. Человеку в смысле. Но у меня есть некоторое количество служебных "пользователей", на чей адрес приходит специфическая почта. И чтобы не гонять всю почту по правилам каждого из них, вроде бы логично загнать каждому в личный конфиг по одному правилу.
>> Вообще пользователю не должно быть дела до настроек СА.
> Но у меня есть некоторое количество служебных "пользователей",
> на чей адрес приходит специфическая почта.У меня в экзиме согласно РФЦ прописан беспрепятственный прием абсолютно любой почты на адреса root, abuse, postmaster, hostmaster етц. Если у вас есть специфические адреса получателей - пропишите их в отдельном списке для пропуска еще на уровне МТА.
> У меня в экзиме согласно РФЦ прописан беспрепятственный прием абсолютно любой почты
> на адреса root, abuse, postmaster, hostmaster етц. Если у вас есть
> специфические адреса получателей - пропишите их в отдельном списке для пропуска
> еще на уровне МТА.Понятно. Но у меня есть и обратные случаи. Публичный адрес, на который приходит однотипная корреспонденция и мегатонны спама. Ну ладно, все решаемо )
В общем главное я понял - Вы также считаете, что пользовательские настройки не нужны. Внемлю )) Спасибо!
> 2. Дальше проверяем хостнейм по ключевым словам, характерным для провайдерских дин.сетей
> - все эти client/dynamic/static/adsl/ppp/etc. Совпало - спам. Не совпало - пропускаем
> дальше.Ага. Туда же у вас попадёт почта с generaldynamics.com или superadsl.ru
Зачем же рубить то бездумно?
> Ага. Туда же у вас попадёт почта с generaldynamics.com или superadsl.ruБелые списки никто не отменял.
milter.org ;)