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.
Iptables, ustawienie ograniczenia maksymalnej ilo
Wędka:
Kod: Zaznacz cały
-m limit --limit
-m limit --limit-burst
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
A nie "connlimit" przypadkiem? Z opisu wygląda, że bardziej pasuje.Bastian pisze:Wędka:
Kod: Zaznacz cały
-m limit --limit -m limit --limit-burst
wojtex, polecam zajrzeć do podręcznika systemowego.
Kod: Zaznacz cały
man iptables
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
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
Tu by się raczej moduł recent przydał: http://debian.linux.pl/content/405-Ipta ... cych-cz.-4
Cześć
Można jeszcze tak:
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.
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
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.