Portál AbcLinuxu, 8. července 2025 21:04


Dotaz: Apache - ochrana před DDOS

Genunix avatar 22.4.2010 18:20 Genunix | skóre: 17 | blog: Memdump
Apache - ochrana před DDOS
Přečteno: 3246×
Odpovědět | Admin
Zdravím,
Poslední dobou řeším problém s DDOS útoky na můj Apache server. Končí zaswapováním systému a nedostupností veškerých služeb.
Přitom k tomu stačí jen prohlížeč Google Chrome (zdá se, že s jinými to nejde), zajít na web s Joomlou (na žádném jiném z hostovaných webů mimo těch s Joomlou to nejde, u Joomly funguje už po čisté instalaci) a podržet ctrl+r ...
Zkoušel jsem mod-evasive, ale problém nevyřešil. Přestat používat Joomlu nepovažuji za uspokojivé řešení.

Neřešil jste už někdy někdo něco podobného? Považuji to za dost závažný problém pro všechny webservery s hostovanými weby, postavenými na Joomla.
*´¨`*.¸.·´¨`*.¸.·*´`*·>>>
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.4.2010 18:39 Ondřej Kopka | skóre: 20 | blog: ondrejk
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jaka je konfigurace toho stroje/apache? Zda se mi docela podivne ze by to shodil jeden prohlizec.
Genunix avatar 22.4.2010 19:17 Genunix | skóre: 17 | blog: Memdump
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přílohy:
Na výkonu té mašiny ani nezáleží, zkoušel jsem to na několika různě výkonných strojích (resp. nemálo výkonných) a během několika vteřin je to zatížilo natolik, že mi sotva prošel příkaz pkill -9 apache2
Přikládám apache2.conf a ukázku konfigurace virtual hostu.
*´¨`*.¸.·´¨`*.¸.·*´`*·>>>
22.4.2010 23:40 FooBar
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
Odpovědět | | Sbalit | Link | Blokovat | Admin
Konfiguruj limity na konekce a vyuzitou pamet tak, aby ke swapovani predevsim nedochazelo. Obzvlast u sluzeb jako je webserver je swapovani vetsinou smrt, a je nutny si uvedomit, ze swap funguje jako safety buffer, ne jako prostor ve kterym se ma fungovat bezne.
Genunix avatar 23.4.2010 14:11 Genunix | skóre: 17 | blog: Memdump
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
Tak taky swap beru, ale pokud bych ho odpojil, dostal by se ke v takové situaci ke slovu pan OOM killer..
Nakonfigurovat limity v limits.conf mi taky nepřijde jako ideální řešení. Pokud je Apache přesáhne, tak ho systém odpojí (alespoň myslím), což taky není žádoucí i v případě, že bych nahodil nějakého watchdoga, který by ho po pádu sám nahazoval. To můžu použít maximálně jako záložní řešení.
Pokud jsi myslel nějaké limity přímo v Apache, tak pokud vím žádné nastavit nelze, nebo se mýlím?
*´¨`*.¸.·´¨`*.¸.·*´`*·>>>
23.4.2010 15:23 FooBar
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
Ja ale nerikam "zlikviduj swap", ja rikam "omez vyuziti pameti, ktery vede k vyuziti swapu". Za prve nezminujes jakykoliv nastaveni phpcka, a zaroven bezis Joomlu -- zamer se na memory limit. Za druhe, divokej odhad (u forkovaciho apache) pres palec je, ze:

maximalni vyuziti pameti = (naroky na jeden child proces apache + naroky na dynamickej jazyk) * max clients

Naroky na jeden child proces apache jsou naprosto jasna konstanta (kterou si snadno zmeris), muzes hejbat max clients (ponevadz je proste snizis v zavislosti na tom, ze si uvedomis, ze mas omezeny prostredky) a muzes hejbat narokama na dynamickej jazyk (coz v pripade php znamena memory limit). Hrubym cilem je, aby vysledek vypoctu nebyl vyssi nez kolik mas pameti minus kolik pameti mas volny bez beziciho apache.

(Velkej disclaimer, tohle je opravdu divokej odhad pres palec, neber to jako autoritativni, ber to jako moznost prvotniho odhadu).

Za treti, v zavislosti na tom co jeste tam behas te muze anebo nemusi zajimat RLimitMEM. Vzhledem k tomu, ze zminujes Joomlu, te ale spis asi zajimat nebude. Jinak mas pravdu, neni zadnej rozumnej zpusob jak hardcapnout per-worker-process vyuziti pameti (ackoliv vyhradne pro forkovaci MPM to je v podstate trivialni dobastlit).
frEon avatar 27.4.2010 23:36 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
limity mas primov konfiguraku apache, koukni se na radky 102 - 108. Predpokladam, ze pouzivas mpm prefork, jak je to na debianu v kombinaci s phpkem bezne.
Talking about music is like dancing to architecture.
23.4.2010 23:48 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jako celkem jednoduché a efektivní řešení bych doporučil nakonfigurovat Apache, aby používal PHP přes FastCGI. Ne jako modul.

U mod_fcgid jde nakonfigurovat, kolik php procesů může jeden virtualhost max. spustit (zjednodušeně řečeno). Neomezí se tedy přímo spotřebovaná paměť (de facto je omezena na počet_procesů×php_memory_limit), ale jde snadno otestovat, kolik procesů server "unese" a podle toho nastavit limit.

K poklesu výkonu téměř nedojde (to mám celkem dobře otestováno). Dost možná se ušetří nějaká paměť, protože pro obsluhu požadavků na statický obsah nebude muset mít Apache v paměti PHP modul (spíš se to projeví u mpm_prefork). Jinak používat mod_php + mpm_worker není moc dobrý nápad, protože PHP není tak úplně thread-safe (samozřejmě pokud se na to u všech aplikací myslí, může to být OK).

Pokud na tom serveru bude víc webů, tak fastcgi+suexec ti poskytne i větší zabezpečení - lze ty weby oddělit tak, že php běží pod různými uživateli.

Návod třeba tady: http://blog.milde.cz/post/234-php-jako-fastcgi-pod-apachem/

V tom návodu není popsán suexec, ale o tom se dá případně najít několik diskusí tady v poradně.
Genunix avatar 24.4.2010 07:50 Genunix | skóre: 17 | blog: Memdump
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
Odpovědět | | Sbalit | Link | Blokovat | Admin
Děkuji za rady. Zkusím "migrovat" na FastCGI a pohrát si s jeho nastavením. Pak dám vědět, jestli to pomohlo.
*´¨`*.¸.·´¨`*.¸.·*´`*·>>>
24.4.2010 19:10 ApoC
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nestaci v konfigu nastavit maximalni pocet forknutych instanci Apache na nejakou inteligentni mez?
27.4.2010 19:56 ugh
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
Odpovědět | | Sbalit | Link | Blokovat | Admin
nevim. zkusil bych juknout na mod_tsunami ?
frEon avatar 27.4.2010 23:40 frEon | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
Odpovědět | | Sbalit | Link | Blokovat | Admin
dobre by bylo rict, co je to za stroj, jesli na tom zeleze bezi i mysql, jestli je ten zrout pameti apache, nebo mysqlka, kolik otevre ten chrobak spojeni atd...
Talking about music is like dancing to architecture.
29.4.2010 16:25 rootless.rooter
Rozbalit Rozbalit vše Re: Apache - ochrana před DDOS
Odpovědět | | Sbalit | Link | Blokovat | Admin
mod_security ?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.