The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от opennews on 09-Июн-09, 12:52 
Утилита SpamBlock (http://sources.homelink.ru/spamblock/) слушает заданный интерфейс через tcpdump и заносит в ipfw-таблицу клиентов, слишком часто пытающихся открывать сессии на TCP-порт 25. Разрешённая частота обращений к 25 порту задаётся через файл конфигурации. Файрволл ipfw должен содержать правило блокировки 25 порта для IP-адресов, находящихся в указанной таблице. При необходимости spamblock может быть легко приспособлен к любому файрволлу, например, к pf или iptables.

URL: http://sources.homelink.ru/spamblock/
Новость: http://www.opennet.dev/opennews/art.shtml?num=22071

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от Жирный ублюдок DBA on 09-Июн-09, 12:52 
А какой смысл если спамят все равно с ботнетов? :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от Ilya Evseev email on 09-Июн-09, 13:30 
> А какой смысл если спамят все равно с ботнетов? :)

Мне нужно блокировать зараженные компьютеры в собственной сети
(домашняя сеть на несколько тысяч клиентов).
Предыдущий вариант реагировал недостаточно оперативно:
http://www.google.ru/search?q=Ilya+Evseev+newsyslog+ipfw+count

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от mitiok (??) on 09-Июн-09, 13:38 
pf:

# block local spambots
block drop in quick on $int_if proto tcp from <spambots> to port 25
pass in quick on $int_if proto tcp from any to port 25 flags S/SA keep state (max-src-conn-rate 5/60, overload <spambots> flush )


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от Ilya Evseev email on 09-Июн-09, 13:52 
Во-первых, у меня не pf :)

Во-вторых, кроме блокировки, делаются уведомления и ведётся статистика,
чтобы можно было объяснить клиенту, когда конкретно и за что именно его закрыли.

Понятно, что решение с pf будет работать быстрее,
но обертка вряд ли получится намного компактнее.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от PereresusNeVlezaetBuggy email(ok) on 09-Июн-09, 14:06 
>Во-первых, у меня не pf :)
>
>Во-вторых, кроме блокировки, делаются уведомления и ведётся статистика,
>чтобы можно было объяснить клиенту, когда конкретно и за что именно его
>закрыли.
>
>Понятно, что решение с pf будет работать быстрее,
>но обертка вряд ли получится намного компактнее.

Достаточно мониторить таблицу: либо из крона (тут хоть шелл-скриптом), либо демоном (лучше на C сваять тогда, pf(4) всё вполне подробно описывает). Каждая система предусматривает свои решения… В случае с ipfw логичнее ваше способ, конечно.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от netc email(ok) on 09-Июн-09, 13:15 
pf - вот это законченное решение

жалко только, что когда ставишь synproxy  на правило с ssh слущающем к тому, же на tun интерфейсе ssh не работает ;(

все остальное устраивает

а в целом удобно, понятно и просто в отличии ИМХО от iptables

но это моё мнение!

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от Vaso Petrovich on 09-Июн-09, 13:39 
>а в целом удобно, понятно и просто в отличии ИМХО от iptables

не осилил, не пались...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от netc email(ok) on 09-Июн-09, 13:46 
1. а что есть решение моей наболевшей проблемы с synproxy и ssh?

2. или ты имел в виду iptables
почему же не осилил, осилил понравилось: есть свои плюсы

но pf понравился куда больше

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от PereresusNeVlezaetBuggy email(ok) on 09-Июн-09, 14:08 
>>а в целом удобно, понятно и просто в отличии ИМХО от iptables
>
>не осилил, не пались...

Ну я вот осилил, и что? Всё равно бегу от него как чёрт от ладана. iptables, конечно, предоставляет больше абстрактных возможностей — зато pf делает то, что требуется, с минимальными потерями. Конечно, можно пользоваться fwbuilder'ом…

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от PereresusNeVlezaetBuggy email(ok) on 09-Июн-09, 14:04 
synproxy нужен только для правил, управляющим проходящими потоками, для TCP-соединений, инициированых самой машиной, либо к самой машине, оно просто неактуально. Почитайте внимательно ещё раз его описание. :) Или я вас неправильно понял?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от mitiok (??) on 09-Июн-09, 13:34 
имхо маразматично. лучшеб добавили возможность как в pf: max-src-conn-rate N/M, overload table. можно былоб и спам резать и перебор паролей на ссш/фтп. непонятный инструмент...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от Ilya Evseev email on 09-Июн-09, 13:57 
> лучшеб добавили возможность как в pf: max-src-conn-rate N/M, overload table.

У меня примерно это и делается, только без привязки к конкретному файрволлу, и с оповещениями+статистикой.

> можно былоб и спам резать и перебор паролей на ссш/фтп.

При желании можно дописать spamblock, чтобы он работал с несколькими портами,
но для меня актуален только smtp.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от XoRe (ok) on 09-Июн-09, 17:21 
>> лучшеб добавили возможность как в pf: max-src-conn-rate N/M, overload table.
>
>У меня примерно это и делается, только без привязки к конкретному файрволлу,
>и с оповещениями+статистикой.
>
>> можно былоб и спам резать и перебор паролей на ссш/фтп.
>
>При желании можно дописать spamblock, чтобы он работал с несколькими портами,
>но для меня актуален только smtp.

