Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

4 страниц V   1 2 3 »

iptables vs udp flood

Статус пользователя bravo
сообщение 22.3.2011, 13:58
Сообщение #21


Стаж: 19 лет

Сообщений: 2650
Благодарностей: 865
Полезность: 879

Меценат Меценат

330863, вопрос был риторическим. я к тому, что нужно учитывать, что есть различне факторы влияющие на размер пакета и никого жёсткого постоянного размера тут врятли получится найти...
повторяюсь, лучше не фильтровать по этому параметру...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Serj
сообщение 22.3.2011, 14:45
Сообщение #22


Стаж: 15 лет

Сообщений: 855
Благодарностей: 266
Полезность: 198

Цитата(bravo @ 22.3.2011, 13:58) *
повторяюсь, лучше не фильтровать по этому параметру...

Ок, а на основании чего тогда делать правила?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Serj
сообщение 22.3.2011, 19:13
Сообщение #23


Стаж: 15 лет

Сообщений: 855
Благодарностей: 266
Полезность: 198

Цитата
Защита web-сервер от DDoS-атаки, ограничив количество пакетов в единицу времени
Код
iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW -m limit --limit 32/sec --limit-burst 32 -j ACCEPT
iptables -P INPUT DROP

Мы ограничиваем количество не всех пакетов, а только новых, то есть мы разрешаем открывать не более 32 новых соединений в секунду. Впрочем, число 32 приведено здесь только для примера.


Нашел на одном сайте. Ведь можно же изменить порт и переделать это под кс?

Цитата(bravo @ 19.3.2011, 23:50) *
Код
$ipt -A in-wan -p tcp --dport ssh -m state --state NEW -m recent --set --name SSH -j ACCEPT
$ipt -A in-wan -p tcp --dport ssh -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_BRUTFORCE: "
$ipt -A in-wan -p tcp --dport ssh -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j REJECT

Кстати, забыл спросить. Это вписывать в /etc/sysconfig/iptables? Но там начинаются все правила с -А. Никогда просто не работал с iptables
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 22.3.2011, 20:51
Сообщение #24


Стаж: 16 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

serejka,
правила для вебсервера созданы для вебсервера и только. Да можно использовать лимит соединений для порта сервера ,но зачем ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Serj
сообщение 22.3.2011, 21:29
Сообщение #25


Стаж: 15 лет

Сообщений: 855
Благодарностей: 266
Полезность: 198

Цитата(330863 @ 22.3.2011, 20:51) *
serejka,
правила для вебсервера созданы для вебсервера и только. Да можно использовать лимит соединений для порта сервера ,но зачем ?

Ок, тогда что можно использовать от ддоса?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bravo
сообщение 23.3.2011, 1:39
Сообщение #26


Стаж: 19 лет

Сообщений: 2650
Благодарностей: 865
Полезность: 879

Меценат Меценат

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


serejka, такого вида правила вводятся через терминал, т.к. используется команда, а точнее программа iptables с параметрами. т.е. ты это всё в файлик пишешь, потом даёшь ему права на запуск и выполняешь его. правила применяются. как их сделать на постоянку - найди в инете вопрос по автозапуску и допиливай.


в конфиге запись несколько другая... она вроде как по проще, но лично для меня менее понятная, т.к. структура деревянная там.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Serj
сообщение 23.3.2011, 8:26
Сообщение #27


Стаж: 15 лет

Сообщений: 855
Благодарностей: 266
Полезность: 198

Цитата(bravo @ 23.3.2011, 1:39) *
serejka, такого вида правила вводятся через терминал, т.к. используется команда, а точнее программа iptables с параметрами. т.е. ты это всё в файлик пишешь, потом даёшь ему права на запуск и выполняешь его. правила применяются. как их сделать на постоянку - найди в инете вопрос по автозапуску и допиливай.

в конфиге запись несколько другая... она вроде как по проще, но лично для меня менее понятная, т.к. структура деревянная там.

Создал файл, запустил, но пишет:
Код
./iptables: line 2: -A: command not found
./iptables: line 3: -A: command not found
./iptables: line 4: -A: command not found
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 23.3.2011, 11:38
Сообщение #28


Стаж: 16 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

serejka,
содержание данного файла покажи

