11:44
2/11/2012

Jedna z firm zajmujących się bezpieczeństwem “odgrzała kotleta” i opublikowała wyniki badania 10 milionów stron pod katem udostępniania informacji przez mod_status na serwerach Apache. Pomimo tego, że problem ten znany jest od lat, okazuje się że dalej wiele webserverów ujawnia poufne dane.

“Dziura” stara jak świat

Na początek zacznijmy od tego, co powtarzamy na naszych szkoleniach dla programistów — bezpieczeństwo webaplikacji to nie tylko bezpieczeństwo jej kodu (brak podatności typu SQLi, XSS, itp.) ale również bezpieczeństwo webservera, który tę aplikację hostuje. Bardzo często atakujący w ogóle nie ogląda tych cudownych formularzy, pięknie posplatanych JavaScriptów i efekciarskich CSS-ów — webaplikację “hackuje” na niższym poziomie (modelu ISO/OSI) — poprzez błędy w webserverze.

Jednym z takich błędów konfiguracyjnych może być niekiedy udostępnienie światu popularnego server-status — czyli strony dającej administratorowi webservera informacje o:

  • statusach żądań HTTP
  • adresach IP klientów
  • liczbie aktywnych procesów
Apache Status

Apache Status

Jak się domyślacie, możliwy jest nie tylko “wyciek” IP internautów korzystających z danego webservera, ale również treści żądań — niektóre z nich mogą zdradzić adresy zasobów znajdujących się w tzw. “głębokim ukryciu” (np. ścieżki do paneli administracyjnych) lub ujawnić zmienne, które przesyłają poufne dane (tokeny, klucze, etc.). Czegokolwiek by jednak podstrona server-status nie ujawniła, to źródłem błędu nie jest ona sama, ale niechlujnie napisana webaplikacja (jak można nie zabezpieczyć dostępu do panelu administracjnego?!).

Warto wspomnieć, że ten “problem konfiguracyjny” należy tak naprawdę do kategorii “low hanging fruits” bo z reguły odnajduje się go w pierwszych kilku minutach testu penetracyjnego (większość “automatów” sprawdza, czy serwer udostępnia server-status).

Skoro problem występuje od lat i jest tak łatwy do znalezienia, to skąd nagłe światowe zainteresowanie server-statusem? Ponieważ firma Sucuri postanowiła przebadać 10 milionów stron internetowych pod kątem udostępniania server statusu (i odnaleźli 2 072 strony z włączonym server statusem). Chwalą się, że znaleźli kilka dużych znanych firm, które mają włączony server-status — szkoda tylko, że nie wspominają, iż informacje udostępniane na stronie server-status nie zawsze zawierają adresy IP, czy też treści żądań… Oraz, że często widok server-status jest limitowany do lokalnych adresów IP, a dostęp do niego następuje na skutek błędnej konfiguracji serwera proxy stojącego przed webserverem (żądania są widoczne jako “lokalne). No ale dobry PR wymaga siania niepewności i odrobiny grozy ;-)

Na marginesie, wśród TOP 100 000 stron wg Alexa 1 774 mają włączony server-status (ale tylko 7 zawiera w logach loginy i hasła)

Jak znaleźć serwery udostępniające server-status?

Sposobów jest kilka. Można próbować przez Google:

site:pl inurl:”server-status” intext:”Apache Server Status”

Można też wykorzystać URLfind.org.

Czy mój serwer jest podatny?

Ponieważ powyższe metody nie zawsze są w stanie wyświetlić wszystkie webservery z server-statusem, sprawdźcie ręcznie, czy taka ścieżka jest na waszym serwerze (po prostu dopisując do domeny /server-status/). Pamiętajcie żeby sprawdzić nie tylko protokół HTTP ale i HTTPS. Jeśli ukaże wam się strona z informacjami na temat webservera, to albo wyłączcie mod_status lub ograniczcie do niego dostęp, albo po prostu przekonfigurujcie go tak, aby nie udostępniał części informacji.

Przeczytaj także:



50 komentarzy

