Izvini, nije mi bila namera da zbunjujem ljude već da dam najgori mogući scenario:
1. distribuirano: zarad otežane identifikacije napadača, samog napada i nemogućnost ranog spoznavanja napda i efektivne zaštite u slučaju naivnih (nažalost uobičajnih) bezbednosnih mera. U slučaju da su napadi konstantni i sa različitih provajdera manje veštim administratorima preostaje samo jedna opcija - prekid u pružanju usluge (gašenje servera, blokiranje celokupnih podmreža ili kontinenata), čime je takođe ispunjen cilj DOS-a.
2. asinhrono: zarad efikasnosti napada. Serveru se pošalje jedan zahtev i ne čeka se na njegov odgovor, već napad odmah zatim prosleđuje sledeći zahtev. Takav napad je i asimetričan jer troši minimum napadačovih resursa (CPU vreme, RAM, dolazni mrežni protok) a primorava web server da izvrši sve operacije koje su potrebne da bi se sastavio odgovor (što postaje veoma zanimljivo za resursno ili vremenski zahtevne operacije).
@offtopic povodom oslobođanja resursa ako zahtev predugo traje zarad izbegavanja "zaključavanja" workera: nisam susreo Apache podršku za tako nešto, ali koliko znam nginx ne bi trebao da ima ozbiljnih problema pošto je u pitanju asinhroni event-driven web server. Sem toga svi javno dostupni resursi moraju brzo odgovarati na HTTP zahteve.
Što se tiče zaštita: firewall, fail2ban i rotirajući brojači (na nivou sesije, ip adrese, podmreže, zemlje, globalno) koji mere broj i učestalost pristupa raznim delovima sistema i na osnovu toga automatski podešavaju firewall.
Ozbiljan problem je šta da rade mala i srednja preduzeća koja ili nemaju odgovarajuće stručnjake (sindrom: 1 informatičar koji je devojka za sve) ili nemaju novca/vremena/svest zarad sprečavanja ovakvog problema. Naročito pošto se danas sve više ljudi igra sa sopstvenim (virtuelnim) serverima.
|