Courier Mail Server Forum Index Courier Mail Server
www.courierms.ru
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Антиспам в CMS
Goto page 1, 2, 3, 4, 5, 6  Next
 
Post new topic   Reply to topic    Courier Mail Server Forum Index -> Courier Mail Server 2.xx
View previous topic :: View next topic  
Author Message
Vlad
Postmaster
Postmaster


Joined: 07 Dec 2005
Posts: 111
Location: г.Благовещенск

PostPosted: 26 Sep 2008 13:03 (Fri)    Post subject: Антиспам в CMS Reply with quote

Уважаемые PWL и NAMOR!
Ну приведите уже наконец черные и белые списки к нормально и отдельно редактируемым файлам.
Когда на ящики сыпятся по 1500 спама в день, забивать их, дабы на будущее даже не принимал их сервер, ОЙ как не просто.
Даже если бы строки списка имели бы вид
x@x.com=x@x.com,1 - единица идентификатор спам(1) - не спам(2),
было бы уже легче.
А если бы черный и белый список были ли бы разными отдельными от
server.cfg фалами - было бы вообще изумительно.
Админам дышалось бы легче.
Back to top
View user's profile Send private message Visit poster's website
Vlad
Postmaster
Postmaster


Joined: 07 Dec 2005
Posts: 111
Location: г.Благовещенск

PostPosted: 26 Sep 2008 13:17 (Fri)    Post subject: Reply with quote

Уважаемый PWL !
Просматривал ваши итоги анализатора и заметил строку
(X-SpamTest-Status:"SPAM")

Antispam (black list)
Date Count Condition
05.08.2007 47469: X-SpamTest-Status:"SPAM"
05.08.2007 15098: To:"news@courierms" & Subject!:"CMS" & From!:"Mail"
05.08.2007 606: Subject:"[OBORONA-SPAM]" & X-Mailer!:"Web" & Subject!:"deliver"
05.08.2007 593: Subject:" "
05.08.2007 301: To:"<courierms@narod.ru>,"

Если это не великий секрет, при помощи чего вы ее получаете?
Back to top
View user's profile Send private message Visit poster's website
GrAnd
CMS Master
CMS Master


Joined: 21 Oct 2005
Posts: 766
Location: г. Коломна

PostPosted: 26 Sep 2008 15:59 (Fri)    Post subject: Re: Антиспам в CMS Reply with quote

Vlad wrote:
А если бы черный и белый список были ли бы разными отдельными от server.cfg фалами - было бы вообще изумительно.
Админам дышалось бы легче.

Согласен ...
В черном списке у меня сотни 2 правил. Время от времени чищу их от устаревших и редко срабатывающих. Но все равно скоро их становится все равно больше сотни.

А 1500 писем в сутки, это такая мелочь. Уж поверь мне.

_________________
Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец!
Back to top
View user's profile Send private message
Vlad
Postmaster
Postmaster


Joined: 07 Dec 2005
Posts: 111
Location: г.Благовещенск

PostPosted: 27 Sep 2008 6:17 (Sat)    Post subject: Reply with quote

Да я знаю, что ето мелочь, потому как львиная доля отсеивается силами КМС. А то, что осталось приходится заносить в черный список.
Но мелочь перестает быть мелочью, когда из-за ложного срабатывания начинаешь искать нужное письмо. Да ето не сложно все осуществить руками, но на это тратиться время.
Особенно когда появляется новый клиент и он еще не разнесен по белым спискам.
Back to top
View user's profile Send private message Visit poster's website
PWL
CMS Developer
CMS Developer


Joined: 15 Oct 2005
Posts: 689

PostPosted: 04 Oct 2008 21:34 (Sat)    Post subject: Reply with quote

Откуда у вас две сотни правил, я в шоке, антиспам в CMS - это по сути простейший фильтр, который просто облегчает жизнь и не более того. Воспринимать его как полноценный антиспам фильтр всё-таки не стоит, не тот уровень. Если вы хотите надежную защиту от спама, то нужно использовать специально предназначенный для этого продукт.

