Помогите, составление правила.

M
На сайте с 31.03.2011
Offline
74
928

(VDS. No ipt_LOG)

Всем добрый вечер. Помогите, пожалуйста, составить правило:

Нужно, чтобы через iptables банило айпишники, шлющие пакеты, вес которых превышает 1400 байт.

Заранее, спасибо за ответ.

M7
На сайте с 11.07.2010
Offline
17
#1

iptables -I INPUT 1 -m connbytes --connbytes 1400:100000 -j DROP

но смысл? ведь пакеты размером больше mtu все равно будут фрагментированы. да и таким правилом можно самому себе доступ к серваку полностью отрубить.

M
На сайте с 31.03.2011
Offline
74
#2

неслабое отсеивание претерпит правило, мне нужно чтобы при случае когда засечет iptables этот пакет, добавлял -j DROP правило к src ip.

M7
На сайте с 11.07.2010
Offline
17
#3

можно дропать на время после некоторого числа пакетов и писать в лог. и модуль connbytes лучше заменить на length:

iptables -A INPUT -m length --length 1400:10000 -m recent --set --name big_packet --rsource

iptables -A INPUT -m length --length 1400:10000 -m recent --rcheck --seconds 60 --hitcount 5 -m limit --limit 1/minute --limit-burst 1 -j LOG --log-prefix 'BIG packet'

iptables -A INPUT -m length --length 1400:10000 -m recent --rcheck --seconds 60 --hitcount 5 --name big_packet --rsource -j DROP

Zaqwr
На сайте с 08.08.2007
Offline
111
#4

mklist, пишите в логи как вам уже тут посоветовали, в случае когда пакет больше 1400 , и парсите его. Но всё же можете пояснить зачем вам это, может кто-то предложит более гибкое решение если раскроете больше информации?

Администрирование, Linux, Cisco, Juniper
R
На сайте с 14.02.2010
Offline
77
#5

вариант с -m string который я вам советовал не подошел что ли?

дропать все пакеты больше определенного размера - плохая идея, мягко говоря.

хотя бы отбирайте их с помощью string match, а потому уже отсеивайте по размеру

или расскажите более детально про этот ваш DOS, мб можно отбирать кого банить просто по кол-ву пакетов на определенный порт с помощью -m recent например...

M
На сайте с 31.03.2011
Offline
74
#6

У меня вообще была идея сделать tarpit, но модуля не оказалось =) В линуксе я практически не шарю, о чем наглядно показывает эта тема.

/ru/forum/627626

Andreyka
На сайте с 19.02.2005
Offline
822
#7

Если нет tarpit - попроси своего сисадмина поставить

Не стоит плодить сущности без необходимости
M
На сайте с 31.03.2011
Offline
74
#8

Просил. Результат: Купите дедикатед сервер, с ядром возиться не будем.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий