Jak ograniczyć ilość jednoczesnych połączeń do serwera www?

Zombie
NNorbertPL
NNorbertPL

Witam, parę minut temu mój serwer dedykowany (GAME-2) przyjmował dziwny ruch z zewnatrz. W tcpdump oraz logu apache2 jest pełno informacji o polaczeniach z 1 IP. Strona nie działała przez jakiś czas. Po ręcznemu zablokowaniu tego IP w iptables strona zaczęła działać. Macie pomysł na jakieś reguły które by wycinały taki ruch?

Anno
Anno

Możesz dać tcpdump'a ?

Anno
Anno

Możesz spróbować ograniczyć ruch na 1/min z danego ip :D

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Nic nadzwyczajnego, zwykły flood (DoS) na apache.

[code]HTTP: iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j DROP HTTPS: iptables -A INPUT -p tcp --syn --dport 443 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j DROP [/code]

NNorbertPL
NNorbertPL

Podeślę tcpdump jak będę w domu.

@Nieznajomy11 A czy to nie odetnie normalnych uzytkownikow? I jak to ogranicza? Ilosc polaczen/minuta?

@Anno 1 na minute? No co Ty 😛 to by spowodowało dużo większe problemy.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

Ogranicza ilość jednoczesnych połączeń z jednego IP, jako że tcp to połączenie stałe.

luxDev
luxDev Pionier

Czyli jeśli dobrze rozumiem wchodząć na tsa, już nie wejdzie na strone :P

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

ts jest na udp, poza tym tutaj 10 połączeń jest limit z jednego IP.

luxDev
luxDev Pionier

Wiem że UDP ale to był przykład :P

LinGruby
LinGruby Pionier

@NNorbertPL u mnie co prawda na lapku ale wygląda to tak i działa

 # Lancuch syn-flood (obrona przed DoS)
iptables -N syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 #-j LOG --log-level debug --log-prefix "SYN-FLOOD: "
iptables -A syn-flood -j DROP
iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

 # ping
iptables -A INPUT -p icmp -s 0/0 -m limit --limit 1/s --limit-burst 4 -j ACCEPT

A o to chodzi ;-) na desktop/serwer produkcyjny w domu miałem tak samo

NNorbertPL
NNorbertPL

@LinGruby Pierw przetestuje reguły od @Nieznajomy11

I podepnę domenę pod cloudflare, może też coś da :slight_smile:

Anno
Anno

Napisz czy coś to dało :D

NNorbertPL
NNorbertPL

@Anno nie wiem czy coś dało trzeba poczekać, pierwszy taki przypadek od pół roku. Zobaczymy ;)

NNorbertPL
NNorbertPL

Pomogło rozwiązanie od @Nieznajomy11

Dodatkowo włączyłem ochronę w cloudflare żeby ukryć adres IP maszyny.

SystemZ
SystemZ Admin lvlup.pro

Dopóki działa łączenie z TS3, MC czy innym serwerem tego typu nie zapewniasz lepszej ochrony przez Cloudflare bo nie ukrywa adresu.

NNorbertPL
NNorbertPL

Wiem, tylko że mając na tej samej maszynie pare stron(virtual host) podczas ataku tylko jedna nie działała. Adres IP wskazuje na inny katalog niż domena. Może to nie ma znaczenia lecz no tylko jedna strona nie działała :P Nawet jeśli cloudflare nic nie da to nic mnie też nie kosztuje :)