Для RHEL 5 / CentOS 5 исходники модуля TARPIT можно загрузить здесь:
http://enterprise.bih.harvard.edu/pub/tarpit-updates/old-pat...TARPIT позволяет организовать коннект в пустоту (соединение не закрывается, но ничего не происходит).
Я скачал 2.6.19 версию, собирается без проблем при наличии пакета kernel-devel и простого makefile:
obj-m += ipt_TARPIT.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
all:
make -C $(KDIR) M=$(PWD) modules
clean:
make -C $(KDIR) M=$(PWD) cleanЧтобы при обновлении ядра модуль автоматом подхватывался, нужно зарегистрировать модуль через
/sbin/weak-modules
Пример использования:
iptables -A INPUT -p tcp -m tcp -dport 80 -j TARPIT
URL:
Обсуждается: http://www.opennet.me/tips/info/1935.shtml
чтож ты парень, как сделать написал, а для чего это нужно - нет..! ;)
Эх, вот бы кто debian-way подсказал. :-)
А то все известные мне способы превращают дебиан в LFS =)
>Эх, вот бы кто debian-way подсказал. :-)http://packages.debian.org/lenny/netfilter-extensions-source
В Lenny...
А как собрать? Всё ядро придется пересобирать?
>А как собрать?module-assistant'ом, видимо.
http://kernel-handbook.alioth.debian.org/ch-common-tasks.htm...> Всё ядро придется пересобирать?
По идее, нет.
>Эх, вот бы кто debian-way подсказал. :-)В Debian eсть еще xtables-addons см. http://www.wzdftpd.net/blog/
# iptables -t filter -A INPUT -m tcp -p tcp --dport 666 -j TARPIT
Ошибка сегментирования
Что-то не срослось. :)
А жаль.
Боюсь, что если я чего там наисправляю, то оно мои ресурсы есть начнет. ;-)
>--dport 666Может все дело в номере порта? xD
Едва ли кто нибудь из нас желал бы угодить в ловушку, если конечно вы цените свою жизнь. Расширение TARPIT представляет собой эквивалент ловушки -- попавшему в нее не удастся быстро выбраться на свободу. Если вы были настолько неблагоразумны, что попытались установить соединение с портом-ловушкой, то обнаружите, что закрыть такое соединение (и освободить тем самым системные ресурсы) не так-то просто.Чтобы добиться такого эффекта, iptables подтверждает запрос на TCP/IP соединение и устанавливает размер окна равным нулю, что вынуждает атакующую систему прекратить передачу данных -- очень напоминает нажатие комбинации Ctrl+S в терминале. Любые попытки атакующего закрыть соединение игнорируются, таким образом соединение остается открытым, пока не истечет срок тайм аута (обычно 12-24 минуты), что в свою очередь приводит к расходу системных ресурсов атакующей системы (но не системы-ловушки). Правило, создающее ловушку может выглядеть примерно так:
iptables -A INPUT -p tcp -m tcp -dport 80 -j TARPIT
источник: http://gazette.linux.ru.net/rus/articles/iptables-treasures....
В последних ядрах не компилируется это расширение.
>размер окна равным нулю,У мну такое ощущение что современные линухи на это не покупаются.Или что в дмесг означает ругань про то что ремота такая-та shrinks window, repaired?(встречается при юзеже P2P например, где далеко не все ремотные машины дружественны и как раз полно тех кто хотел бы затормозить работу P2P сетей).
включил у себя для sendmail, взято с этого сайта:
iptables -A INPUT -p tcp -m tcp --sport 1024:65535 --dport 25 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 1024:65535 --dport 25 -m state --state NEW -m hashlimit --hashlimit 1/s --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name SMTP --hashlimit-name SMTP -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 25 -j LOG --log-level debug --log-prefix "SMTP Flood "
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 25 -j TARPITМожет кому пригодиться...
прикольно ;)
вопрос т.е. все что не есть гуд "идет" в ловушку ;) умно
ребят ну не так опытен как Вы подскажите пожалуйста1. iptables -A INPUT -p tcp -m tcp --sport 1024:65535 --dport 25 -m state --state ESTABLISHED -j ACCEPT
2. iptables -A INPUT -p tcp -m tcp --sport 1024:65535 --dport 25 -m state --state NEW -m hashlimit --hashlimit 1/s --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name SMTP --hashlimit-name SMTP -j ACCEPT
3. iptables -A INPUT -p tcp -m tcp --dport 25 -j LOG --log-level debug --log-prefix "SMTP Flood"
4. iptables -A INPUT -i eth0 -p tcp -m tcp --dport 25 -j TARPIT
По сути читая данные цепочки я вижу что все это отночиться к 25 порту тобишь smtp серверу
Насколько я понимаю
1. пропускать уже установленные
2. пропускать новые + ... man iptables
3. ??? все остальные пакеты записывать в лог и помечать как "SMTP Flood" или вообще все записываться будут
4. все входящие на eth0 (внешку я так понимаю) к 25 порту в TARPIT или же оставшиеся от 1. и 2.извините ;( учусь
2. новые не более одного в секунду с пиками не более двух
3. остальное в лог как флуд
4. и в TARPIT их, паршивцев.Только как-то это радикально больно.
>2. новые не более одного в секунду с пиками не более двух
>
>3. остальное в лог как флудобычно в dmesg
>4. и в TARPIT их, паршивцев.
>
>Только как-то это радикально больно.читай dmesg, увидишь кто они, сколько их..
>обычно в dmesgВ сислог, так что /var/log/messages
>>4. и в TARPIT их, паршивцев.
>>
>>Только как-то это радикально больно.
>
>читай dmesg, увидишь кто они, сколько их..Читаю (см. выше), вижу. Но с почтой, когда доменов сотни, а ящиков тысячи, надо осторожно, и тарпит тут совсем не в тему.
спасибочки конечно не только тебе но и всем ! молодцывот пожалуйста ответьте еще на один вопрос можно тоже самое сделать для http, pop3, imap, pptp и т.д. но с разумным подходом исходя из ситуации
в целом ситуация такая организация в которой на шлюзе стоит linux т.е. нет как кто-то заметил (помоему ниже) многих доменов и т.п.
другими словами чтобы весь флуд логировался и "тарпитился"
>спасибочки конечно не только тебе но и всем ! молодцы
>
>вот пожалуйста ответьте еще на один вопрос можно тоже самое сделать для
>http, pop3, imap, pptp и т.д. но с разумным подходом исходя
>из ситуации
>
>в целом ситуация такая организация в которой на шлюзе стоит linux т.е.
>нет как кто-то заметил (помоему ниже) многих доменов и т.п.
>
>другими словами чтобы весь флуд логировался и "тарпитился"Можно, но с этим осторожно надо, можно заблокировать и вполне нормальных клиентов. На публичные сервисы не стоит такое вешать, а на ssh и pptp и imap правда можно.
Если вы не провайдер - то вряд ли вас как-то особенно массированно флудят, и можно обойтись DROPом.
Я бы, работай TARPIT из коробки, на всех серверах делал так:
1) на всех портах сервисов, которые я не собираюсь у себя включать, за исключением тех, которые легальные кравлеры моего провайдера осматривают, вешал бы TARPIT
2) На всех приватных сервисах, которые нужны лишь мне одному и никому более, делал бы так называемый port-knocking средствами recent.
В прошлых заметках был совет, как ipt_recent пользоваться.В итоге, брутфорсерство серверу угрожать перестанет совсем.
А если хорошо почитать документацию, можно умников, которые толпой у сервера 50 раз/сек каждый запрашивает главную страницу, рубить с плеча. В итоге, машины в ботнетах начнут чахнуть. :-)
есть проблема.
Большие сети за nat. Они могут легко 50 раз в секунду запрашивать главную при посещаемости вашего сайта больше миллиона.
Честно не понял.
Это намек на то, что:
а) им пофигу, ибо ответит шлюз
б) им пофигу, ибо никто не ответит за этоДругой вариант?
А можно подробней о процессе :)
Я на ядре 2.6.26 ASP Linux никак немогу разобраться с установкой :(