Выносить правила в отдельный файл пока не планируется.

Мы можем дать вам рекомендации по настройке встроенного антиспама.

Заносить обратные адреса или домены спамеров в черный список не имеет смысла, т.к. они каждый раз разные и, в большинстве случаев, берутся из той же базы адресов, по которой ведется рассылка. Т.е. вы блокируете адреса не спамеров, а их "жертв".
Блокировка спамеров по IP-адресам тоже не даст особого эффекта, т.к. рассылка спама идет с компьютеров обычных пользователей, зараженных вирусами или троянами.

На крупных почтовых серверах установлены специализированные спам-фильтры, которые определенным образом помечают спам. Поэтому, принимая письма из ящиков, расположенных на таких серверах, CMS может распознавать спам по этим пометкам.

Например, почтовый сервер Infobox-а вставляет заголовок
X-SpamTest-Status: SPAM

Я добавил в "Черный список" антиспама правило
X-SpamTest-Status:"SPAM"

и спам меня практически не беспокоит. 90% спама "убивается" этим правилом и "Разрешенными адресами получателей" в свойствах внешних почтовых ящиков. Есть, конечно, и другие правила, но срабатывают они довольно редко.

Также имеет смысл фильтрация по заголовку Received. Например, если он содержит строку ".jp (" и при этом заголовок From содержит ".ru>", то это означает, что письмо отправлено с адреса вида user@domain.ru, но через сервер, расположенный в Японии. Это 100% спам. Правила:
Received:".jp (" & From:".ru>"
Received:".fr (" & From:".ru>"
Received:".rr.com (" & From:".ru>"
Received:".pt (" & From:".ru>"
...

Фильтрация по отправителю и теме. Письма из зарубежных доменов, которые являются, якобы, ответами на мои письма (Re:). Я переписку ни с одним из этих доменов не веду, поэтому это 100% спам.
From:"@brars.org.uk>" & Subject:"Re:"
From:"@netcabo.pt>" & Subject:"Re:"
From:"@YourBizHelp.biz>" & Subject:"Re:"
...

Замечу, что бороться со спамом "в общем" не получится, это процесс во многом процесс индивидуальный и творческий. Надо вникать в конкретные случаи и разбираться почему то или иное спам-письмо "просочилось". Так выявятся некоторые закономерности, которые можно перевести в правила антиспама.
Могу посоветовать "просочившийся" спам складывать в отдельную папку и периодически анализировать заголовки этих писем на предмет наличия в них общих ключевых слов/фраз для создания правил фильтрации.

В качестве примера могу привести такое правило "Черного списка":
Subject:" виз" & Subject:"пасп"

Т.е. если поле Тема содержит строку " виз" И строку "пасп", то это
спам. Раньше такое правило у меня достаточно часто срабатывало.

Не забывайте добавлять адреса и домены "надежных" отправителей в "Белый список". Также имеет смысл добавлять в него "ключевые" слова, которые часто используются в темах писем, адресованных вам, и не являются общеупотребительными для спамеров.

Еще можно установить какой-нибудь внешний антиспам, который будет пропускать через себя всю принимаемую CMS почту. Например, Spamihilator, о подключении которого написано в статье "Каскадная защита от спама в CMS".

Ну и в справке CMS раздел "Обработка/Антиспам" тоже есть несколько советов по настройке антиспама.

Таким образом у меня, например, примерно 20 правил в чёрном списке.
Back to top
View user's profile Send private message
Vlad
Postmaster
Postmaster


Joined: 07 Dec 2005
Posts: 111
Location: г.Благовещенск

PostPosted: 06 Oct 2008 5:10 (Mon)    Post subject: Reply with quote

PWL wrote:

Правила:
Received:".jp (" & From:".ru>"
Received:".fr (" & From:".ru>"
Received:".rr.com (" & From:".ru>"
Received:".pt (" & From:".ru>"
...



Вот кто бы из пользователей КМС догадался, прочитав Ваш Хелп,
составлять таким образом правила.
Хотя бы сейчас в форуме разъясните действия скобок () и <> знаков.
И если это не все знаки, то какие еще можно использовать?
А почему правил около 200, так я например, отрубаю всю почту из некоторых доменов первого уровня, с кем у меня никто точно не переписывается.
Received:".pt" | From:".pt"
Received:".er" | From:".er"
Received:".org" | From:".org"
Received:".pl" | From:".pl"
Received:".pe" | From:".pe"
...........

А в основном, использую правила белого списка.
Так что вы зря недооцениваете роль вами созданного Антиспама.
Единственно, что это сделать его гибче в плане условий и дать возможность реализовывать его на стадии приема писем по СМТП, а не после того как письмо уже принято.
Back to top
View user's profile Send private message Visit poster's website
Vlad
Postmaster
Postmaster


Joined: 07 Dec 2005
Posts: 111
Location: г.Благовещенск

PostPosted: 06 Oct 2008 5:22 (Mon)    Post subject: Reply with quote

И еще забыл добавить.
Подскажите, как например заблокировать спам почту вот какого формата "хххх@", только не предлагайте использовать
From:"@" | Return-Path:"@" | Received:"@"

Заранее благодарю за оказанное внимание.
Back to top
View user's profile Send private message Visit poster's website
GrAnd
CMS Master
CMS Master


Joined: 21 Oct 2005
Posts: 766
Location: г. Коломна

PostPosted: 06 Oct 2008 11:42 (Mon)    Post subject: Reply with quote

PWL wrote:
Откуда у вас две сотни правил, я в шоке, антиспам в CMS - это по сути простейший фильтр, который просто облегчает жизнь и не более того. Воспринимать его как полноценный антиспам фильтр всё-таки не стоит, не тот уровень. Если вы хотите надежную защиту от спама, то нужно использовать специально предназначенный для этого продукт.

Рассказываю подробно ...

У меня используется как раз специально предназначенный продукт SO-1024. Я об этом писал в "Готовых решениях" в теме "Выравнивание нагрузки по обработке почтового трафика.".
Несмотря на отдельные недостатки, антиспам это хороший. Вот статистика за один день 01.10.2008 г. (среда - один из самых уловных на спам дней):

Пришло писем по SMTP всего - 8023
Отвергнуто всего - 7919 (98,70% / 98,99%)
В т.ч.:
По флагу, выставленному SO-1024 - 7804 (97,27% / 97,55%)
Прочими правилами "черного" списка CMS - 115 (1,43% / 1,44%)
Пропущено всего - 104 (1,3%)
Из них:
Спама (примерно) - 81 (1,01% / 1,01%)
Не спама (примерно) - 23 (0,29%)

В скобках указана доля писем относительно общего пришедшего количества и через дробь относительно общего числа спам-писем.

Из этой таблички можно видеть следующее:
  1. SO-1024 детектирует более 97% спама. Очень неплохой результат.
  2. По прочим правилам отсеивается большая часть спама, не распознанных SO-1024. Почти 60% от числа нераспознанного спама.
  3. Количество пропущенного спама все равно в несколько раз превышает число легальных писем.

Вот в связи с последним пунктом и приходится постоянно придумывать новые правила.

По поводу Ваших предложений по настройке списка правил ...

Несоответствие зон в полях "From:" и "Received:" мне в последнее время не встречается. Видимо такие письма достаточно хорошо отлавливаются SO-1024. Блокировать же письма только на основании национальных доменов нельзя. У нас ведется переписка в том числе и с заграничными партнерами. И не факт, что никто не захочет написать письмо в Австралию, Аргентину или в Папуа Новую Гвинею.
А несоответствие полей (только других) у меня все же используется но для выявления фальсифицированных писем якобы с социальных сетей, а на самом деле завлекающих на инфицированные сайты.

