Expunere informații server HTTP
Una din caracteristicile vizibile implicit pe HTTP este versiunea, sau măcar tipul de server folosit pentru a servi fișierele sau pentru a rula scripturile aplicației. Implicit orice distribuție de linux își afișează acolo numele. În felul acesta în funcție de versiunea serverul web se poate determina și ce versiune a distribuției linux avem instalată. În majoritatea cazurilor când versiunea respectivă de linux nu mai are suport tehnic din partea celui ce o menține, iar administratorul acelui server nu este atât de priceput cu actualizarea software-ului așa că această expunere a versiunilor de software poate însemna un risc de securitate. Se întâmplă de multe ori că deși distribuția este menținută, este în perioada în care se oferă suport pentru ea, administratorul să omită să instaleze actualizările. În concluzie, vă recomand să faceți manevra de mai jos.
Mai întâi un exemplu:
Date: Thu, 01 Oct 2009 05:37:25 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Wed, 22 Jul 2009 18:26:49 GMT Etag: "9e012e-12a6-83ab8c40" Accept-Ranges: bytes Content-Length: 4774 Content-Type: text/html; charset=UTF-8
În cazul de față un posibil atacator afă că serverul web este un Apache 2.2.3 ce rulează pe distribuția CentOS. Ar putea verifica alte portițe de intrare în sistem știind anumite vulnerabilități specifice pentru CentOS 5.
Următorul exemplu este cel de pe serverul de găzduiește acest blog:
Date: Wed, 30 Sep 2009 21:24:46 GMT Server: Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 PHP/5.2.6-1+lenny3 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g X-Powered-By: PHP/5.2.6-1+lenny3 Vary: Cookie,Accept-Encoding Expires: Wed, 11 Jan 1984 05:00:00 GMT X-Pingback: http://emil.cheriches.ro/xmlrpc.php Cache-Control: no-cache, must-revalidate, max-age=0 Pragma: no-cache WP-Super-Cache: WP-Cache Content-Encoding: gzip Content-Length: 17228 Keep-Alive: timeout=15, max=91 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8
Vedem că este un Debian Lenny cu PHP 5.2.6 dar vedem și alte informații despe alte module instalate.
Dar cum facem să nu mai stăm cu versiunile de software la vedere? În apache, căutăm în fișierul de configurație ServerSignature și ServerTokens. În Debian 5.x aceste directive se află în /etc/apache2/conf.d/security și le modifcăm în felul următor:
ServerSignature Off ServerTokens Prod
Repornim serviciul și observăm:
Date: Wed, 30 Sep 2009 21:24:02 GMT Server: Apache X-Powered-By: PHP/5.2.6-1+lenny3 Vary: Cookie,Accept-Encoding Expires: Wed, 11 Jan 1984 05:00:00 GMT X-Pingback: http://emil.cheriches.ro/xmlrpc.php Cache-Control: no-cache, must-revalidate, max-age=0 Pragma: no-cache WP-Super-Cache: WP-Cache Content-Encoding: gzip Content-Length: 17228 Keep-Alive: timeout=15, max=85 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8
Server: Apache, dar mai avem un header: X-Powered-By: PHP/5.2.6-1+lenny3. Pentru a scoate acest header edităm în php.ini (în Debian 5.x este /etc/php5/apache2/php.ini) și punem:
expose_php = Off
Repornim încă odată serviciul și vedem că a dispărut și acest header.
Date: Wed, 30 Sep 2009 21:26:09 GMT Server: Apache Vary: Cookie,Accept-Encoding Expires: Wed, 11 Jan 1984 05:00:00 GMT X-Pingback: http://emil.cheriches.ro/xmlrpc.php Cache-Control: no-cache, must-revalidate, max-age=0 Pragma: no-cache WP-Super-Cache: WP-Cache Content-Encoding: gzip Content-Length: 17228 Keep-Alive: timeout=15, max=93 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8
Pentru a modifica string-ul Apache, sau pentru a-l scoate de tot va trebui să modificați codul sursă al serverul web și să-l recompilați. Nu este una din operațiunile recomandate.
Headerele le-am văzut folosind suplimentul de Firefox Domain Details, în acest domeniu găsiți chiar mai multe suplimente utile.
->Monitorizarea și repornirea automată a serviciilor pe un server Linux cu monit...
Comentarii
12 comentarii la aricolul: „Expunere informații server HTTP”
-
Agkelos
2 octombrie 2009, 11:10
-
George Jipa
2 octombrie 2009, 13:10
-
Radion Maria
7 octombrie 2009, 21:10
-
Ionescu Mihai
29 octombrie 2009, 16:10
-
beculetzu
1 noiembrie 2009, 05:11
-
Valkyrka
16 noiembrie 2009, 21:11
-
mariuz
21 noiembrie 2009, 15:11
-
Emil CHERICHEŞ
21 noiembrie 2009, 17:11
-
Nelu
22 decembrie 2009, 06:12
-
Emil CHERICHEŞ
22 decembrie 2009, 09:12
-
Nelu
23 decembrie 2009, 11:12
eu folosesc lighttpd:) imi place mai mult dar din pacate nu are htaccess
Dexter a scris pe blog ultima dată imi propun
Dragut articolul
O mica adaugare as vrea sa fac. Sirul “Apache” se poate modifica cu directiva SecServerSignature din mod_security.
Agkelos a scris pe blog ultima dată Partajare CPU in Xen
Stiam de micile trick-uri prezentate de tine, dar sunt foarte utile.
@Dexter: si cu lighttpd ai posibilitatea sa rescrii url-urile (http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModRewrite)
frumos articolul.. Ar mai trebui adaugate cateva chestii de teorie pentru incepatori zic eu..
O distribuţie Linux este un sistem de operare construit din nucleul Linux şi o serie de pachete asortate, precum Sistemul de Ferestre X şi software din proiectul GNU.
Sistemele de operare bazate pe Linux sunt disponibile în general sub formă de distribuţii (denumite mai rar şi arome). Unele dintre acestea sunt orientate spre utilizatorul casnic, altele către servere sau către utilizatorii cu calculatoare mai vechi.
Pentru că nucleul şi pachetele software sunt în mare parte (dacă nu în întregime) software liber, distribuţiile Linux există într-o mare varietate de forme, de la desktopuri complete şi servere la sisteme de operare minimale ce rulează pe dispozitive embedded sau sunt capabile să pornească de pe o dischetă.
În prezent există peste trei sute de distribuţii Linux care sunt dezvoltate activ. Distribuţiile pot intra în două categori:, cele susţinute de firme, precum Fedora (Red Hat), SUSE Linux (Novell), Ubuntu (Canonical Ltd.) şi Mandriva Linux şi distribuţii dezvoltate de comunităţi, precum Debian şi Gentoo.
Bun,bun. Data viitoare sa tratezi, daca poti, si problema securitatii, intrucat in Romania foarte putini detinatori de site-uri isi pun probleme de securitate.Pe sistemul “nu mi s-o intampla chiar mie” sau “ce-o sa-mi faca” tot nu se face nimic in sensul asta.
Deja m-am debusolat, chiar “este” prea multa informatie. Intr-un fel e bine ca am hosting partajat, asta insemnand ca cineva (nu vreau sa-i fac reclama) se ocupa de securitate, de updatarea softului. etc.
Eu sunt adeptul ca omul sa faca ce stie el mai bine, cine stie sa programeze – sa programeze, cine stie sa optimizeze – sa optimizeze s.a.m.d.
Poti vedea hedeare-le folosind comanda curl :
$ curl -I yahoo.com
HTTP/1.1 301 Moved Permanently
Date: Mon, 16 Nov 2009 19:35:21 GMT
Location: http://www.yahoo.com/
Cache-Control: private
Connection: close
Content-Type: text/html; charset=utf-8
eu zic ca decat sa ascunzi headerul mai bine sa faci update la server
oricum din cate am vazut daca ai o versiune nepatch-uita poti sa fii compromis chiar cu header-ul off
Numai că dacă ai headerul pornit poți fi atacat accidental, dacă nu te atacă doar cine e supărat pe tine.
Recent am schimbat hosting-ul. Cat de important este un host pentru o pagina? Este de preferat un host mai “slab” pentru o pagina din RO decat un host apreciat ca mai “bun” din afara? Zi ceva despre astea.
Nelu a scris pe blog ultima dată Piratii din Caraibe
Slab e în general dacă pui un site mare pe un Pentium 3 și durează mai mult de 10 secunde doar generarea. În general ar trebui ca procesul de generare al u nui site pe un server să nu dureze mai mult de 2 secunde.
Ce se întâmplă după e viteza de internet între server și client(cu cât distanța e mai mare cu atât poate fi mai lentă) și puterea de procesare a clientului(de asta ține durata de randare în browser).
În concluzie, hosting slab e atunci când sunt mult prea multe site-uri(sau VPS-uri) pe un server sau serverul nu e tocmai un server.
Faptul că e în .RO nu poate fin decât un lucru bun. În caz că nu știai România e pe locul 5 în lume ca infrastructură de internet.
“serverul nu e tocmai un server” – cine iti poate spune asta, sau pe cine sa crezi, din multitudinea de oferte de hosting!
Chestia asta, cu locul 5, chiar este interesanta si surprinzatoare; e ceva la care stam bine! Daca ai avut in vedere si calitatea serviciilor, cand ai spus asta!
Nelu a scris pe blog ultima dată Autobuzul Simfonic










1 octombrie 2009, 13:10