bravo,
правило которое он написал делает лимит подключений и некак не лимит пакетов :biggrin: ,а лимит подключений честно говоря ничем особым не может помогать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Serj
сообщение 23.3.2011, 13:23
Сообщение #29


Стаж: 15 лет

Сообщений: 855
Благодарностей: 266
Полезность: 198

Цитата(330863 @ 23.3.2011, 11:38) *
serejka,
содержание данного файла покажи

Собственно, правила, которые выложил bravo
Код
$ipt -A in-wan -p tcp --dport ssh -m state --state NEW -m recent --set --name SSH -j ACCEPT
$ipt -A in-wan -p tcp --dport ssh -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_BRUTFORCE: "
$ipt -A in-wan -p tcp --dport ssh -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j REJECT

ps.gif Ходим вокруг да около, но правил от udp флуда никто так и не написал :)

Отредактировал: serejka, - 23.3.2011, 13:24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 23.3.2011, 13:36
Сообщение #30


Стаж: 16 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

serejka,
Код
ipt="iptables"
$ipt -A in-wan -p tcp --dport ssh -m state --state NEW -m recent --set --name SSH -j ACCEPT
$ipt -A in-wan -p tcp --dport ssh -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_BRUTFORCE: "
$ipt -A in-wan -p tcp --dport ssh -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j REJECT
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Serj
сообщение 23.3.2011, 14:26
Сообщение #31


Стаж: 15 лет

Сообщений: 855
Благодарностей: 266
Полезность: 198

Код
iptables: No chain/target/match by that name
iptables: No chain/target/match by that name
iptables: No chain/target/match by that name
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bravo
сообщение 23.3.2011, 21:23
Сообщение #32


Стаж: 19 лет

Сообщений: 2650
Благодарностей: 865
Полезность: 879

Меценат Меценат

serejka, ну потому что сначала надо создать цепочку шоле...


Код
$ipt -N in-wan
$ipt -F in-wan
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя FTB
сообщение 2.5.2011, 20:10
Сообщение #33


Стаж: 16 лет

Сообщений: 304
Благодарностей: 26
Полезность: 89

Цитата(330863 @ 23.3.2011, 14:36) *
serejka,
Код
ipt="iptables"
$ipt -A in-wan -p tcp --dport ssh -m state --state NEW -m recent --set --name SSH -j ACCEPT
$ipt -A in-wan -p tcp --dport ssh -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_BRUTFORCE: "
$ipt -A in-wan -p tcp --dport ssh -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j REJECT


Это и есть правило, которые ограничивает пакеты?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя rush155
сообщение 10.5.2011, 21:45
Сообщение #34
Стаж: 16 лет

Сообщений: 20
Благодарностей: 1
Полезность: 39

может можно использовать какойто демон/крон для отслеживания в режиме реального времени udp флуд, проверять когда поступает очень много пакетов на порт, и банить на время ip через фаервол, только как реализовать, может кто подскажет ? :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя bravo
сообщение 10.5.2011, 22:30
Сообщение #35


Стаж: 19 лет

Сообщений: 2650
Благодарностей: 865
Полезность: 879

Меценат Меценат

V1TaL1K, это правило считает кол-во новых соединений за отрезок времени. в данном правиле указано, что считаются 4 пакета за 1 минуту. на 4-ом пакете соединение будет отклонено.


rush155, такие правила уже давно написаны и даже не надо использовать такие не поворотливые для этого дела вещи, как крон или ещё какой нить скрипт. iptables сам может считать пакеты и проверять их вдоль и поперёк... на форуме есть куча их вариаций.. вот только какие из них работают - хз =) кусок правил, прокомментированный выше годится только для tcp пакетов... в прочем если оттуда убрать проверки типа пакета, а так же поменять протокол, то может и поканает. я не проверял...

PS: вторая строчка нужна для записи сообщения в сислог... сами решайте, убирать её или нет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 11.5.2011, 2:10
Сообщение #36
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

какой размер пакета наносит больше "ущерба" ? больше чем ...?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя coolman
сообщение 11.5.2011, 9:21
Сообщение #37


Стаж: 19 лет
Город: Екатеринбург

Сообщений: 1220
Благодарностей: 218
Полезность: 149