Точно так же нельзя отсекать письма по метке "Re:" - я не знаю с кем ведет переписку какой-нибудь Вася Пупкин из отдела леворезьбовых болтов, и с кем он будет переписываться завтра.

Таким образом, приходится в основном ориентироваться на специфические буквосочетания в наиболее информационных полях: "To:", "From:", "Subject:".

Что касается отдельной папки для спама, то она у меня уже давно ведется. И каждое утро я анализирую пришедший через фильтры спам, сравниваю его между собой и с пришедшим ранее. Таким образом добавляются 3-4 новых правила или корректируются уже имеющиеся. Далее в течение дня добавляются еще 1-2 правила. Таким образом, за месяц новых правил набирается около сотни. Не все они работают долго. Обычно через неделю-две посли их введения, они перестают срабатывать, но бывает, что после нескольких месяцев затишья спам с данными характеристиками опять появляется. Поэтому удалать старые правила я не спешу.

А вообще-то, большое неудобство, что нет возможности работать с шаблонами строк. Для Delphi существует библиотека RegExpr для поддержки языка шаблонов, который используется в PHP. Едва ли именно эта библиотека используется в прокси-сервере Traffic Inspector, но поддержка языка шаблонов для создания фильтров там существует. Очень удобно. Например, правило (^|[^&?])(s|c)e(x|k(s|c))[^=] позволяет отсекать сайты, содержащее слово sex в различных написаниях в названии сайта, но не в списке параметров. Правило (^|[^k])a-?nal($|[^io]|i($|[^tz])|o($|[^g])) позволяет блокировать доступ к сайтам, содержащих слово anal, но не обращать внимания на сайты, имеющие в названии слова kanal, analiz, analit, analog. Таких правил и гораздо более сложных у меня более полутора сотен. Хорошо блокируют доступ ко всяким порно-ресурсам. Что не удается заблокировать шаблонами, блокирую напрямую указанием имени сайта - еще около сотни адресов всяких "фишек", "стульчиков", "огурчиков" и прочего "порева".

Применение языка шаблонов позволило бы существенно снизить число правил и упростить их написание. Например, для обнаружения полей "To:", в которых имя получателя совпадает с левой частью адреса, было бы достаточно одного правила To:"^ ?([A-Za-z0-9\._-]+) ?<\1@". А сейчас приходится забивать для каждого пользователя отдельное правило или объединять их в одно очень громоздкое.

Другой пример ... Для обнаружения слова "Ваш" написанного с использованием транслитерации мне пришлось писать следующее достаточно длинное правило: Subject:"Baш"|Subject:"Bаш"|Subject:"Вaш" - различные комбинации русских и английских первых двух букв кроме обоих русских. В то же время, при помощи языка шаблонов это правило можно было бы значительно упростить: Subject:"(Ba|Bа|Вa)ш".

Сам я использовал такую библиотеку для пакетного поиска и переименования файлов. Остался весьма доволен. Использовать ее просто. Работает надежно. Надеюсь когда-нибудь увидеть что-то подобное и в CMS.

_________________
Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец!
Back to top
View user's profile Send private message
PWL
CMS Developer
CMS Developer


Joined: 15 Oct 2005
Posts: 689

PostPosted: 09 Oct 2008 16:47 (Thu)    Post subject: Reply with quote

Vlad wrote:
PWL wrote:

Правила:
Received:".jp (" & From:".ru>"
Received:".fr (" & From:".ru>"
Received:".rr.com (" & From:".ru>"
Received:".pt (" & From:".ru>"
...


Вот кто бы из пользователей КМС догадался, прочитав Ваш Хелп,
составлять таким образом правила.
Хотя бы сейчас в форуме разъясните действия скобок () и <> знаков.
И если это не все знаки, то какие еще можно использовать?

