Довольно часто мои пользователи, получив пару писем со спамом в день, обращаются ко мне с вопросом: «Что-то у нас, Паша, спам прорывается!» Поэтому мои мозг всегда думает о том, как улучшить систему борьбы со спамом.
Придумывать тут особо нечего, т.к. все мыслимые и немыслимые алгоритмы известны. RBL, SenderID хорошо работают, но не очень эффективно. Есть еще технология Greylisting, которую я раньше использовал и не раз о ней писал в блоге, но потом отказался от нее по каким-то причинам. Вкратце суть сводится к следующему. Задача спам сервера — разослать в единицу времени как можно больше писем. А задача нормального сервера — доставить сообщение адресату. Чувствуете разницу?
Поэтому спам сервер НИКОГДА не будет пытаться доставить сообщение ПОВТОРНО, это слишком ресурсозатратная операция. Фильтр с greylisting ВСЕГДА отбивает первую попытку любого сервера отправить сообщение и запоминает его IP и e-mail в своей базе. Код отбивки, как правило, «451
Я же решил еще раз проверить, как работает greylisting в живой системе, сделать выводы и собственно использовать. На одном из своих серверов со второй MX записью, во вторник, часа в четыре дня его активировал. Смотрим график.
Как говорит Сергей Зверев —«Звезда в шоке!» Количество сообщений с 7-8 тысяч в день уменьшилось до 50. И то, примерно 45 из них проходят по белым спискам на postmaster. Я сейчас очень внимательно наблюдаю за логами на предмет ложных срабатываний.
«Но не все так хорошо в Доме 2!» Безусловно у технлогии Greylisting есть и слабые стороны. Мне известно несколько недостатков:
- Увеличение времени доставки сообщения. Как минимум оно увеличивается на 5-15 минут, но в зависимости от конфигурации отправляющего сервера оно может увеличиться до нескольких часов или вообще не придти. Не все серверы умеют корректно работать с этой технологией.
- В некоторых случаях, у крупных почтовых провайдеров или больших компаниях, где отправку осуществляет большой пул серверов, все сообщения попадают в одну очередь и отправляются с разных серверов. Поэтому попытки отправить одно сообщение могут быть с разных серверов и значит разных IP. Соответственно технология greylisting тут сработает только во вред.
Уменьшить, но не побороть эти проблемы можно с помощью «белых списков» и запоминанием маски IP.
А можно ли использовать эту технологию в Exchange? Можно, но только от третьих производителей. Микрософт по умолчнаию ее не поддерживает(
В общем я продолжаю эксперименты, наблюдаю за логами и скоро поставлю в живую систему. Мне очень интересно ваше мнение, ваш опыт. Давайте поговорим об этом.
p.s. Сегодня предпраздничный день. Завтра мы все побежим утром покупать цветы для наших любимых. Не забудьте, пожалуйста, поздравить ваших коллег сегодня, а любимых завтра. А если есть девушки, которые читают этот блог, то
Я Вас поздравлю от всей души, желаю здоровья и женского счастья. Помните, что не было бы вас, то и мужикам жить было не интересно. И все, что мы делаем, это ради вас и детей.