После того, как количество ежедневно приходящего спама стало уже реально напрягать, я озаботился методами борьбы с ним. На сервере у меня стоит Postfix. В качестве экспериментального метода борьбы была избрана технология серых списков (grey lists). Почитать подробнее можно здесь. В двух словах: при использовании данного механизма в случае соединения с вашим почтовым сервером, он не будет принимать почту сразу, а занесет IP-адрес сервера-отправителя в серый список; самому же отправителю (серверу) вернется ошибка "сервис временно недоступен". Далее: если через некоторое время сервер-отправитель повторит попытку - он считается добропорядочным почтовым сервером, и его IP-адрес заносится в белый список, - а в дальнейшем письма от него будут приниматься уже сразу (минуя искусственную задержку).
Механизм серых списков на Postfix можно организовать разными вспомогательными средствами. Я для себя выбрал PostGrey. Выбор был быстрым и стремительным - скачал первое на что наткнулся, настроил - работает. Скачать данный плагин можно на странице автора: http://postgrey.schweikert.ch/
Сам PostGrey писан на Perl, и требует для своей работы такие модули:
Инсталляции скрипт не требует - все делается довольно просто и быстро. Вопреки рекомендациям, я не стал распаковывать его в отдельный каталог, а закинул прямо в /etc/postfix - где располагаются конфиги самого Postfix.
Конфигурируем PostGrey: тут всего два файла. Это postgrey_whitelist_clients и postgrey_whitelist_recipients. В первом файле нужно указать домены, которые мы априори считаем "чистыми" - белый список отправителей. Во втором файле нужно указать домены (ящики), на которые к нам приходит почта. Дальше нужно открыть сам скрипт и указать куда складировать результаты его работы - например, /var/spool/postfix/postgrey - права и владельца на него нужно указать таким образом, чтобы postgrey имел туда полный доступ. Запуск скрипта осуществляется примерно таким образом
/etc/postfix/postgrey --inet=127.0.0.1:10023 --group=postdrop --user=postfix --daemonize
Конфигурирование Postfix: тут надо сходить в файл /etc/postfix/main.cf и добавить там в параметр smtpd_recipient_restrictions после фразы reject_unauth_destination фразу check_policy_service inet:127.0.0.1:10023 - после чего рестартовать Postfix.
После упомянутых манипуляций мы получим слушающий на порту 10023 скрипт Postgrey, и перенаправление входящей почты Postfix'ом на него. Точнее, - применения политики серых списков.
Эффективность такого метода меня приятно удивила - спама не стало практически вовсе. Если раньше за сутки сыпалось до нескольких сотен единиц всякого мусора, то теперь это 1-2 за несколько дней.
12 ответов
Idol
Декабрь 25th, 2007 в 17:02 пп
1А вас не смущает то что есть много ‘кривых’ клиентов, от который письма вовсе не дойдут?
Для дома - еще ладно, а вот в конторе я бы такое использовать не стал.
EraZer
Декабрь 25th, 2007 в 22:42 пп
2Конечно, есть кривые клиенты, - что уж тут поделать. Клиенту при отбое сообщается причина и линк на страницу с подробными пояснениями. Т.е. , админ имеет возможность оценить обстановку, и принять соответствующие меры.
С другой стороны - для всех хорошим не будешь, и гарантировано избавиться от спама “на автомате” вряд ли вообще возможно на данный момент.
В моем же случае ложных срабатываний пока не было - все “белые” клиенты успешно доставляли почту. Сервер обслуживает несколько сотен ящиков.
Безусловно, это не панацея - но как вариант.
Idol
Декабрь 26th, 2007 в 7:06 дп
3Вот у меня:
сервак, 90 почтовых ящиков. Кол-во писем в день: 20 000 входящих (примерно). Рельно из них нужно 200-300.
policyd-weidth + dbl + spamsassassin отсеивает 90% спама.
А вот postgrey показал себя с интересной стороны:
около 20 нужных нам клиентов не могли отправить почту к нам, и проблемма в том что там (в качестве клиента) сидит женьщина 45 лет, которая eng не знает, и не понимает что ей там написанно в случае если письмо не отправленно.
А учитывая что mail.ru и подобные сервисы, повторную отправку делают с разных ip (по логам посмотрите), соответственно postgrey будет блокировать и блокировать :/ Тут выход сервисы вида mail.ru не postgrey не проверять … но всех их не внесешь -> сервис убрал
Idol
Декабрь 26th, 2007 в 7:07 дп
4Ах да, забыл …
Вот еще одна проблемма postgrey:
письмо которое было заблокированно и ждет подтверждение отправки - в случае если подтверждения нет, его достать не где.
Те письмо не принимается, а просто сразу отшибается :/ -> если что-то надо достать и проверить , это не получится.
Spamassassin и clmav например умеет в карантин складывать )
shrdlu
Декабрь 30th, 2007 в 22:21 пп
5Проблемы с сервисами типа mail.ru надуманы, и решаются занесением соответствующих доменов в белый список. Описание проблемы с “заблокированным письмом, ждущим подтверждения отправки” оставим на совести описавшего эту “проблему” - не могу себе даже теоретически представить эту ситуацию. То же самое и с “женщиной 45 лет, не знающей английского” - такая ситуация может возникнть только в том случае, если postgrey настроен грейлистить письма из доверенных внутренних подсетей - а это не проблема грейлистинга, а проблема того криворукого админа, который не понимает, что trusted networks должны быть исключены из грейлистинга.
Использую серые списки с 2004 года, за это время не было ни одного ложного срабатывания или потери почты по вине postgrey, а отвечать за ошибки, допущенные при настройке чужих почтовых серверов не входит в служебные обязанности администратора.
Alex
Апрель 25th, 2008 в 7:12 дп
6> Проблемы с сервисами типа mail.ru надуманы
НЕт, не надуманы..
Всегда ли отправка идет с MX. Нет…Пример:
dig mail.ru mx
…..
mail.ru. 421 IN MX 10 mxs.mail.ru.
….
Заносим в postgrey_whitelist_clients запись о mxs.mail.ru…И что же..
А ничего, т .к. отправляется с mx48.mail.ru, mx40.mail.ru ну и т.д…
Задолбаешься все эти mx40 (а сейчас и всяки f29 появилтсь) заносить, А народ ничего 2-3 ничего получать не будут, подождут..Мы тут решаем надумана проблеиа или нет..
Alex
Апрель 25th, 2008 в 7:14 дп
7> отвечать за ошибки, допущенные при настройке чужих почтовых серверов не входит в служебные обязанности администратора.
Прикольно, конечно. Почта не ходит, а тебе все равно (с 2004 года), у меня все настроено как надо и отстаньте, у меня все правильно и не криво…
Влад
Май 2nd, 2008 в 18:36 пп
8Если письмо лежит в очереди на каком нибудь mx40.mail.ru, то почему следующая попытка пойдет с mx48.mail.ru? =)
Постепенно все сервера занесутся в доверенную зону. Сам пользуюсь грейлистером, и могу заверить, что описанной Idol относительно почтовых сервисов имеющих несколько сендеров проблемы нет, и если у вас были ошибочные отлупы, искать надо в другом месте. Мне кажется, что это неверное теоретическое предположение.
Александр
Июнь 3rd, 2008 в 6:47 дп
9я занес в белый список просто “mail.ru” и работает без проблем
Touch
Июнь 10th, 2008 в 17:01 пп
10Анахренизм полнейший, spamassassin вам в помощь, тихо и без лишнего ТУПОГО шума.
Админ
Июль 15th, 2008 в 14:50 пп
11Красноглазых кулхацкеров не спрашивали.
Роза
Сентябрь 28th, 2008 в 21:05 пп
12Надеялась всегда создать что-нибудь подобное, но руки не дошли. Как только открыла ваш сайт, сразу пришло на ум, что мог бы быть эталоном.
RSS комментарии · TrackBack URI
Оставить комментарий
Рубрики
Архив
Ссылки
Meta
Популярные статьи
Календарь
Интернет Юмор ад английский борьба видео война волшебник грипп гуреев дерево жизнь изучение иностранный история книги поступки работа рай рекомендую словарь спамер стандарт стихи счастье температура тенере украина хаб цифровой чат язык blu-ray dc dvd grey hd hub lists postfix sony spam toshiba wordpress
Последние записи
Последние комментарии
Самые комментируемые
"“Сторінка” - об интересном" работает на WordPress