Вообще-то "скобки () и значки <>" это не спец. символы и никаких действий они не производят, они просто входят в текст, который ищется в данных полях.
Правило
Received:".jp (" & From:".ru>"
читается как поле Received содержит ".jp (" и поле From содержит ".ru>".
В справке все написано и каких-то других символов нет.

2GrAnd: По поводу регулярных выражений. Конечно применение их универсально, но я бы не сказал, что такие правила будут понятны рядовым пользователям.
Back to top
View user's profile Send private message
GrAnd
CMS Master
CMS Master


Joined: 21 Oct 2005
Posts: 766
Location: г. Коломна

PostPosted: 09 Oct 2008 17:27 (Thu)    Post subject: Reply with quote

PWL wrote:
2GrAnd: По поводу регулярных выражений. Конечно применение их универсально, но я бы не сказал, что такие правила будут понятны рядовым пользователям.

Так настраивать CMS будут, все-таки, не рядовые пользователии, а администраторы серверов, которые какое-то представление о регулярных выражениях уже имеют.

Кстати, совершенно не обязательно заставлять всех пользоваться этими регулярными выражениями.
В том же TI можно для каждого списка правил указать, используются ли в нем регулярные выражения, или просто ищется вхождение подстроки, как сейчас в CMS. Дело в том, что раньше в ТИ тоже искалось только вхождение, а потом сделали поддержку шаблонов. И придумали флаг:
0 - простое вхождение;
1 - регулярные выражения.

Не вижу трудностей, почему бы не сделать. Пусть даже 90% пользователей и не будет этим пользоваться (в чем я сомневаюсь лично). Зато остальные могут использовать их с большой отдачей.

А для совместимости можно ввести для каждого правила один дополнительный флаг. Если он отсутствует или равен "0", то ищется простое вхождение. Иначе осуществляется поиск по шаблону.

Сам я, повторюсь, хоть и не большой знаток Delphi, но эту библиотеку освоил часа за 2. Написал прогу с ее использованием и потом юзал ее по полной.

_________________
Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец!
Back to top
View user's profile Send private message
Vlad
Postmaster
Postmaster


Joined: 07 Dec 2005
Posts: 111
Location: г.Благовещенск

PostPosted: 15 Oct 2008 9:01 (Wed)    Post subject: Reply with quote

Так я чего-то упустил,
Уважаемый PWL разъясните пожалуйста частный случай.
Вот заголовок обычного письма:

From - Mon Oct 13 09:42:13 2008
X-Account-Key: account2
X-UIDL: 02B00P0B
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:
Return-Path: <support@polihim.ru>
Received: from fr57.aha.ru ([62.113.100.57])
by xxx.su with ESMTP id 02B00P0B
for <xxx@xxx.SU>; Fri, 10 Oct 2008 18:55:58 +1000
Received: from fr56.aha.ru (fr56.aha.ru [62.113.100.56])
by fr57.aha.ru (Postfix) with ESMTP id 58BFC166A7
for <xxx@xxx.SU>; Fri, 10 Oct 2008 12:55:55 +0400 (MSD)
Received: from pm3.zenon.net (pm3.zenon.net [195.2.72.36])
by fr46.aha.ru (Postfix) with ESMTP id 523EC3BC
for <xxx@xxx.SU>; Fri, 10 Oct 2008 12:55:55 +0400 (MSD)
Received: (from polihim@localhost)
by pm3.zenon.net (8.13.6/Zenon/Postman) id m9A8tngQ004389;
Fri, 10 Oct 2008 12:55:49 +0400 (MSD)
(envelope-from support@polihim.ru)
Date: Fri, 10 Oct 2008 12:55:49 +0400 (MSD)
Message-Id: <200810100855.m9A8tngQ004389@pm3.zenon.net>
subject: =?WINDOWS-1251?Q?=D6=E5=ED=E0_=E4=ED=FF_=ED=E0_=C1=E5=ED=E7=E8=ED_=C3=E0=E7=EE=E2=FB=E9_=D1=F2=E0=E1=E8=EB=FC=ED=FB=E9_=28=C1=C3=D1=29?=
from: support@polihim.ru
to: xxx@xxx.SU
errors-to: postmaster@undeliverable.zenon.net
MIME-Version: 1.0
content-type: text/html; charset=WINDOWS-1251

