NNorbertPL | 2019-03-17 08:14:14 UTC | #1
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 | 2017-05-10 17:31:28 UTC | #2
Możesz dać tcpdump’a ?
Anno | 2017-05-10 17:37:39 UTC | #3
Możesz spróbować ograniczyć ruch na 1/min z danego ip :D
Nieznajomy11 | 2017-05-13 04:58:47 UTC | #4
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 | 2017-05-10 17:54:53 UTC | #5
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 :stuckouttongue: to by spowodowało dużo większe problemy.
Nieznajomy11 | 2017-05-10 18:02:21 UTC | #6
Ogranicza ilość jednoczesnych połączeń z jednego IP, jako że tcp to połączenie stałe.
luxDev | 2017-05-10 18:02:51 UTC | #7
Czyli jeśli dobrze rozumiem wchodząć na tsa, już nie wejdzie na strone :P
Nieznajomy11 | 2017-05-10 18:03:09 UTC | #8
ts jest na udp, poza tym tutaj 10 połączeń jest limit z jednego IP.
luxDev | 2017-05-10 18:03:35 UTC | #9
Wiem że UDP ale to był przykład :P
LinGruby | 2017-05-10 18:04:16 UTC | #10
@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 | 2017-05-10 18:39:29 UTC | #11
@LinGruby
Pierw przetestuje reguły od @Nieznajomy11
I podepnę domenę pod cloudflare, może też coś da :slight_smile:
Anno | 2017-05-11 13:20:32 UTC | #12
Napisz czy coś to dało :D
NNorbertPL | 2017-05-11 13:53:58 UTC | #13
@Anno nie wiem czy coś dało trzeba poczekać, pierwszy taki przypadek od pół roku. Zobaczymy ;)
NNorbertPL | 2017-05-13 05:00:50 UTC | #14
Pomogło rozwiązanie od @Nieznajomy11
Dodatkowo włączyłem ochronę w cloudflare żeby ukryć adres IP maszyny.
SystemZ | 2017-05-13 20:02:28 UTC | #15
Dopóki działa łączenie z TS3, MC czy innym serwerem tego typu nie zapewniasz lepszej ochrony przez Cloudflare bo nie ukrywa adresu.
NNorbertPL | 2017-05-15 18:38:39 UTC | #16
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 :)