В свое время, частично решил проблему с помощью:
ipfw allow tcp from any to not me 25 in limit 10
=)

limit - динамическая конструкция, поведением динамических правил (устаревание и т.д.) ведает sysctl:
sysctl -a | grep dyn

От себя могу подкинуть пару идей:

- Прозрачный smtp прокси.
В свое время это делалось с помощью sendmail и ipfw:
forward 127.0.0.1,1025 tcp from any to not me 25 in
Спам практически не пропускался.
Пока антивирус (clamd) не отваливался =)
sendmail (особенно с антивирусом и антиспамом) - это довольно тяжелая штука для такого проксирования)
Можно взять nginx - это и smtp прокси, он с этим справится лучше.
Ну а конфигурять его можно хорошо.

- Анализирование dns запросов от клиентов насчет MX записей.
Обычно, от клиентов таких запросов нет.
Можно указать tcpdump-у вылавливать такие запросы - это хороший показатель спамботов.

- Можно вместо tcpdump использовать ng_bpf из netgraph.
Правда там довольно гемморойно передавать строку фильтра, но думаю, работать будет куда быстрее - прямо в ядре.

- Ещё в свое время заметил, что пакеты от спамботов имеют окно 24000.
Так же можно настроить tcpdump или ng_bpf на отлов таких пакетов.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от Arti (??) on 09-Июн-09, 17:37 
На самом деле подобных программ много.
Вообще использование tcpdump выглядит мягко говоря экзотически.

Как тут писалось задачу можно решить используя только пакетный фильтр.

Если нужно больше возможностей по логированию и оповещению, можно воспользоваться внешней программой например http://smtp-proxy.klolik.org/

Тут уже можно фильтровать по типу аутентификации, частоте и т.п. правда гоняет много данных через юзерспайс ... Защитить программу от доса можно на уровне пакетного фильтра. Кстати при желании можно прикрутить туда антивирус, хотя такая возможность, на мой взгляд, является скорее опасной чем полезной...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от XoRe (ok) on 09-Июн-09, 17:53 
Прошу воспринимать все предложения не в контексте "это не нужно, ибо уже есть вот".
А в контексте "это можно заюзать для улучшения скрипта".
=)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

18. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от Arti (??) on 09-Июн-09, 18:10 
Не... не ДО или ПОСЛЕ а взамен ;)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

19. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от Anton Kvashin on 10-Июн-09, 15:03 
Подобное делали на openbsd (с pf'ом конечно).

Как вариант (для Linux, например), поставить MTA (exim, который умеет ratelimit, smtp auth-форвардинг), на который заводить весь smtp-трафик и анализировать логи, делая блокировку/перенаправление с помощью fail2ban (умеет дружить с iptables, tcp wripper, ipfw).

Тем самым, можно выделить не только агрессивные подключения, но и любые неугодные вашей smtp-политике. Плюс проверка на вирусы, etc.

fail2ban добавит/удалит автоматически (bantime) нужные цепочки (можно определять свои), ну а веб-сервер выдаст предупреждение-заглушку юзеру на обращение по любой ссылке.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

20. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от medj on 11-Фев-10, 12:00 
Кто знает что в логи выводит данная утилита? Конечно, использование tcpdump Тож смущает..
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

22. "Re: что в логи выводит данная утилита? "  +/
Сообщение от Ilya Evseev email on 29-Апр-10, 03:37 
> что в логи выводит данная утилита?

Кусок из реальной жизни:
...
[2009.06.01 11:34:41]    192.168.1.21    457:36430
[2009.06.01 11:34:42]    10.11.22.25     1798:36431
[2009.06.01 11:34:42]    10.11.22.25     1799:36431
[2009.06.01 11:34:42]    10.11.22.25     1800:36431    5:11 10:18 15:30 20:39 60:105 300:525
[2009.06.01 11:34:42]  Block 10.11.22.25: trap by rule 300:600 ticks:seconds, actually 525 seconds
[2009.06.01 11:34:44]    192.168.1.21    458:36433
[2009.06.01 11:34:46]    192.168.1.21    459:36435
[2009.06.01 11:34:48]    192.168.1.21    460:36437    5:13 10:25 20:50
...
"457:36430" означает "за 36430 секунд с начала работы Спамблока данный клиент стучался на 25 порт 457 раз".

"5:13 10:25 20:50" означает - "5 последних обращений на 25 порт произошли в течение 13 секунд, 10 последних обращений - в течение 25 секунд, 20 обращений - за 50 секунд".

Эта статистика выводится каждый раз, когда фактическое количество становится кратным количеству в соответствующих правилах, т.е. надо принимать решение - блокировать или нет?

Клиент 10.11.22.25 был заблокирован, т.к. 300 обращений у него произошли менее чем за 600 секунд.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

21. "Утилита для блокировки спамеров на шлюзе с пакетным фильтром..."  +/
Сообщение от Ilya Evseev email on 29-Апр-10, 03:23 
Теперь поддерживаются: pf, ipfw2, iptables, iptables+ipset.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру