Utoky na server
Utoky na server
Zdravim,
mam mensi problem so zabezpecenim vlastneho serveru. Ako som mal moznost otestovat, utoky typu Slowloris su voci nemu velmi efektivne. Je tam nainstalovany Apache2, jedna sa o Debian stable.
Skusal som aj veci typu mod_evasive, ale neboli vobec ucinne.
Moja otazka znie, ako by bolo rozumne to zabezpecit a ake dalsie druhy utokov by som mal brat do uvahy (take, akym je mozne sa branit). Instalacii proxy a podobne by som sa rad vyhol.
Dakujem za rady!
mam mensi problem so zabezpecenim vlastneho serveru. Ako som mal moznost otestovat, utoky typu Slowloris su voci nemu velmi efektivne. Je tam nainstalovany Apache2, jedna sa o Debian stable.
Skusal som aj veci typu mod_evasive, ale neboli vobec ucinne.
Moja otazka znie, ako by bolo rozumne to zabezpecit a ake dalsie druhy utokov by som mal brat do uvahy (take, akym je mozne sa branit). Instalacii proxy a podobne by som sa rad vyhol.
Dakujem za rady!
-
masterdead
SysAdmin
- Príspevky: 1809
- Registrovaný: 03 aug 2005, 23:32
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Utoky na server
Debian stable znamena 6 squeeze? Tam uz je apache ktory je patchnuty proti danemu problemu, teda ak dodrziavas aj nejaky update.
Nginx ako reverzna proxy je simple/fast riesenie, popremyslaj.
Vyskusaj priamo iptables http://www.cert.org/blogs/certcc/2009/0 ... erver.html
Nginx ako reverzna proxy je simple/fast riesenie, popremyslaj.
Vyskusaj priamo iptables http://www.cert.org/blogs/certcc/2009/0 ... erver.html
Re: Utoky na server
Ano, Squeeze. Apache tam ma viacero mpm verzii, ja pouzivam itk, mozno to nie je fixnute v kazdej, kedze som skusal perl script, ktory je bezne na nete (http://ha.ckers.org/slowloris/slowloris.pl) a server prestal na par minut odpovedat.
Islo by to riesit aj Squidom, ale reverznu proxy beriem ako posledne riesenie, ale pouvazujem nad tym. Rad by som predtym skusil mod_qos, aj ked konfiguracia je dost nepekna. Mod_noloris a mod_antiloris uz su mimo repozitarov od etch-u, takze mozno to je naozaj fixnute, skusim to este raz.
Diky za radu
Islo by to riesit aj Squidom, ale reverznu proxy beriem ako posledne riesenie, ale pouvazujem nad tym. Rad by som predtym skusil mod_qos, aj ked konfiguracia je dost nepekna. Mod_noloris a mod_antiloris uz su mimo repozitarov od etch-u, takze mozno to je naozaj fixnute, skusim to este raz.
Diky za radu
Re: Utoky na server
Len lre info Ak pustis ten pl z pc z ktoreho nasledne pozeras dostupnost apacha moze sa tvarit nedostupny
Re: Utoky na server
Nie, jasne ze to nie je ten isty PC, je to iny server. Teraz som ale podrobnejsie pozeral live reporty z toho, co sa deje, ked sa utok spusti. Apache spawne okolo 40 procesov a minie sa RAM. Cize je mozne, ze Apache je nejakym sposobom osetreny, ale nemoze odpovedat kvoli nedostatku RAM. Idealne by ale bolo, ak by jeden klient nemohol mat viac ako jedno alebo dve pripojenia.
Kód: Vybrať všetko
TimeOut 6
MaxKeepAliveRequests 128
KeepAliveTimeout 4
<IfModule mpm_itk_module>
StartServers 4
MinSpareServers 4
MaxSpareServers 12
MaxClients 64
MaxRequestsPerChild 32
AssignUserId www-data www-data
</IfModule>-
masterdead
SysAdmin
- Príspevky: 1809
- Registrovaný: 03 aug 2005, 23:32
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Utoky na server
O aku konfiguraciu servera sa jedna? RAM/CPU etc.
Squid ako reverznu proxy, to nie. Fakt vyskusaj nginx. Cele sa to da nakonfigurovat do 5min. Premenit porty z 80 na iny dostupny napr od 50 000 vyssie a na fw povoleny len z vnutornej IP a si zahojeny. Cele toto zaberie do pol hodiny s tym, ze ak zapnes cache na nginxe na statiku, tak dost aj usetris na systemovych prostriedkoch.
Squid ako reverznu proxy, to nie. Fakt vyskusaj nginx. Cele sa to da nakonfigurovat do 5min. Premenit porty z 80 na iny dostupny napr od 50 000 vyssie a na fw povoleny len z vnutornej IP a si zahojeny. Cele toto zaberie do pol hodiny s tym, ze ak zapnes cache na nginxe na statiku, tak dost aj usetris na systemovych prostriedkoch.
Re: Utoky na server
Je to VPS, jedno jadro s giga ramky. Ten Nginx vyzera ako dobre riesenie (nechcel som pouzivat Nginx ako standalone server, kedze mi tam chybala podpora .htaccess), urcite to vyskusam, konfiguracie sa az tak nebojim, skor ma trapi to, ako zabranit Apachu, aby spustal tak vela procesov (aj ked sa bude pristupovat cez medzivrstvu). Dik za rady.masterdead napísal:O aku konfiguraciu servera sa jedna? RAM/CPU etc.
Squid ako reverznu proxy, to nie. Fakt vyskusaj nginx. Cele sa to da nakonfigurovat do 5min. Premenit porty z 80 na iny dostupny napr od 50 000 vyssie a na fw povoleny len z vnutornej IP a si zahojeny. Cele toto zaberie do pol hodiny s tym, ze ak zapnes cache na nginxe na statiku, tak dost aj usetris na systemovych prostriedkoch.
-
masterdead
SysAdmin
- Príspevky: 1809
- Registrovaný: 03 aug 2005, 23:32
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Utoky na server
Prave to ti pomoze, prestane sa spustat tolko procesov. Ale bolo by v tom pripade idealne pouzivat aj cache na nginxe.
Re: Utoky na server
Samozrejme, to chapem. Lenze rovnako sa moze stat, ze Nginx-u preskoci a otvori vela spojeni (alebo sa niekomu podari dostat priamo k Apache a urobi to iste). Je to sice velmi nepravdepodobne, ale niekde to musi ist obmedzit, urcite to nemoze ist do nekonecna.
//autoeditácia príspevku (30 Jún 2012, 19:12)
Nginx uspesne nahodeny, ako proxy funguje
Slowloris tomu nic nerobi, teraz uz len doriesit SSL a svet bude opat krasny. Vdaka za rady.
//autoeditácia príspevku (03 Júl 2012, 20:59)
Zdravim, mam este jednu otazku, neviem sa s tym pohnut uz par dni. Ako vyriesim SSL? Ktory z modelov pouzit?
Apache2 so SSL na porte 8443 (napriklad) a certifikaty v configu > Nginx na 443 bez certifikatov
Apache2 so SSL na porte 8443 bez certifikatov > Nginx na 443 s certifikatmi
Apache na 80 bez SSL > Nginx na 443 a certifikaty
Ani jeden sa mi totiz nepodarilo rozbehat a dosli mi napady. Vdaka za rady.
//autoeditácia príspevku (30 Jún 2012, 19:12)
Nginx uspesne nahodeny, ako proxy funguje
//autoeditácia príspevku (03 Júl 2012, 20:59)
Zdravim, mam este jednu otazku, neviem sa s tym pohnut uz par dni. Ako vyriesim SSL? Ktory z modelov pouzit?
Apache2 so SSL na porte 8443 (napriklad) a certifikaty v configu > Nginx na 443 bez certifikatov
Apache2 so SSL na porte 8443 bez certifikatov > Nginx na 443 s certifikatmi
Apache na 80 bez SSL > Nginx na 443 a certifikaty
Ani jeden sa mi totiz nepodarilo rozbehat a dosli mi napady. Vdaka za rady.
-
masterdead
SysAdmin
- Príspevky: 1809
- Registrovaný: 03 aug 2005, 23:32
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Utoky na server
SSL na nginxe, apache na 80. Primarna je sifrovana komunikacia klient - nginx server.
Re: Utoky na server
Dakujem, aj som si myslel, avsak mi to neslo, mozno preto, ze nginx pouziva troch ine formaty certifikatov ako mam v Apachi. A komunikacia medzi Apachom a Nginxom je potom bezpecna? Nemoze byt odpocuvana cez niekoho, kto by potencialne ziskal pristup k serveru?
-
masterdead
SysAdmin
- Príspevky: 1809
- Registrovaný: 03 aug 2005, 23:32
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Utoky na server
Porozmyslaj co si napisal. Komunikacia medzi nginxom a apachom je standardna po lokalnych IP, z vonka nedostupna. Ak uz niekto dostane pristup na server nebude musiet nic odpocuvat, nemyslis?
Re: Utoky na server
Okej, uz sa zda, ze to funguje, bolo len treba pregenerovat certifikaty. Teraz sa potlkam s poslednym problemom, ktorym je nastavenie Apacha tak, aby prijmal iba requesty, ktore prisli z nginxu. Nastavenie Listen direktivy na 127.0.0.1:8181 ani iptables na drop 8181 z * a nasledne allow 8181 z 127.0.0.1 nepomaha, vzdy dostanem Bad Gateway.
-
masterdead
SysAdmin
- Príspevky: 1809
- Registrovaný: 03 aug 2005, 23:32
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Utoky na server
iptables -A INPUT -i eth0 -p TCP --dport 8181 -j DROP
a listen nechaj kludne co chces, vsetko co pojde z interfacu na ten port bude dropnute.
a listen nechaj kludne co chces, vsetko co pojde z interfacu na ten port bude dropnute.
Re: Utoky na server
Super, ide to, velka vdaka este raz. Problem bol, ze som pouzival blokovanie toho portu globalne a nie len na eth0 (v mojom pripade venet0).