Nedávno jsem se dostal na webu root.cz k zajímavému článku o velice jednoduchém, avšak velice efektním způsobu jak napadnout webový server apache. Tímto útokem takřka nepozorovaně způsobit s minimem nákladu odstavení dostupnosti webového serveru.
Vzhledem k tomu, že mam doma také web server na Apachi tak jsem se rozhodl, že vyzkouším zda jde provést útok a tím zrušit můj domácí server. Překvapivě jsem do 1 minuty docílil toho, že server mi neodpovídal na požadavky zobrazení www stránek.
Útok je velice jednoduše cíleny a nejde o žádný DoS útok. Tedy útok kdy zahltíte server stovkami požadavku a on je poté přetížen a nedovede odpovídat. Popisovaný útok se chová naprosto opačně. Využívá vlastnosti apache, který čeká na zaslaní hlavičky požadavku a teprve poté na celý požadavek odpoví. Skript kterým jsem svůj server shodil nedělá nic jiného než, že využívá této vlastnosti čekání na celou hlavičku a hlavičku pošle neúplnou.
Na tom by zase až tak nic špatného nebylo, jelikož když do času nastaveného v serveru nedorazí konec hlavičky spojení se uzavře a sever se věnuje dalším požadavkům. Jeden problém je již v času, po který apache v defaultním nastavení čeká na požadavek to je totiž standardně nastaveno na 300 vteřin ano na 5 minut. Pokud ale během té doby přijde další část hlavičky počítadlo se vynuluje a zase čeká.
Skript tedy nedělá nic jiného než, že pošle hlavičku a pak čeká po čase pošle další část a zase čeká takhle to muže dělat do nekonečna a tím blokovat apache, protože ten stále čeká na dokončení požadavku.
Touto velice jednoduchou fintou tak lze odstavit nechránění apache server s minimem úsilí mě k tomu stačil pc s ION procesorem a ubuntu. Zákeřnost takového útoku je jednak v tom, že apache o žádném útoku neví ve skutečnosti totiž odpovídá na regulerní dotazy v rámci nastaveného času a proto o takovémhle útoku nenaleznete nic ani v logu.
Nic nenaznačuje využití paměti, sítového provozu ani vytížení CPU všechno je totiž naprosto v normálu, přesto www stránky nejedou. Jediné co je podezřele je obrovský počet spojení.
I proti takovému útoků existuje ochrana, ale proto bych doporučil přečíst si originální článek z webu root.cz. já jsem si apache tímto „vytunil“ a opětovný utok proti mému serveru již udělá pouze minimální problémy. Po chvíli je komunikace s útočící IP adresou odmítnuta a server se dále stará o regulérní dotazy ostatních adres.
Opravdu mě překvapilo, že k shozeni www stránek apache, který je podle serveru http://news.netcraft.com/ pořád jedničkou na světe v počtu webových serveru stačí tak málo.
Zajimavé odkazy
Vložit komentář
* - vyžadované údaje. RSS kanál s komentáři