<html>


Вот правило ЧЕРНОГО СПИСКА (по вашему шаблону):
Received:".net (" & From:".ru>"

Вопрос:
Как или в каком порядке КМС будет рассматривать поля "Received:"
перебирать все или остановится на первом?
И в итоге я получу это письме или нет?!
Back to top
View user's profile Send private message Visit poster's website
PWL
CMS Developer
CMS Developer


Joined: 15 Oct 2005
Posts: 689

PostPosted: 17 Oct 2008 0:12 (Fri)    Post subject: Reply with quote

Все поля Received будут слеплены в одну строку через разделитель пробел и просмотрены за 1 раз.
В вашем примере письмо примется, т.к. в Received содержится текст ".net (", но в поле From нету ".ru>", есть только ".ru". Правило можно скорретировать на
Received:".net (" & From:".ru" - тогда письмо не примется

2GrAnd: Мысль ясна, но пока от внедрения сдерживает то, что библиотека стороннего производителя.
Back to top
View user's profile Send private message
GrAnd
CMS Master
CMS Master


Joined: 21 Oct 2005
Posts: 766
Location: г. Коломна

PostPosted: 17 Oct 2008 8:22 (Fri)    Post subject: Reply with quote

PWL wrote:
2GrAnd: Мысль ясна, но пока от внедрения сдерживает то, что библиотека стороннего производителя.

Я так и думал, что это может показаться важным Wink .
Но почитайте лицензию на использования этого продукта:
Quote:
Вы можете использовать этот продукт в любых Ваших разработках, включая коммерческие, распространять и корректировать его при условии выполнения нижеследующих ограничений :

1. Должно быть оставлено упоминание автора оригинальной версии, Вы не должны утверждать что разработали продукт самостоятельно. Желательно также, наличие в конечном продукте упоминание о факте использования данной библиотеки (в документации или диалоге "О программе").

2. Вы не имеете права распространять данный продукт за деньги, если он не интегрирован в Вашу разработку. Если продукт включен в Вашу разработку, то Вы не имеете права требовать деньги за предоставление исходных текстов.

Вот и все ограничения. Т.е., если Вы включите его в Ваш коммерческий продукт и не заплатите разработчикам, то никаких нарушений прав не будет. Надо только не править в исходниках название и версию библиотеки (не думаю, что такое желание появится) и не забыть отразить этот факт в документации.

_________________
Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец!
Back to top
View user's profile Send private message
Vit@L
Newbie
Newbie


Joined: 16 Oct 2008
Posts: 9

PostPosted: 17 Oct 2008 15:41 (Fri)    Post subject: Reply with quote

Подскажите пожалуйста, а что нужно писать в условиях антиспама? Какие команды?
Back to top
View user's profile Send private message
GrAnd
CMS Master
CMS Master


Joined: 21 Oct 2005
Posts: 766
Location: г. Коломна

PostPosted: 17 Oct 2008 18:44 (Fri)    Post subject: Reply with quote

Vit@L wrote:
Подскажите пожалуйста, а что нужно писать в условиях антиспама? Какие команды?

Не команды а подстроки, искомые в различных полях заголовка. В справке все очень подробно описано.

_________________
Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Courier Mail Server Forum Index -> Courier Mail Server 2.xx All times are GMT + 4 Hours
Goto page 1, 2, 3, 4, 5, 6  Next
Page 1 of 6

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group