23. april 2006 - 16:57Der er
4 kommentarer og 1 løsning
DDOS forhindring med IPTables
Hej exp.
Vi har en Debian stable maskine kørende som web, ftp og mail server. Der er de seneste par dage blevet udført nogle ddos angreb imod maskinen (tror jeg). Script timen på de scripts serveren udfører er stadigvæk meget lave (som de plejer) men svartiden på serveren bliver langsommere og langsommere for til sidst at ophøre.
Den er ikke oppe meget mere end nogle timer før den bliver lagt ned igen.
Den kører i forvejen IPTables hvor der er blokeret for alle porte pånær lige dem den skal bruge.
Jeg tror grundet overstående det er et DDOS angreb (er det forkert antaget).
Jeg vil i denne sammenhæng gerne tilføje nogle linier i mit IPTables script der kan forhindre dette.
Er det muligt (og optimalt) at gøre så IPTables lukker for trafaikken til en klient ipadresse hvis denne forespørge eller sender alt for meget data. Er det den optimale løsning eller hvordan ville i gøre det?
Jeg ser meget frem til at høre fra jer, da serveren efter disse angreb kommer med en kernel panic, og det er ikke muligt at få ssh forbindelse eller andet til den igen, og den står et sted hvor vi ikke har fysisk adgang til den. Vi er derfor afhængige at webhosting firmaet går ned og genstarter den manuelt.
-limit 1/minute will do what it says; it will only match for a rate of incoming packets up to an average of 1 per minute. The operative word here is average. So, does this mean that the first ping request you get will be accepted, then none for a whole minute? Not quite.
-limit-burst 5 tells iptables to let 5 such packets in before permitting the rule to match; so, in one minute, we can have 5 ping requests popping through. So, -limit 1/minute permits a maximum of 1 packet per minute on average, but -limit-burst 5 permits 5 in one shot. Have we found a logical error in iptables? No you silly clod, remember, -limit stes a limit on average, whereas -limit-burst limits by number of packets in one go. What will happen then in our example?
Verdiene for rate og burst kan være litt tricky å sette opp riktig. Man må rett og slett sette opp så små (lille) verdier at trafikken stanser hurtig opp, og så må man bare justere opp slik at den godtar en passende rate/burst ut i fra testing i drift.
Dette ble litt hurtig pga dårlig tid .. vil eventuelt komme tilbake til saken dersom det ikke virker godt nok ..
Det ser jo lovende ud, selv om det nok kræver lidt tid at få det til at spille rigtigt, jeg fandt også det her, kan det ikke bruges evt. i sammenhæng med det du viser?
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
Dette ser ut som et filter for spoofede (forfalskede) ip pakker. Hvorvidt det vil virke bra med å bruke filtret over ifbm ddos angrep, det tør jeg ikke si. Hvis man ønsker å filtrere på spoofede ip pakker, da bør man vel i all enkelhet hente koden eller syntaksen for dette fra ett eller annet velrenomert web sted (eller en bok.)
Ett eller annet sted her på eksperten så ligger det et script, der vi la litt arbeide i å finne fram til "riktige" verdier for et "burst" filter. Vil forsøke å finne det ..
Her fant jeg tråden der vi både laget filter for spoofede ip adresser og ddos angrep. Er i utgangspunktet et 3 port filter men dette kan jo modifiseres.
Jo, egentlig så er nok et filter for spoofede ip pakker en god ide i forbindelse med ddos angrep, forutsatt at det er riktig satt opp.
Det lader til det virkede Langbein, der har ikke været nogle problemer efter i hvert fald. Du får pointene.
Mange tak for hjælpen!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.