Strona 1 z 1

Iptables, ustawienie ograniczenia maksymalnej ilości połączeń na dany port

: 27 lipca 2011, 22:04
autor: wojtex
Witajcie.
U
żywam systemu Debian6 Lenny do hostowania serwerów mało znanej gry Soldat.
Mam problem, jakiś gracz wykonuje ataki DDos co chwilę na moje serwery. Mam pytanie, czy da się tak skonfigurować iptables aby zablokować więcej niż pięć prób połączenia na danym porcie.

: 27 lipca 2011, 22:08
autor: Bastian
Wędka:

Kod: Zaznacz cały

-m limit --limit 
-m limit --limit-burst

: 27 lipca 2011, 22:12
autor: wojtex
Można trochę jaśniej bo od niedawna używam Debiana. Jak wyglądałoby ograniczenie połączeń do portu np.:

Kod: Zaznacz cały

23073

: 28 lipca 2011, 02:06
autor: Czocher
Bastian pisze:Wędka:

Kod: Zaznacz cały

-m limit --limit 
-m limit --limit-burst
A nie "connlimit" przypadkiem? Z opisu wygląda, że bardziej pasuje.
wojtex, polecam zajrzeć do podręcznika systemowego.

Kod: Zaznacz cały

man iptables
albo zadać pytanie wyszukiwarce Google. Są tam piękne przykłady, jak chociażby:
manpages pisze:# allow 2 telnet connections per client host
iptables -A INPUT -p tcp --syn --dport 23 -m connlimit --connlimit-above 2 -j REJECT

# you can also match the other way around:
iptables -A INPUT -p tcp --syn --dport 23 -m connlimit --connlimit-upto 2 -j ACCEPT

: 28 lipca 2011, 08:09
autor: wojtex
Zadziałał taki kod zobaczymy czy powstrzyma ataki:

Kod: Zaznacz cały

iptables -A INPUT -p tcp --syn --dport 23074 -m connlimit --connlimit-above 30 -j REJECT

: 28 lipca 2011, 16:59
autor: grzesiek
Tu by się raczej moduł recent przydał: http://debian.linux.pl/content/405-Ipta ... cych-cz.-4

: 29 lipca 2011, 16:13
autor: wobo
Cześć

Można jeszcze tak:

Kod: Zaznacz cały

#------------------Blokowanie IP po 4 próbach na 10 minut
iptables -I INPUT  -i eth1 -m state --state NEW -m recent  --set
iptables -I INPUT  -i eth1 -m state --state NEW -m recent  --update --seconds 600 --hitcount 4 -j DROP
Można zmieniać czas i ilość prób logowania:

Cyfra po --seconds oznacza czas zablokowania
Cyfra po --hitcount oznacza ilość prób
eth1 - zmień na odpowiedni interfejs, taki jak u Ciebie jest.


Jest to bardzo dobre zabezpieczenie przed "Hackerami" ale uważaj, bo sam możesz się na nie nadziać, jeśli kilkukrotnie się pomylisz przy logowaniu.
Po zastosowaniu ww. kodu wydatnie zmniejszy się wielkość logu prób zalogowania.
Dobrze jest to połączyć z ustawieniem nietypowego portu dla ssh oraz logowania dwustopniowego user -> su

Edycja:
Przepraszam, odpowiedź trochę nie na temat, nie doczytałem, że chodzi Ci o port a nie numer IP, ale może się komuś przyda.