Dodaj komentarz
  1. http://www.apache.org/server-status
    Takie tam..

  2. polecam https://niebezpiecznik.pl/server-status/
    dawno nie dowiedziałem się tyle o serwisie
    :>

  3. Made my day :D

  4. DirectAdmin domyślnie wyłącza dostęp.

  5. https://niebezpiecznik.pl/server-status/

    Uwielbiam <3

  6. Debianowy Apache bezpieczny ;)

  7. Od dawna nie używam Apache’a… co to za “błąd”? <:

  8. Dlatego też domyślnie Apache na Ubuntu/Debian mają ustawioną dyrektywę “Deny from all” pliku konfiguracyjnym tego modułu. A jeśli administrator otwiera to na zewnątrz to albo wie co robi albo nie powinien wychodzić na miasto bez opieki kogoś normalnego :-)

  9. Już dawno nie używam Apache na rzecz Nginxa :P

  10. btw, zabawna jest cenzura domeny kiedy się nie cenzuruje URI

  11. Ot z ciekawości sobie przejrzałem i popularna platforma sklepowa iai-system tak ma:

    http://87.98.233.150/server-status ;-)

  12. 2k z 10mln to nie jest specjalnie duzo. ..
    ale 1.7k z top 100k to juz cos, chociaz mam wrazenie ze te dane sa sprzeczne.

  13. server status (trololololo)

    • 273 osoby pwdnięte ;)

    • Dobry kawałek.

  14. “webaplikację “hackuje” na niższym poziomie (modelu ISO/OSI) — poprzez błędy w webserverze”

    Wiem, czepiam sie, ale
    Najnizsza warstwa ISO OSI to warstwa fizyczna.

    • i?

    • D jest po prostu na bakier ze stopniowaniem przymiotników, albo jakiś BOFH mu na proxy wszystkie spacje na ‘j’ zamienia.

  15. Melinda Clarke Sex Scene powiadacie?

  16. https://niebezpiecznik.pl/server-status/

    Czego tutaj ja nie znajdę ;p

  17. Epic

  18. Czasem działa też /tmp/

  19. ja zrobie przeszukanie witryn ktore udostepniaja phpinfo.php i zakladam pr0-h4kj3rs.com firme.pl

  20. Heh, po pierwsze kto uruchamia server-status pod domyslnym adresem to ja nie wiem. Po drugie o ile nie przesyla sie hasel getem to ryzyko jak stwarza server status jest znikome. Lepiej napisalibyscie o ciekawszych rzeczyach, bo teraz gimbza bedzie sie bawila w hackerow dopisujac /server-status do urli

  21. To wyłącz ;]

  22. “Na początek zanijmy od tego,” zjadlo sie “cz” ;p to tak “na poczatek ;p

  23. Hehe,
    http://efukt.com/server-status/

  24. Niezłe jaja sobie robicie z tym ‘głębokim ukryciem’ w waszych tekstach (doceniam subtelna aluzje do afery sprzed lat), jednak obawiam się, ze jacyś mniej obeznani goście tej strony naprawdę pomyślą sobie ze to istotnie taka terminologia informatyczna… Chyba, ze chodzi o to, aby to określenie na stale wtłoczyć w kanon pojęć (jestem za!) :)

    • @modrywombat :) Mission accomplished. All your base are belong to us ;)

  25. Ouch, ‘glebokie ukrycie’ juz nawet ma swoja stronę na polskiej wikipedii. Dobra robota! :)

  26. Niższa != najniższa

  27. Rzeczpospolita tez sie chwali: http://rzeczpospolita.pl/server-status/ ;)

    • Server uptime: 20 hours 41 minutes 11 seconds

      Wyłączają go na noc, czy jak? :-)

  28. Dobre! 10/10 :D

  29. Potwierdzam, rzeczpospolita.pl fail ;]

  30. Eh… Ogólnie wykorzystywany bug do szukania panelu admina. Żadne halo od lat…

  31. A możeby zamienić w site pl na gov albo gov.pl ;)

  32. błąd w konfiguracji apache? co to ma wspólnego z błędem ?

  33. Nie zauważyłeś cudzysłowowa, czy tylko tak czepiasz się, aby się czepić?

  34. Nie debianowy tak samo. @autor a ktora wersja Apacza ;-) ostatnio byla podatna – 2.0? Podatne w sensie domyslnej konf. Cos mam wrazenie ze dawno nieaktualizowane te podatne serwery…

  35. http://pb.pl/server-status/ Puls Biznesu :S

  36. http://www.euro.com.pl/server-status/
    Co jakiś czas pojawiają się adresy email logujących się :-)

  37. http://www.mg.gov.pl/server-status

    :)

    • Ciekawe kiedy ostatnio kernel aktualizowali…

  38. […] artykule na portalu niebezpiecznik.pl, zostały przedstawione wyniki badań, z których wynika, że ogromna ilość serwisów […]

  39. […] article published at niebezpiecznik.pl presents research results clearly show that a great number of online services reveal confidential […]

  40. http://msz.gov.pl/ Też sypnęło informacjami :)

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: