DDoS támadás webszerver ellen

Fórumok

Üdv!

Olyan probléma adódott, amellyel lényegében nem sokat lehet kezdeni. De leírom egy publikus helyre, hogy minél többen lássák. A cím igazából csak az éppen aktuális problémát írja le, de erre már nem igazán találok megoldást.

A jelenlegi probléma az, hogy 300-500+ IP címről mindenféle országokból (magyar címekről is) érkeznek kérések a nálunk hosztolt majd' összes domainre, és azon belül is random URL-ekre. Erre nyílvánvalóan nincsen tökéletes védelem. Eleinte a User Agent szűrés működött, de most olyan User Agent-el jön a támadás, amely egy széleskörben elterjedt böngészőé.

Nos, ez a jelenlegi történet, de sajnos ez a játék már több mint egy éve megy, és minden egyes napló, illetve nyom egy adott személyhez vezethető vissza. Már szinte az összes szolgáltatásunkat valamilyen módon károsította, főleg a streaming ágazatot (mivel ő is ebben érdekelt. Ezt valószínűleg ő is olvassa, mivel tagja a fórumnak tudomásom szerint). Egy év alatt azzal, hogy folyamatosan, minden javított hiba utána újabb, és újabb lehetőségeket keres arra, hogy hogyan tehet tönkre egy másik vállalkozást, úgy, hogy azt a saját anyagi javára fordítsa igen csak megkérdőjelezhető magatartás.

Részletesebb infókat erről csak később írok, de mindenképp tanulságos lesz! Akinek esetleg van ötlete erre a támadásra, és bármit lehet ellene tenni, azt szívesen veszem.

Köszönöm!

Szerk.: A legutóbbi DDoS támadás nem gyanúsítás, csupán feltételezés (a naplófájlokra támaszkodva) az elkövetőre. Azonban a korábbi események engednek élni a gyanúval, hogy van hozzá köze. Amennyiben nincs (és mivel nincs is megnevezve az illető), akkor ne vegye magára!

Hozzászólások

"...és bármit lehet ellene tenni..."
Baseball ütő, vipera, 5+ kemény legény... Rendőrségen feljelentés, esetleg perelés. HA jól emlékszem (és most nincs kedvem utána nézni) törvények nem engedik meg, hogy ilyen esetben visszatámadj ugyanilyen módon, és sajnos az 500+ IP-re nem is lehetne.

--
openSUSE 12.2 x86_64

Ha feltételezzük, hogy az a sok ip egyike sem normál user, akkor idővel ip szinten azért csak lehet blokkolni az illetőt, végtelen botja nem lehet... :)

"minden egyes napló, illetve nyom egy adott személyhez vezethető vissza. Már szinte az összes szolgáltatásunkat valamilyen módon károsította"

ha tudod bizonyítani rendőrségi feljelentés.

BTK 300/C § (2) Aki b) adat bevitelével, továbbításával, megváltoztatásával, törlésével, illetőleg egyéb művelet végzésével a számítástechnikai rendszer működését jogosulatlanul akadályozza, vétséget követ el, és két évig terjedő szabadságvesztéssel büntetendő.

Ha ennyire biztos vagy a dolgodban, hogy ki, és mikor mit csinált, akkor nyomtasd ki egy releváns részét a dolognak, és ballagj be a legközelebbi rendőrségre. Támogasd őket, mert néha lámák hozzá, ha rossz helyre kerülsz, de hosszútávon meg lesz fogva az elkövető.
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -> Kérjük a humoros aláírást itt elhelyezni. <- - -

Egy időben azt hittem, hogy a DOS támadás azt jelenti, hogy valakit megdobálnak floppy lemezekkel. Na jó, ez vicc volt, de tényleg nem vagyok informatikus.

1., naiv megoldás
Egyesítitek a cégeiteket, és ti lesztek a meghatározó szereplők az adott szolgáltatásban. Ez jó mindenkinek.

2., egyéb megoldás
Keresel barátokat. Egyszer csak lesznek. Az ellenséged a saját házában síelés közben többszörös kéz és lábtörést szenved. A helyzeted megjavul. Bár a barátaid fognak néha baráti kölcsönt kérni tőled, de az üzleti életben sikeresebb leszel, és az utcán is előre fognak köszönni. Még az is lehet, hogy a barátod egyszer csak hajnali kettőkor csönget nálad, és elmondja, hogy vett a kislányának egy kamion telefont és függetleníteni kellene és lekaparni mindent róla, és okosítani kellene.

Ui: Ez vicc volt, nem én vagyok az ellenséged, csupán forró levesre ittam pálinkát és sokat néztem ma The Sopranos-t.

És ne felejts el nevetni.

Hasonló cipőben jártunk mi is pár hónapja, csak nem a webszerverünket támadták, hanem szinte valamennyi játékszerverünk webadmin felületét. Ráadásul ezzel az egész gépet pillanatok alatt elérhetetlenné tette, mert egyszerűen megette a CPU-t.
A megoldás végül az lett, hogy kigyűjtöttük az összes logból az összes IP-t majd sort + uniq -c + megint sort. Elég éles 'határ' volt a támadó IP-k és a rendeltetésszerűen kapcsolódó IP-k között.
Az így kigyűjtött IP-ket egy másik scripttel tiltottuk. (sima for ciklus ami kiolvassa a txt-bol az IP-ket és megy rá az iptables tiltás)
Ha nincs nagy látogatottságú oldalad akkor még ha nem is 100%-osan, de nagy részét szerintem ezzel a módszerrel simán lehet tiltani.
Az IP-k meg előbb-utóbb elfogynak.
-------------------
http://www.rtvstat.hu/ - A legtöbb magyar rádió és TV egy helyen!

"ha tudod bizonyítani rendőrségi feljelentés. "

:D inkább úgy mondanám, ha akarsz egy év múlva hetente bíróságra járni, akkor nyugodtan indítsd el az ügyet. Ha szerencséd van, a te szerveredet nem foglalják le bizonyítékként :D

Ha volt már részed bírósági ügyben (nem, a TV ügyvédje nem számit annak), akkor tudod, hogy a heti tárgyalás csak álom. Évente 2 és örülhetsz hogy halad az ügyed.

Most voltam tanúként egy büntetőügyben, ami 2 évvel ezelőtt kezdődött (akkor fogták meg a rendőrök) és most volt az első tárgyalás...
-------------------------
127.0.0.1 SWEET 127.0.0.1
AMD Athlon X2 245E@3,1 GHz OC, MSI Radeon 6770 1 Gb GDDR5, Seagate Barracuda, Windows 7 Enterprise

F5-re rátenyerelők ellen:

table persist
block drop in quick from

pass in proto tcp from any to any port {www, 443} \
flags S/SA keep state \
(max-src-conn 50, max-src-conn-rate 25/1, \
overload flush global)

időnként törölve van a web_bad tábla pfctl -q -t web_bad -T expire 3600
hátha segít valamit.

Ez a profitorientált oldal, ha azt akarod, hogy ez befejeződjék DDoS-olásod akkor, tejelned kell.

Snort, Fail2Ban ez ellen nem véd? (kicsiben néha nálam is előfordul ilyesmi, de annyira nem releváns, hogy ne lettem volna lusta még kipróbálni őket)

"4071 olvasás"

már ezt a topikot is támadják! :)

Nonce-al vagy valamilyen javascript alapú megoldással lehet legjobban védekezni DDoS ellen, hacsak nem valami webapp tesztelő cuccal támadnak, de az meg nem olyan teljesítményű és a támadó oldalon is jelentős erőforrásokat igényel.
Tehát pl. a nyitón valamilyen nonce-t/token-t/cookie-t kell megszereznie a böngészőnek javascripttel, amivel aztán a streamet nézheti.

Lehet, hogy hülyeséget írok, de olyat nem lehet az apache-ben,
hogy nézi az érkező kérések számát, és egy bizonyos fölött tiltja a választ ?

Értem ezalatt, hogy megfigyeljük, hogy egy átlag user egy óra alatt
milyen gyakran, és milyen sok kérést indít, és ha jóval efölött érkezik,
akkor az apache automatikusan eldobja, még válaszra sem méltatja.
Ugyanígy a stream-ban (gondolom shoutcas/icecast) ?

Nincs ilyen modul/megoldás ?

Lehetőségek kérdése. Jelenleg ahogy írta 500+ cím, ami nem kevés, de nem is sok. Igazság szerint az kérdés, hogy ezek mennyire változnak, mert szép lassan akár kézzel is le lehet őket tiltogatni.

A lehetőségek meg: ha van egy zombifarm, 1-2M géppel, akkor nem hiszem hogy kockáztatnák / nincs értelme sokezer kérdés per gépet lőni. De ha csak párszáz gép van, akkor esetleg muszáj.

Maradok hűséges olvasód (subscribe)

" A legutóbbi DDoS támadás nem gyanúsítás, csupán feltételezés (a naplófájlokra támaszkodva) az elkövetőre."

Mesélj publikus dolgokat a potenciális elkövetőről.
Kíváncsi vagyok, hogy lesz egy elvileg legális magyar(?) vállalkozásnak zombi hálózata.

Javaslom a CSF+LFD használatát: http://configserver.com/cp/csf.html

A legismertebb botneteket ellen már a dshield, spamhaus blacklistek is érnek valamit. Van benne connection limit és connection tracking opció is. Beállítod, hogy pl 80-as portra 10 sec alatt max 60 kérés érkezhet egy IP-ről, utána tiltás, Connection limit beállításával pedig egy forrás IP-ről a szerver IP-jére nyitott maximális kapcsolatokat tudod limitálni (cél porttól függetlenül)

Ezen felül érdemes még psad-t sourcefire rule-okkal, 3-as danger level esetén tiltással.

A "buta" forgalom nagy részét csökkenteni tudod vele, bár nem garantált.

Kiegészítésnek:

Van benne connection limit és connection tracking opció is. Beállítod, hogy pl 80-as portra 10 sec alatt max 60 kérés érkezhet egy IP-ről, utána tiltás, Connection limit beállításával pedig egy forrás IP-ről a szerver IP-jére nyitott maximális kapcsolatokat tudod limitálni (cél porttól függetlenül)

iptables hashlimit module, limit (limit burst-tel)