Страница 1 из 1

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

Добавлено: 2007-09-21 10:07:04
i_mon
к статье 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 спамовых писем сейчас нет ни одного.

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

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

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

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

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

Добавлено: 2007-09-21 13:24:58
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}}

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

Добавлено: 2007-09-24 8:05:43
cyrus_user
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

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

Добавлено: 2007-09-24 12:21:08
dikens3
Ну по памяти там вообще-то можно использовать IP-Адрес в случае если нет возможности указать корректное HELO/EHLO. Что-то типа того. Но у меня таких клиентских почтовиков не встречалось, так что блокирую пока не надоест. :-)