Цитата(bravo @ 20.3.2011, 3:50) *
ещё у меня есть такие вот строчки:
Код
$ipt -A cs_flood -p udp -m multiport --dport $CS_WAN_IN_UDP -m length --length 52 -m conntrack --ctstate NEW -j DROP
$ipt -A cs_flood -p udp -m multiport --dport $CS_WAN_IN_UDP -m length --length 51:53 -m conntrack --ctstate NEW -m hashlimit --hashlimit-upto 1/sec --hashlimit-burst 3 --hashlimit-mode srcip,srcport,dstip,dstport --hashlimit-name CStrike_new -j ACCEPT
$ipt -A cs_flood -p udp -m multiport --dport $CS_WAN_IN_UDP -j DROP


но это я не проверял. скорее всего не работает... у меня проверять негде, а вы при желание можете.

это из моего колдовского сборника :biggrin: , чуть чуть поправить надобна blush2.gif
можно так например:
-m length --length 51:53 -m conntrack --ctstate NEW -m hashlimit --hashlimit-above 4/sec --hashlimit-burst 4 --hashlimit-htable-expire 1000 --hashlimit-mode srcip,srcport,dstip,dstport --hashlimit-name CStrike_new -j DROP
или так:
-m length --length 51:53 -m conntrack --ctstate NEW -m hashlimit --hashlimit-upto 4/sec --hashlimit-burst 4 --hashlimit-htable-expire 1000 --hashlimit-mode srcip,srcport,dstip,dstport --hashlimit-name CStrike_new -j ACCEPT

Отредактировал: coolman, - 11.5.2011, 9:22
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Shur1k_ua
сообщение 12.10.2012, 23:01
Сообщение #38


Иконка группы

Стаж: 14 лет
Город: Ровно

Сообщений: 1817
Благодарностей: 919
Полезность: 1233

Как перебанить такие пакеты ?
UDP (29 bytes) from 95.57.200.33:16954 to 46.38.62.33:27020 on eth0 x
x UDP (64 bytes) from 87.103.129.232:4254 to 46.38.57.227:27020 on eth0 x
x UDP (64 bytes) from 87.103.129.232:4254 to 46.38.57.227:27021 on eth0 x
x UDP (29 bytes) from 95.57.200.33:16956 to 46.38.62.33:27020 on eth0 x
x UDP (29 bytes) from 95.57.200.33:16957 to 46.38.62.33:27020 on eth0
UDP (64 bytes) from 87.103.129.232:4254 to 46.38.57.227:27021 on eth0 x
x UDP (64 bytes) from 87.103.129.232:4254 to 46.38.57.227:27020 on eth0 x
x UDP (64 bytes) from 87.103.129.232:4254 to 46.38.57.227:27020 on eth0 x
x UDP (64 bytes) from 87.103.129.232:4254 to 46.38.57.227:27021 on eth0 x
x UDP (64 bytes) from 87.103.129.232:4254 to 46.38.57.227:27020 on eth0 x
x UDP (64 bytes) from 87.103.129.232:4254 to 46.38.57.227:27020 on eth0 x
x UDP (64 bytes) from 87.103.129.232:4254 to 46.38.57.227:27021 on eth0 x
x UDP (29 bytes) from 92.113.6.126:27021 to 46.38.62.33:27020 on eth0
*********
Банить каждый ип не резон, их там пару сотен )) мож есть, что попроще ? )) правило какое то.... закрывать порты не смогу... Или всё таки проблему решать на сетевом уровне сервера а не на вдске ))
Или как отснифить пакет и узнать его величину и внести в иптаблес )) хелп )

Отредактировал: Shur1k_ua, - 12.10.2012, 23:01


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vladsol
сообщение 13.10.2012, 8:52
Сообщение #39
Стаж: 17 лет

Сообщений: 588
Благодарностей: 87
Полезность: 161

Shur1k_ua,
По размеру пакета фильтровать - это не круто, т.к., с размером 64 байта будет не только флуд)

Вы содержимое посмотрите пакетиков этих...
Если не изменяется (вполне возможно), то по содержимому... Ну а в противном случае - никак :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 13.10.2012, 9:05
Сообщение #40


Стаж: 16 лет

Сообщений: 4358
Благодарностей: 1079
Полезность: 497

Shur1k_ua,
ngrep -_-
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
4 страниц V   1 2 3 »
 
Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: