Temat: Ataki DOS - czemu jestem nagi?

Witam, problem zdaje się trywialny w teori. Mam czasami ataki DOS (z jednego ip) na serwer i hehe nie mogę sobie z nimi uporać. DOS to pakiet SYN na apache - zawsze. Dlatego też ustawiłem taką regułkę na iptables (GNU Linux Debian)

iptables -A INPUT  -p tcp --dport 80 --syn -m limit --limit 1/s --limit-burst 3 -m state --state NEW -j ACCEPT

wcześniej mam jeszcze
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED


dodatkowo zainstalowałem moduł mod-evasive, z taką konfiguracją


LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so
#obligatory directives (if even one of them is not set, malfunctioning is poss$
DOSHashTableSize 3097
DOSPageCount 12
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60


Mimo to, na nic to się zdaje...Logi z firewall

Feb 21 18:17:17 serwer kernel: [15234906.660324] DROP INPUTIN=eth0 OUT= MAC=0
X.X.X.X SRC=50.117.61.4 DST=X.X.X.X LEN=
60 TOS=0x00 PREC=0x00 TTL=55 ID=8066 DF PROTO=TCP SPT=47501 DPT=80 WINDOW=14600
RES=0x00 SYN URGP=0
Feb 21 18:17:17 serwer kernel: [15234906.660324] DROP INPUTIN=eth0 OUT= MAC=0
X.X.X.X SRC=50.117.61.4 DST=X.X.X.X LEN=
60 TOS=0x00 PREC=0x00 TTL=55 ID=8066 DF PROTO=TCP SPT=47501 DPT=80 WINDOW=14600
RES=0x00 SYN URGP=0
Feb 21 18:17:17 serwer kernel: [15234906.700237] DROP INPUTIN=eth0 OUT= MAC=0
X.X.X.X SRC=50.117.61.4 DST=X.X.X.X LEN=
60 TOS=0x00 PREC=0x00 TTL=55 ID=49047 DF PROTO=TCP SPT=32756 DPT=80 WINDOW=14600
RES=0x00 SYN URGP=0
Feb 21 18:17:17 serwer kernel: [15234906.700237] DROP INPUTIN=eth0 OUT= MAC=0
X.X.X.X SRC=50.117.61.4 DST=X.X.X.X LEN=
60 TOS=0x00 PREC=0x00 TTL=55 ID=49047 DF PROTO=TCP SPT=32756 DPT=80 WINDOW=14600
RES=0x00 SYN URGP=0
Feb 21 18:17:17 serwer kernel: [15234906.740355] DROP INPUTIN=eth0 OUT= MAC=0
X.X.X.X SRC=50.117.61.4 DST=X.X.X.X LEN=
60 TOS=0x00 PREC=0x00 TTL=55 ID=8187 DF PROTO=TCP SPT=36303 DPT=80 WINDOW=14600
RES=0x00 SYN URGP=0


Dlaczego tak się dzieje? Co zapomniałem?Dominik Zawadzki edytował(a) ten post dnia 21.02.13 o godzinie 18:25

konto usunięte

Temat: Ataki DOS - czemu jestem nagi?

iptables -A INPUT -p tcp --dport 80 -s 50.117.61.4 -j DROP


A logi z ataku wyślij do swojego ISP i do ISP właściciela IP (abuse@egihosting.com).Maciek K. edytował(a) ten post dnia 21.02.13 o godzinie 18:38

Temat: Ataki DOS - czemu jestem nagi?

tak już to zrobiłem, chodzi mi jednak o coś co pozwoli mi wylegiwać się na plaży (no teraz na bardziej teneryfie) i nie będę się musiał przejmować serwerem :-)

konto usunięte

Temat: Ataki DOS - czemu jestem nagi?

Hmmm
http://blog.bodhizazen.net/linux/prevent-dos-with-ipta...
Myślę że brak limitu na Established/Related i ustawienie tej reguły jako #1 ...Marcin Bojko edytował(a) ten post dnia 21.02.13 o godzinie 20:27

Temat: Ataki DOS - czemu jestem nagi?

ok, dzięki...zobacze.Dominik Zawadzki edytował(a) ten post dnia 21.02.13 o godzinie 21:42

konto usunięte

Temat: Ataki DOS - czemu jestem nagi?

Poczytaj jak działa iptables (w jakiej kolejności przetwarzane są reguły, co to są default policies, jakie są targety kończące przetwarzanie, itp.).

W skrócie: brakuje Ci reguły, która "pozostałe pakiety TCP na port 80 z ustawioną flagą SYN" będzie odrzucać (lub ignorować). Albo explicite, albo jako default policy dla INPUT.
Tomek S.

Tomek S. IT Security
Consultant; CCNP
Security; JNCIA

Temat: Ataki DOS - czemu jestem nagi?

Dla porównania odpowiednia linijka w PF:

pass in on $ext inet proto tcp from !<rfc1918> to $ext port 80 synproxy state

Dopóki 3-handshaking nie zostanie zakończone Apacz o niczym nie wie - to funkcjonalność SYN-proxy.

pass in on $ext inet proto tcp from !<rfc1918> to $ext port 80 synproxy state (max-src-conn-rate 3/180, overload <badhosts> flush)

j.w. z limitem połączeń i "brutalnym" potraktowania abusantów.Tomek S. edytował(a) ten post dnia 01.03.13 o godzinie 01:47
Adam Tomasz K.

Adam Tomasz K. Zaawansowana
modyfikacja
rzeczywistości.

Temat: Ataki DOS - czemu jestem nagi?

Tomek S.:
Dla porównania odpowiednia linijka w PF:

pass in on $ext inet proto tcp from !<rfc1918> to $ext port 80 synproxy state

- to nie wnosi wiele do dyskusji poza pewną dozą fanboizmu :).

W iptables jest jeszcze --state INVALID w podobnym celu jak reguła powyżej.
Maciej Natan Milaszewski

Maciej Natan Milaszewski Kierownik dzialu IT
/ sys administrator

Temat: Ataki DOS - czemu jestem nagi?

Jak bardzo chcesz to możesz sie pobawic connlimitem oraz mod_qos



Wyślij zaproszenie do