pf и борьба со спамом

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
i_mon
проходил мимо
Сообщения: 5
Зарегистрирован: 2006-11-21 11:34:06

pf и борьба со спамом

Непрочитанное сообщение i_mon » 2007-09-21 10:07:04

к статье http://www.lissyara.su/?id=1301 был комментарий. (Eugene, 2007-01-27 в 8:23:08)
Eugene использовал для борьбы со спамом pf.
Привожу цитату:
Eugene, 2007-01-27 в 8:23:08

использовать контентные фильтры - мне кажецца нецелесообразно - при больших потоках сервер просто нагибается.
Пробовал spamassasin (и сразу выкинул) bogofilter и dspam. Вcё это в большей или меньшей степени тормозит.
Кроме того использовать "международные" черные списки - тоже весьма горбато. Эти умники бывает банят целые сети - куда попадают невинные люди.
В общем понаблюдав за спамом сделал так.
Так как спам прет в 99% с затрояненых windowz буржуюских и не только машин

Установил pf+spamd для перенаправления на порт spamd добавил такое правило в pf.conf
rdr pass inet proto tcp from !<spamd-white> os "Windows" to any port 25 -> 127.0.0.1 port 8025
то есть все коннекты с виндовых хостов на spamd

далее настройки эксима (у меня используется sqlite + dovecot. И есть таблица access)
acl_check_connect:
тут правило которое дропает соединения с отпределенных IP

acl_check_hello:
- дропать коннекты где в HELO пихают мой адрес
- дропать где пустое и неопреленное HELO
- дропать если HELO состоит из одного слова без точек
- дропать если пихает мой домен/хост в HELO

acl_check_rcpt:
- если в имени хоста есть adsl,ppp и тому подобное задержка в 20сек
- задержка в 20 сек если в имени хоста есть последовательноость типа a.b.c.d или a-b-c-d (где a-d числа, так многие провайдеры называют модемные пулы)

- задержка в 20 сек если у отправляеющего хоста нет PTR записи в DNS.

после этого практически весь спам пропал !
пробивается спам теперь только с UNIX хостов, но таких очень мало :)

у меня в день могло наприходить в районе 5-10 спамовых писем сейчас нет ни одного.

в общем если интересно могу написать подробнее. типа статейки :)
куда прислать ?
Вопрос к специалистам. Кто нибудь использует это на приктике? Поделитесь секретами.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

cyrus_user
сержант
Сообщения: 181
Зарегистрирован: 2007-04-24 12:16:36

Re: pf и борьба со спамом

Непрочитанное сообщение cyrus_user » 2007-09-21 11:04:36

все приведённые условия в exim реализовать очень просто. 5-6 и 0 это недалёкие показатели, а 20k и 5-6 это показатель, что означает - приведена базовая схема проверок, а у практически любого она расширена.

за всеми(?) примерами по сообщению посмотреть тут: http://www.sput.nl/software/exim.html

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: pf и борьба со спамом

Непрочитанное сообщение dikens3 » 2007-09-21 13:24:58

Староватая дока однако.
# Helo should not be RFC 1918 address
deny hosts = !+relay_from_hosts
message = RFC 1918 IP address in HELO.
condition = ${if match\
{$sender_helo_name}\
{\N^(\[)?(10\.[0-9]{1,3}|172\.(1[6-9]|2[0-9]|31)|192\.168)\.[0-9]{1,3}\.[0-9]{1,3}(\])?$\N}\
{yes}{no}}
Лучше так:
# Прибиваем, если IP-Адрес в HELO
deny message = IP in HELO/EHLO - access denied.
condition = ${if isip4{$sender_helo_name}{yes}{no}}
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

cyrus_user
сержант
Сообщения: 181
Зарегистрирован: 2007-04-24 12:16:36

Re: pf и борьба со спамом

Непрочитанное сообщение cyrus_user » 2007-09-24 8:05:43

dikens3 писал(а):Староватая дока однако.
# Helo should not be RFC 1918 address
deny hosts = !+relay_from_hosts
message = RFC 1918 IP address in HELO.
condition = ${if match\
{$sender_helo_name}\
{\N^(\[)?(10\.[0-9]{1,3}|172\.(1[6-9]|2[0-9]|31)|192\.168)\.[0-9]{1,3}\.[0-9]{1,3}(\])?$\N}\
{yes}{no}}
Лучше так:
# Прибиваем, если IP-Адрес в HELO
deny message = IP in HELO/EHLO - access denied.
condition = ${if isip4{$sender_helo_name}{yes}{no}}
разные условия.. в оригинале в helo запрещаются ip-шники "локальных" сетей, вы же запрещаете в helo вообще IP-шник, конечно это более эффективно, но в rfc нет явного запрета на IP адрес в helo

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: pf и борьба со спамом

Непрочитанное сообщение dikens3 » 2007-09-24 12:21:08

Ну по памяти там вообще-то можно использовать IP-Адрес в случае если нет возможности указать корректное HELO/EHLO. Что-то типа того. Но у меня таких клиентских почтовиков не встречалось, так что блокирую пока не надоест. :-)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.