View previous topic :: View next topic |
Author |
Message |
GrAnd CMS Master
Joined: 21 Oct 2005 Posts: 766 Location: г. Коломна
|
Posted: 02 Oct 2013 10:13 (Wed) Post subject: |
|
|
NAMOR wrote: | Условие: *To:"(^|\s)([""']?)([-\w.]+)\2\s*<?<\3@"
Описание: получатели вида "user <user@", ""user" <user@" и "user <<user@" |
Хорошее условие. Надо будет внедрить. Только зачем двойная угловая скобка в последнем примере?
NAMOR wrote: | Условие: *To:"([^@]*@){6}" | *Cc:"([^@]*@){6}"
Описание: рассылка на 6 и более адресов |
А вот это очень вредное и ненужное условие. Проверять количество получателей в поле "To:" слишком рискованная идея.
Дело в том, что соискатели вакансий могут отправлять свои резюме сразу в несколько десятков мест одновременно. Так же предложения о сотрудничестве могут идти сразу в адреса нескольких организаций, указанных в этом поле. Так что, массовую рассылку надо искать в конверте по команде "RCPT TO:" - если слишком много получателей в одном корпоративном домене.
NAMOR wrote: | Условие: *Subject:"(([a-z][а-я]|[а-я][a-z]).*){2,}"
Описание: два или более сочетаний ru- и en-букв |
А смысл иметь два сочетания? Достаточно одного. Иначе будут просачиваться письма, у которых заменена на транслит только первая или последняя буква в теме. Или только в одном слове полностью написано траслитом начало или конец.
NAMOR wrote: | Условие: *Subject:"знаком(ст|к|ь|им|ит|ят)"
Описание: знакомства, незнакомки, знакомьтесь, познакомимся, познакомится |
У меня тоже раньше были такие правила и по знакомствам и по перевозкам и по арендам и т.д. Но сейчас почти все отключил - слишком малоэффективны, редко такие письма просачиваются. Только логи загромождают все эти проверки.
NAMOR wrote: | Условие: *Subject:"(^|\D)\d{3}([\W_])\d{2}\2?\d{2}($|\D)"
Описание: номер телефона вида nnn?nn?nn или nnn?nnnn |
За последние полгода ни разу не приходило письмо с номером телефона в теме.
NAMOR wrote: | Условие: *Subject:"(р|p).(а|a).(с|c).(с|c)"
Описание: P?A?C?C [ылки]
Условие: *Subject:"(mail|ж(б|6)(а|a)).*(р|p).?(а|a).?(с|c).?(с|c)"
Описание: "Не дорогие e-mail рассылки", "Служба почтовых рассылок"
Условие: *Subject:"[a-zа-я]([^a-zа-я])([a-zа-я]\1){2,}"
Описание: "Р.Е.К.Л.А.М.А.", "E - M A I L РАССЫЛКА", "с*П*А*м" |
ИМХО, это можно объединить и упростить. Как-то они пересекаются.
NAMOR wrote: | 90% спама (у меня) "убивается" этими правилами и "Разрешёнными адресами получателей" в свойствах внешних почтовых ящиков. (Внешнюю почту принимаю только по POP3.) |
В этом-то и разница, что у меня всё приходит по SMTP в несколько десятков адресов-получателей. А структура спама, просачивающегося через PTR-проверку, несколько другая. В частности, русскоязычного спама проходит не более 5-10% от общего количества пропущенного. Основная доля пропущенного - англоязычный текстовый спам примерно такого вида:
Code: |
Return-Path: <>
Received: from [192.168.0.114] ([192.168.0.114])
by mx.teplo-kolomna.ru (Courier Mail Server 3.01) with ESMTP id 02W00015
for <grig@teplo-kolomna.ru>; Tue, 01 Oct 2013 07:06:03 +0400
Received: from 111-241-172-94.dynamic.hinet.net ([114.25.58.188])
by [192.168.0.114] (Courier Mail Server 3.02) with SMTP id 0E400090
for <grig@teplo-kolomna.ru>; Tue, 01 Oct 2013 07:06:02 +0400
Received: from unknown (HELO localhost) (cmskbk816@motorola.com@132.108.104.26)
by 114.25.58.188 with ESMTPA; Tue, 1 Oct 2013 11:03:55 +0800
From: cmskbk816@motorola.com
To: *@*.*
Subject: This stock is getting ready to run hard for a second time
Old-X-EsetId: D0BDC93CC240747781F899
Old-X-EsetId: D0BDC93CC240747781F899
X-EsetScannerBuild: 15324
Old-X-EsetId: D0BDC93CC240747781F998
Old-X-EsetId: D0BDC93CC240747781FA91
X-EsetId: D0BDC93CC240747781FA94
Bonus Pick Of The Week Inside! HUGE Market Opportunity!!!
Company: SIGA RESOURCES INC.
Current price: $0.019
Short Term Target Price: .20
Date: October, 1st
Stock: S_G_A E
Momentum Alert!!! This Presents A Bottom Bounce Play Opportunity. See Why
Inside...
|
_________________ Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец! |
|
Back to top |
|
|
NAMOR CMS Developer
Joined: 15 Oct 2005 Posts: 1079
|
Posted: 02 Oct 2013 11:53 (Wed) Post subject: |
|
|
GrAnd wrote: | NAMOR wrote: | Условие: *To:"(^|\s)([""']?)([-\w.]+)\2\s*<?<\3@"
Описание: получатели вида "user <user@", ""user" <user@" и "user <<user@" |
Хорошее условие. Надо будет внедрить. Только зачем двойная угловая скобка в последнем примере? |
У меня накопилось достаточно много спама с двойной угловой скобкой в поле To, поэтому я её и добавил.
Сейчас посмотрел — давно такого не приходило. Можно первую угловую скобку "<?" убрать.
GrAnd wrote: | NAMOR wrote: | Условие: *To:"([^@]*@){6}" | *Cc:"([^@]*@){6}"
Описание: рассылка на 6 и более адресов |
А вот это очень вредное и ненужное условие. Проверять количество получателей в поле "To:" слишком рискованная идея.
Дело в том, что соискатели вакансий могут отправлять свои резюме сразу в несколько десятков мест одновременно. Так же предложения о сотрудничестве могут идти сразу в адреса нескольких организаций, указанных в этом поле. Так что, массовую рассылку надо искать в конверте по команде "RCPT TO:" - если слишком много получателей в одном корпоративном домене. |
Давайте не будем столь категоричны. Я специально написал: "...бороться со спамом "в общем" непросто, это процесс во многом индивидуальный и творческий. Вам может приходить один спам, мне — совершенно другой. Письма с каким-то словом для меня — 100% спам, а для вас — обычная деловая переписка."
Для меня это очень полезное и нужное условие.
Как я написал выше, каждое правило "чёрного списка" у меня проверяется на "хороших" письмах. Специально проверил ещё раз — данное условие не сработало ни для одного из 13825 писем.
Какие-то правила "чёрного списка" могут срабатывать и для "хороших" писем, но такие письма у меня принимаются по "белому списку" и до проверки "чёрным" не доходят.
Проверить получателей одного домена не проблема:
*To:"([^@]*@domain\.ru){6}" | *Cc:"([^@]*@domain\.ru){6}"
Конверт письма есть не у всех, а только у принимающих напрямую из интернета по SMTP. В отличие от поля To.
GrAnd wrote: | NAMOR wrote: | Условие: *Subject:"(([a-z][а-я]|[а-я][a-z]).*){2,}"
Описание: два или более сочетаний ru- и en-букв |
А смысл иметь два сочетания? Достаточно одного. Иначе будут просачиваться письма, у которых заменена на транслит только первая или последняя буква в теме. |
Любая, не только первая или последняя.
На данный момент у меня нашлось 17 "хороших" писем с "перепутанной" буквой. А вот с двумя буквами — ни одного. Поэтому и добавлена именно такая проверка.
Как и следовало ожидать, почти во всех найденных письмах "перепутана" буква "С": русская вместо латинской и наоборот. Так что можно попробовать сделать проверку на одну букву, за исключением "С", для которой оставить проверку на две буквы.
GrAnd wrote: | NAMOR wrote: | Условие: *Subject:"(р|p).(а|a).(с|c).(с|c)"
Описание: P?A?C?C [ылки]
Условие: *Subject:"(mail|ж(б|6)(а|a)).*(р|p).?(а|a).?(с|c).?(с|c)"
Описание: "Не дорогие e-mail рассылки", "Служба почтовых рассылок"
Условие: *Subject:"[a-zа-я]([^a-zа-я])([a-zа-я]\1){2,}"
Описание: "Р.Е.К.Л.А.М.А.", "E - M A I L РАССЫЛКА", "с*П*А*м" |
ИМХО, это можно объединить и упростить. Как-то они пересекаются. |
Я предпочитаю иметь три относительно простых в понимании правила, чем одного сложное.
GrAnd wrote: | NAMOR wrote: | 90% спама (у меня) "убивается" этими правилами и "Разрешёнными адресами получателей" в свойствах внешних почтовых ящиков. (Внешнюю почту принимаю только по POP3.) |
В этом-то и разница, что у меня всё приходит по SMTP в несколько десятков адресов-получателей. А структура спама, просачивающегося через PTR-проверку, несколько другая. |
Конечно, я и говорю, что к спаму нужно индивидуально подходить, а не слепо копировать чужие правила.
Свои правила я привёл не в качестве догмы, а как основу для творческой переработки под конкретные условия. |
|
Back to top |
|
|
GrAnd CMS Master
Joined: 21 Oct 2005 Posts: 766 Location: г. Коломна
|
Posted: 02 Oct 2013 13:09 (Wed) Post subject: |
|
|
NAMOR wrote: | У меня накопилось достаточно много спама с двойной угловой скобкой в поле To, поэтому я её и добавил.
Сейчас посмотрел — давно такого не приходило. Можно первую угловую скобку "<?" убрать. |
Я проверил - у меня с двойной угловой скобкой не было, но встречались письма, в которых в поле "To:" и имя и адрес были заключены в угловые скобки.
Quote: | Проверить получателей одного домена не проблема:
*To:"([^@]*@domain\.ru){6}" | *Cc:"([^@]*@domain\.ru){6}" |
А можно как-нибудь сделать имя домена в общем виде, чтобы не забивать конкретное? Работают ли в регулярных выражениях ленивые квантификаторы "*?" вместо жадных "*"? Ибо, без них как-то сложновато.
Quote: | Любая, не только первая или последняя.
На данный момент у меня нашлось 17 "хороших" писем с "перепутанной" буквой. А вот с двумя буквами — ни одного. Поэтому и добавлена именно такая проверка. |
Вот тут я малость не понял ...
Вот есть у нас тема "Договор на подключение". В слове "Договор" вторая "о" написана латиницей. Правило обнаружит два совпадения: "го" и "ов", хоть буква перепутана всего одна.
А вот если вместо второй "о" на латиницу будет заменено последнее "е", то это правило это не обнаружит, т.к. чередование всего одно: "ие".
Quote: | Я предпочитаю иметь три относительно простых в понимании правила, чем одного сложное. |
И это верно, хоть и отчасти. Три простых правила не только легче администрировать, но и работают они быстрее. Зато они в логах занимают три строчки (если ни одно из них не сработает) вместо одной. Что тоже бывает неприятно. _________________ Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец! |
|
Back to top |
|
|
NAMOR CMS Developer
Joined: 15 Oct 2005 Posts: 1079
|
Posted: 02 Oct 2013 18:05 (Wed) Post subject: |
|
|
GrAnd wrote: | Quote: | Проверить получателей одного домена не проблема:
*To:"([^@]*@domain\.ru){6}" | *Cc:"([^@]*@domain\.ru){6}" |
А можно как-нибудь сделать имя домена в общем виде, чтобы не забивать конкретное? Работают ли в регулярных выражениях ленивые квантификаторы "*?" вместо жадных "*"? Ибо, без них как-то сложновато. |
А как регулярное выражение "в общем виде" узнает имя вашего конкретного домена, массовую рассылку в который оно призвано распознать?
Ленивые квантификаторы в справке не описаны, значит, они не работают.
GrAnd wrote: | Quote: | Любая, не только первая или последняя.
На данный момент у меня нашлось 17 "хороших" писем с "перепутанной" буквой. А вот с двумя буквами — ни одного. Поэтому и добавлена именно такая проверка. |
Вот тут я малость не понял ...
Вот есть у нас тема "Договор на подключение". В слове "Договор" вторая "о" написана латиницей. Правило обнаружит два совпадения: "го" и "ов", хоть буква перепутана всего одна.
А вот если вместо второй "о" на латиницу будет заменено последнее "е", то это правило это не обнаружит, т.к. чередование всего одно: "ие". |
Если вы имеете в виду регулярное выражение (([a-z][а-я]|[а-я][a-z]).*){2,}, то и в первом случае совпадений оно не найдёт, поскольку поиск второго повторения начнётся с символа, следующего за последним найденным в первом повторении, то есть с "в". |
|
Back to top |
|
|
GrAnd CMS Master
Joined: 21 Oct 2005 Posts: 766 Location: г. Коломна
|
Posted: 02 Oct 2013 20:24 (Wed) Post subject: |
|
|
NAMOR wrote: | А как регулярное выражение "в общем виде" узнает имя вашего конкретного домена, массовую рассылку в который оно призвано распознать? |
Имеется в виду многократное повторение любого доменного имени. _________________ Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец! |
|
Back to top |
|
|
NAMOR CMS Developer
Joined: 15 Oct 2005 Posts: 1079
|
Posted: 02 Oct 2013 23:05 (Wed) Post subject: |
|
|
Условие: *To:"(@([-\w]+\.)+[-\w]+)(.+\1){5}" | *Cc:"(@([-\w]+\.)+[-\w]+)(.+\1){5}"
Описание: рассылка на адреса, среди которых не менее 6 находятся в одном и том же домене |
|
Back to top |
|
|
GrAnd CMS Master
Joined: 21 Oct 2005 Posts: 766 Location: г. Коломна
|
Posted: 03 Oct 2013 8:59 (Thu) Post subject: |
|
|
NAMOR wrote: | Условие: *To:"(@([-\w]+\.)+[-\w]+)(.+\1){5}" | *Cc:"(@([-\w]+\.)+[-\w]+)(.+\1){5}"
Описание: рассылка на адреса, среди которых не менее 6 находятся в одном и том же домене |
Однозначно в мемориз! Т.е., в настройки антиспама!
А оно работает-то без ленивых квантификаторов? _________________ Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец! |
|
Back to top |
|
|
NAMOR CMS Developer
Joined: 15 Oct 2005 Posts: 1079
|
Posted: 03 Oct 2013 10:12 (Thu) Post subject: |
|
|
Работает, проверял. |
|
Back to top |
|
|
GrAnd CMS Master
Joined: 21 Oct 2005 Posts: 766 Location: г. Коломна
|
Posted: 05 Oct 2013 17:29 (Sat) Post subject: |
|
|
NAMOR wrote: | Работает, проверял. |
Хорошее правило. Удаляет около 2/3 спама, просочившегося после проверки PTR-записи. Надобность во внешней утилите, подсчитывающей число SMTP-команд "MAIL TO:" в конверте, практически отпала, т.к. случаи прихода писем, у которых получателей много, а в поле "To:" перечислены 1-2, единичны и часто отсеиваются другими правилами.
Только параметр {5} заменил на {2}, т.к. обычно никто в 3 или более адресов нам письма не шлет. _________________ Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец! |
|
Back to top |
|
|
NAMOR CMS Developer
Joined: 15 Oct 2005 Posts: 1079
|
Posted: 05 Oct 2013 21:34 (Sat) Post subject: |
|
|
Рад, что правило оказалось столь полезным. Господа админы, берите на вооружение |
|
Back to top |
|
|
GrAnd CMS Master
Joined: 21 Oct 2005 Posts: 766 Location: г. Коломна
|
Posted: 15 Oct 2013 11:47 (Tue) Post subject: |
|
|
Маленький отчет о работе черного списка за неделю.
Почта принимается исключительно по SMTP. Около 80% спама отсекается при проверке PTR-записи отправителя. Более 90% оставшегося спама задерживаются следующими правилами:
Code: | Antispam (black list)
Date Count Condition
14.10.2013 988 *To:"(@([-\w]+\.)+[-\w]+)(.+\1){2}" | *Cc:"(@([-\w]+\.)+[-\w]+)(.+\1){2}"
14.10.2013 157 Return-Path:"<>"|Message-ID:""&In-Reply-To:""
14.10.2013 126 *To:"(^|\s)([""']?)([-\w.]+)\2\s*<\3@"
11.10.2013 18 *Subject:"(([a-z][а-я]|[а-я][a-z]).*){2,}" |
Очет получен при помощи утилиты анализа работы антиспама: http://www.courierms.ru/forum/viewtopic.php?t=876
Пояснения:
1. Число получателей в полях "To:" или "Cc:" больше 2.
2. Пустышка в поле "Return-Path:" или одновременно отсутствуют поля "Message-ID:" и "In-Reply-To:".
3. Имя получателя совпадает с его локальным почтовым адресом (левой частью до собаки).
4. Не менее двух латинских символов в составе слов, написанных кириллицей.
Есть еще отдельные правила, но они специфические - ловят рассылки с некоторых сайтов или настроены на определенные слова в темах. Да и срабатывают они не очень часто.
Таким образом, при помощи проверки PTR и этими четырьмя правилами можно отсечь около 98% спама. _________________ Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец! |
|
Back to top |
|
|
OMEN Subscriber
Joined: 06 Jul 2010 Posts: 22 Location: Жуковский
|
Posted: 05 Nov 2013 16:05 (Tue) Post subject: |
|
|
GrAnd wrote: | Маленький отчет о работе черного списка за неделю.
Около 80% спама отсекается при проверке PTR-записи отправителя. | А эта проверка PTR-записи отправителя происходит автоматом или нужно писать какие-то правила? _________________ Рег. номер: ***62DE0 |
|
Back to top |
|
|
GrAnd CMS Master
Joined: 21 Oct 2005 Posts: 766 Location: г. Коломна
|
Posted: 05 Nov 2013 20:19 (Tue) Post subject: |
|
|
OMEN wrote: | А эта проверка PTR-записи отправителя происходит автоматом или нужно писать какие-то правила? |
Нет, в самом простом случае никаких правил писать не надо. Проверка заключается в том, что MTA (в данном случае CMS) обращается к доверенному сервису с вопросом: "А кто это такой? Ты его знаешь?" В роли доверенного сервиса выступает глобальная служба DNS. Если сервер DNS отвечает, что не знает никакого домена под этим IP или обнаруживаются несоответствия в прямой и обратной записях для этого домена, то соединение со стороны такого клиента признается нелигитимным и рвется с оповещением отказа. В самом деле, отправлять напрямую письма без промежуточных релеев должны только организации с собственными MTA (в т.ч. с публичными или открытыми). Но для нормального функционирования таких MTA необходимо иметь зарегистрированный и правильно оформленный домен. Иначе смысла такого использования нет - одни расходы. Если же домен не зарегистрирован, либо оформлен кое-как, то с вероятностью 99,999% коннект производится со стороны частного компьютера или даже рядового компьютера организации (не MTA), зомбированного спамботом.
В более сложном случае можно дополнительно отсекать по шаблону доменные имена, соответствующие динамическим пулам или Dial-Up соединениям. Для этого достаточно в настройках SMTP-сервера CMS поставить соответствующую галочку. Пока что я у себя не вижу в этом необходимости, но надо будет проанализировать внимательнее пропущенный спам. Может быть и включу.
Это и есть единственное дополнительное правило фильтрации. Можно написать свое, можно пользоваться готовым. _________________ Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец! |
|
Back to top |
|
|
OMEN Subscriber
Joined: 06 Jul 2010 Posts: 22 Location: Жуковский
|
Posted: 07 Nov 2013 11:03 (Thu) Post subject: |
|
|
Спасибо за развернутый ответ. _________________ Рег. номер: ***62DE0 |
|
Back to top |
|
|
vgkuser Newbie
Joined: 25 Oct 2005 Posts: 3
|
Posted: 23 Dec 2013 7:59 (Mon) Post subject: |
|
|
[/quote]А эта проверка PTR-записи отправителя происходит автоматом или нужно писать какие-то правила?[/quote]
День добрый
Что искать в логах, чтобы понять отказ по PTR-записи ?
Почта приходит на один комп(там стояла спам оборона), а с него уже на основной. Проверка работает в этом случае? |
|
Back to top |
|
|
|
|
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
|