Jak zhakierowałem antyweb.pl – czyli co zrobić by poprawić bezpieczeństwo WordPressa Grzegorz Wójcik

Króliczek Honey Bunny
Króliczek Honey Bunny

Dla niezorientowanych – antyweb.pl to popularny w niektórych kręgach blog o tematyce IT utrzymany w warstwie treści w mojej subiektywnej opinii trochę w klimacie bulwarówki „Fakt” i prowadzony przez Grzegorza Marczaka vel hazana. Bardzo często hazan w swojej blogowej twórczości jawi się jako swoisty guru sieci Web a także bezwzględny komentator internetowych wydarzeń (wielokrotnie łaja na łamach swojego bloga naszą-klasę, twittera czy nazwa.pl).

Niestety, rzeczywisty poziom jego wiedzy merytorycznej i profesjonalizmu został niedawno poddany krytyce przez nagłośnioną na wykop.pl sprawę problemów z serwerem, na którym stoi antyweb (pojawiły się opinie, że co to za spec, który nie potrafi zapewnić ciągłości działania swojego serwisu?). Okazuje się, że w kwestii zabezpieczeń antyweb.pl prezentuje się również nieciekawie.

Otóż – trochę poszperałem, trochę poczytałem i udało mi się zalogować do panelu administracyjnego antyweb.pl jako admin :) Jak to zrobiłem? Szczegółowy opis już niedługo w tym poscie wraz ze wskazówkami jak lepiej zabezpieczać blogi oparte o silnik WordPress. Na razie publikuję tylko screenshoty jakie zachowałem sobie na pamiątkę tuż po ataku, aby w przyszłości pochwalić się wnukom ;)

Moja aktywność superusera na antyweb.pl ograniczyła się do dodania gościnnego wpisu (prawda, że ładne kolory i zdjęcie?) i zmiany hasła admina.

Panie hazanie – upgrade WordPressa się kłania :)

Można zdać sobie pytanie, czy powyższej sytuacji można było uniknąć? Otóż wydaje mi się, że tak. Poniżej przedstawiam parę podstawowych wytycznych jakimi należy kierować się by bezpieczniej użytkować platformę WordPress.

  1. Zawsze aktualizuj do najnowszej wersji – zarówno samego WordPressa jak i wykorzystywane pluginy

Wiem, aktualizacja WP to ból. Zwłaszcza w przypadku, gdy nasza strona oparta jest o dużą liczbę wtyczek i modyfikacji plików źrodłowych WP (czego praktycznie nigdy nie powinno się robić). Wiadomo, że nie wszystkie z nich będą poprawnie działać z nowszą wersją.

Dobra wiadomość w tym względzie jest taka, że wraz z ostatnimi wersjami WP dostajemy do ręki wygodny mechanizm automatycznej aktualizacji zarówno samego WP jak i poszczególnych pluginów.

Jeżeli wolimy robić to ręcznie – okej – ale pluginy pobierajmy nie z prywatnych stron ich autorów tylko z oficjalnego repozytorium WP. Powód? Zanim plugin trafi do repozytorium przechodzi weryfikację również pod kątem bezpieczeństwa.

Budując stronę opartą o WP zawsze należy starać się zminimalizować liczbę wykorzystywanych wtyczek i oprzeć się na „corowej” funkcjonalności WP. Zresztą – wraz z kolejnymi wersjami coraz więcej popularnych wtyczek wcielana jest do kodu źrodłowego WP.

  1. Nie pokazuj światu jakiej wersji WP używasz

Domyślnie WordPress dodaje do kodu HTML generowanej strony i kodu XML kanałów RSS informację o swojej wersji:

  1. <meta name="generator" content="WordPress 2.5" /> //kod HTML
  2. <generator>http://wordpress.org/?v=2.5</generator> //kanał RSS

Usunięcie tych wpisów to jedna z pierwszych rzeczy, które należy uczynić w celu poprawy bezpieczeństwa bloga. Można to zrealizować np. za pomocą następującego kodu, który umieszczamy np. w pliku functions.php w ramach aktywnego szablonu:

  1. function i_want_no_generators() {
  2. return '';
  3. }
  4. add_filter('the_generator','i_want_no_generators');
  1. Maksymalnie ogranicz dostęp do panelu administracyjnego

Panel administracyjny większości blogów opartych o WP dostępny jest pod bardzo oczywistym adresem: nazwadomeny.pl/wp-admin. Co zrobić, aby utrudnić dostęp do tej części? Jednym z rozwiązań jest umieszczenie plików źródłowych WP we własnym, trudnym do odgadnięcia katalogu np. nazwadomeny.pl/wpcore4234234/.

Procedura takiego setupu WordPressa opisana jest tutaj: Giving WordPress Its Own Directory.

Dostęp do sekcji administracyjnej (nazwadomeny.pl/wpcore4234234/wp-admin trzymając się dalej naszego przykładu) warto dodatkowo ograniczyć za pomocą pliku .htaccess – wprowadzić hasło lub zezwolić na połączenia tylko z określonych adresów IP.

Pózniej wystarczy już tylko zmienić lokalizację i ewentualnie nazwę katalogu wp-content np. na taką: nazwadomeny.pl/content i ustawić nowe scieżki w pliku wp-config.php za pomocą dyrektyw WP_CONTENT_URL i WP_CONTENT_DIR.

Należy również nadmienić, iż począwszy od wersji 2.6 WP ma pełne wsparcie dla protokołu SSL – warto więc rozważyć ograniczenie dostępu do sekcji administracyjnej tylko dla tego typu połączeń. Domyślnie hasło przesyłane jest przecież jawnym tekstem, który łatwo można „wysniffować” np. w sieci lokalnej.

  1. Wyłącz rejestrację użytkowników na blogu

Z tej funkcji praktycznie rzadko kto korzysta, a stwarza ona dodatkowe zagrożenie dla strony.

  1. Umieść pusty plik index.html lub index.php w katalogu z pluginami

Bez tego zabiegu przy niektórych konfiguracjach serwera atakujący może podejrzeć listę wykorzystywanych wtyczek.

  1. Jeśli jesteś harcorowcem – możesz zupełnie ukryć WP przepisując URL-e za pomocą mod_rewrite

Niemniej jednak jest to dosyć rozległy temat na zupełnie osobny artykuł.

  1. Rób regularne backupy bazdy danych WordPressa!

Stwórz cron joba, który robi backup bazy WP np. co drugi czy trzeci dzień. Backupy przechowuj w katalogu niedostępnym z poziomu WWW.

Na zakończenie parę refleksji. WP jest najpopularniejszą platformą blogową w Internecie. Co więcej, beztrosko wykorzystywany jest coraz częściej jako system CMS do budowy serwisów i małych portali – także tych firmowych. Przecież już w tej chwili istnieją w Sieci firmy, których działalność oparta jest właściwie całkowicie o WP (np. sieć blogów blomedia). Osobiście bardzo lubię WP, baaa nawet można powiedzieć, że go trochę kocham (takie małe zboczenie). Ale ludzie oczarowani prostotą WP często przymykają oczy na kwestie zabezpieczeń tego systemu – tzn. niby oficjalnie przyznają, że zdają sobie sprawę z zagrożeń i mają na uwadze bezpieczeństwo, ale gdy przychodzi np. do aktualizacji oprogramowania zawsze odkładane jest to „na później” no bo przecież TO nie może przytrafić się właśnie mi.

Chciałem moją „akcją marketingową” – przyznaję – dalece kontrowersyjną i budzącą skrajne emocje – wywołać małe „trzęsienie ziemi” i zwrócić internautom i blogerom uwagę na ten problem. Oczywiście – mogłem to zrobić w bardziej cywilizowanej formie (i zastanawiam się, że być może trochę „pojechalem po bandzie”) – ALE – czy efekt byłby ten sam? Wydaje mi się, że nie – że informacja o poprawie bezpieczeństwa WP zaginęła by gdzieś wśród setek innych zupełnie niezauważona. A tak być może właściciele WordPressowych blogów zaczną pytać sami siebie, czy naprawdę zrobili wszystko, aby blogować i prowadzić swój ewentualny biznes bardziej bezpiecznie.

Tak jak napisałem w komentarzach – „tajemnicza funkcjonalność” WP 2.5 jest dokładnie opisana i wisi w Sieci gdzieś od końca kwietnia i nie jest to strona, której trzeba się wybitnie naszukać. Przy czym – możecie wierzyć lub nie – odkryłem mechanizm na podstawie wyczytanej gdzieś krótkiej wzmianki – na stronę z dokładnym opisem natrafiłem później.

Osobiście nic do hazana nie mam – i chociaż uważam, że antyweb.pl pisany jest czasami trochę zbyt stronniczo i surowo – przyznaję, że zaglądam tam raz czy dwa razy na kwartał.

Pozdrawiam – Peace & Love
Grzesiek

Czytaj więcej:
Artykuły » WordPress
Tagi:
,

Grzegorz Wójcik

Grzegorz Wójcik jest założycielem internetowego magazynu kminek.pl. Pasjonat i twórca lekkich, dostępnych i użytecznych stron internetowych budowanych w oparciu o standardy sieciowe i najlepsze praktyki. Prywatnie wielki miłośnik ambitnego kina sci-fi oraz grunge-rocka z lat 90.

Zobacz wszystkie artykuły tego autora (15)

  1. Maciek 1

    Myslicie, ze ktos sie na to nabierze?

  2. Marek 2

    Zrobione z klasą i w pięknym stylu. :-)

  3. Gość 3

    A poza tym, że to wandalizm – to przestępstwo (art 267-268 kodeksu karnego polecam szczególnej uwadze)

  4. Guest 5

    No i gratulacje dla NiEpOkOrNeGo KROLICZKA (oh, jakie to rozowe) za usuwanie niepochlebnych komentarzy ze swojego bloga…

  5. powerpc 6

    @guest: przynajmniej wie, co o nim myślą dorośli ludzie :)

  6. To teraz czekamy na relację z procesu ;)

  7. Leon 8

    Sam zjechalem hazana za ten serwer, ale takie hakierowanie i pieprzenie ze to w celu pokazania ze trzeba sie zabezpieczac to jest imho czyste kurestwo. Rownie dobrze rzuc kamieniem w szybe sasiada i powiedz ze ja shakierowales i niech upgrejduje ja sobie do wytrzymalszej wersji.
    Normalny czlowiek najpierw daje znac, kolego masz wersje z lukami, popraw to bo ktos ci narobi smrodu. Dupek robi smrod a potem sie tym chwali.

  8. Leon 9

    ps. jakby co, nie znam ani hazana ani hakiera

  9. montewski 10

    dolary przeciw orzechom, ze bedzie z tego proces

  10. ADIHC1 11

    Nie sądzę, żeby zakończyło się to pozwem sądowym. Hazan dostał nauczkę, teraz może nie będzie lekceważył komunikatu “Please update now.” ; >

  11. Wieś tańczy i śpiewa.

  12. Panowie – wyluzujcie troche :)

    Co do usuwania wpisow – usuwam tylko te niecenzuralne :) Jeden wpis Leona podpada pod ten schemat ale dzisiaj mam szeroki margines tolerancji :)

    Uwierzcie mi – marny ze mnie hakier :) Co do dziury – jest ona mega-trywialna do wykorzystania i dokladnie opisana – wisi to w Sieci gdzies od konca kwietnia! Wystarczy zadac odpowiednie pytanie na Google.

    W rekach osoby z troche mniejszym poczuciem humoru niz moje ta jawna, dostepna dla kazdego wiedza mogla by poczynic duuuuzo wieksze spustoszenia.

    Hazan – glowa do gory :) Nie wrzucilem Ci nic w pluginy ani szablony – powaga.

  13. Aseeon 14

    Jeżeli to jest “celebrity joke” to żenua…

    Jeżeli to nie był żart, tylko faktycznie tak wygląda według ciebie “hakierowanie” to już nie żenua tylko Żenada. Tak jak napisał Leon, najpierw piszesz maila i czekasz na załatanie dziury, później robisz publikacje.

    Każdy logicznie rozumujący bloger na miejscu Hazana powinien cię pociągnąć do odpowiedzialności. Także powodzenia w sądzie!

  14. Lordnever 15

    Atak, atakiem, ale i tak widać że atak przeprowadził anaalfabeta:) A jak już coś robić, to porządnie i z klasa… W nagrodę, hazan powinien się Ci odwdzięczyć tym samym… Tylko, zapewne nie chwaliłby się tym…

  15. Kuba 16

    Bede z wielka przyjemnoscia czytal przyszly wpis z relacji z procesu :) I szczerze zycze panu wielkiem hakierowi zeby zakonczylo sie to zawiasami bo jedna na realny wyrok nie mozesz liczyc, a szkoda.

  16. Krzych 17

    A ja się cieszę, że ktoś wreszcie utarł nosa naszemu specu od bezpieczeństwa.

    Jak zauważyłem, pan Kminek niczego nie zniszczył na blogu, ba – nawet gdyby nie rss’y atak przeszedły niezauważony. BArdzo dyskretna metoda. Gratulacje.

  17. ddluk 18

    Żart jak nic. Wystarczy spojrzeć na stronę główną dodaną do załącznika. Widzimy tam datę w postaci 24 września 2008 20:21. Wystarczy zaś wejść na oryginalnego antyweba i zobaczyć, że data wyświetlana jest w innym formacie a dokładniej: 24 September 2008 16:26. Czyli widać, że to fake :)

  18. Kuba 19

    Zaden fake, mam to jeszcze w rssie i przedchwila bylo na glownej antyweb

  19. Krzysiek 20

    Jakby co – Google Reader archiwizuje wszystkie rssy – sprawdźcie tam.

  20. Ambroży Kleks 21

    Pozdrawiam mamę.

  21. ddluk 22

    Ani w rssie ani w google reader, więc fake.

  22. ADIHC1 23

    Jaki szum się zrobił w ogól tego, hehe..

    PS. Już widzę jak po tym wszyscy rzucili się na aktualizowanie swoich WP ; >

  23. A ja myślę, że nie fake :). Do tego artykułu dotarłem z linka z artykułu na antywebie, który cały czas mam w Google Readerze :).

  24. Ja mam to w Google Readerze

  25. Grzeg 26

    Nie byl fake, mialem w rss’ie na webhosting.pl i ponizej zrzut:
    http://i33.tinypic.com/15rjyi8.jpg
    W tym samym czasie antyweb.pl nie dzialal – mial problemy z includowaniem plikow, wiec pewnie wgrywane bylo wszystko od nowa.

  26. panC 27

    “Otóż – trochę poszperałem, trochę poczytałem” które sprowadziło sie do odwiedzenia milworm tudzież securityfocus, w celu sciągniecia odpowiedniego skryptu? … oO

  27. hhz 30

    hazan to ciotka , uzywa blipa jak inne 11 letnie blogerki. hazan kcesz dostfac fajne komcie, wymienimy sie komciami ciotko?

  28. mario 31

    w rss zachowała mi się ta wiadomość napisan przez tego “hakiera” tutaj grzecznego. więc to prawda.

  29. Hekko 32

    Alez chaking, szczyt lamerstwa, wykorzystac stara luke i opisac to na blogu

  30. kijciwoko 33

    Kolego, naprawdę wspaniałomyślny jesteś. Szkoda, że pewne praktyki z takimi łaskawcami(Adolf gdzie jesteś?)są już zakazane. Obraziłeś nie tylko mnie jako czytelnika bloga Pana Grzegorza, ale też wszystkich jego czytelników. W niczym nie szkodził, nie udostępniał płatnych materiałów, nie obrażał nikogo, mimo to postanowiłeś pokazać jak idea hakerów – wolność informacji – działa w praktyce. Heil

  31. Trpi 34

    Ja dostalem w readerze wiec to prawda. Tylko sposob ujawnienia troche zlosliwy, nie podoba mi sie. Ale no coz… w kwestiach prawnych to sie nie wypowiem bo nie o to tu chodzi. Po prostu w moim odczuciu to jest troche nie ten… no ja i tak bym sie skontaktowal z autorem zeby wyjasnic sytuacje.

  32. azorek 35

    Ja go w Google Readerze mam!

  33. bachus 36

    Och… jaki Ty jesteś mądry i och, ach… Jak Cię zachwycił panel administratora CMSa WordPress… Jesteś też ogólnie pod wrażeniem umiejętności swoich w korzystaniu z google (Milw0rm się kłania).

    ps. jak chyba wiesz, internet pamięta – a życie jest takie, że dużo osób sprawdza np. potencjalnego klienta, pracownika, wspólnika poprzez… wpisanie jego danych w google. Gratulacje.
    p.p.s. moja strona jest już zaktualizowana do WP 2.6.2, na dniach wywalę informacje o wersji z sekcji meta, ponieważ Grzegorzów Ci u nas dostatek…

  34. Blaze 37

    ja mialem w RSS, wiec potwierdzam :) co do samego “wyczynu” – mozna poczytac mala riposte na antywebie :)

  35. MDB 38

    a myślałem, ze to ja jestem jeszcze dziecinny…

  36. Mendax 39

    ddluk: Żaden fake, googielowy blogsearch to nawet znalazł.

    Co do samej akcji… Rozumiem, co Kolega chciał nią osiągnąć i się chyba udało; szkoda, że niewielu to widzi.
    W razie czego, życzę powodzenia w sądzie. ;-)

  37. Adam 40

    Marczak znów z siebie robi debila na swoim blogu O_o

  38. Jedna litera 41

    plain stupid.

  39. Albi 42

    Żaden fake, sam mam to w RSSach. Widocznie twój GReader nie wszedł w tym czasie akurat na antyweb’a ;) Swoją drogą dziwię się jak osoba, która mówi że jej poziom wiedzy technicznej jest nikły może prowadzić tak poczytnego bloga IT. Co nie zmienia faktu, że porównywanie go do Faktu to jednak mocna przesada.

  40. vinnie 43

    Jesteś chyba w innym wymiarze. Mój Google Reader pokazał mi ten zhakierowany wpis na AW.

  41. a po co 44

    Żałosne. Idź grać w tibie zamiast psuc prace ludzi..

  42. Olgierd 45

    No to u mnie miałbyś przerąbane. Dziecinne to, ale i przestępcze.

  43. Madzia 46

    No proszę ;)
    Po przeczytaniu komentarzy na antyweb, zaczynam się poważnie zastanawiać nad tym, czy sprawa trafi do sądu ;>
    Oby nie.

  44. LBO 48

    Fake i skomplikowany układ luster :)

  45. zoom 49

    no to masz problem kolego, pewnie będzie sprawa, głupio tak jakoś zrobiłeś to

  46. Pawel 50

    Jak dla mnie lamerstwo pelna gemba

  47. Jules 51

    Wow… teraz troche poszperasz, troche poczytasz i… wbijesz się na bloga mojej kuzynki, strach się bać :s

  48. takiJeden 52

    W nagrodę, hazan powinien się Ci odwdzięczyć tym samym… Tylko, zapewne nie chwaliłby się tym…

    Taaa, na pewno by to potrafił zrobić. Tym bardziej, że coraz częściej pokazuje, że nie zna się na prowadzeniu serwisu, a co dopiero wiedza z dziedziny programowania, której podstawy są jednak niezbędne do “hakierowania”.

    A porównanie AntyWeb do Faktu mi się bardzo spodobało :)

  49. webbo 53

    A wystarczyło wprowadzić kilka małych zmian…
    http://webbo.pl/index.php/google-hacking-jak-sie-bronic/

    Hazan dostał duży zastrzyk wiedzy (“aktualizuj wordpressa” :). Gorzej by było, jakby ktoś mu się włamał i wrzucił stronę porno…

    Z drugiej strony – etycznie byłoby kogoś poinformować go o tym, że jest luka w jego serwisie. W tym wypadku włam ma ewidentnie podłoże medialne i nie za dużo ma wspólnego z bezpieczeństwem…

  50. bash3r 54

    no bo co to za spec, który nie potrafi zapewnić ciągłości działania swojego serwisu

    … Twój blog też nie działał … więc co z Ciebie za spec ?

    Btw. nie zhakierowałeś tylko zlamiłeś bo nawet nie jesteś w stanie sam znaleźć dziurki tylko wykorzystujesz dziurę odkrytą przez innych ;]

    Co z Ciebie za spec ?

  51. e2rd 55

    @ddluk: głupiś..

  52. Twoje Imię 56

    Fajne było :) ale Plus Dla Hazana Że tez podał link dotwojego Bloga :)

  53. fannet 57

    Nie rozumiem, po przeczytaniu niektórych komentarzy wnioskuję iż mówicie że to dziecinne -,- co Wy byscie zrobili po znalezieniu takiej luki, najlepiej usuneli całą treść? Ktoś też napisał że Grzegorz znalał tą opisanę lukę w internecie i dziecinne ją wykorzystał, mimo iż była znana i opisana to nie została naprawiona…

  54. an 58

    Nie będę poruszał samego aktu ale odniosę się do artykułu > szybciej i sprawniej opisał to wpninja:)

  55. mario 59

    przeciez napisales to samo co wpninja…
    wrecz zerznales

  56. nie zzynalem z wpninja – nie smialbym – za bardzo szanuje Szymona i mozna powiedziec, ze sie nawet ‘troche’ znamy :) o tym, ze o tym napisal dowiedzialem sie z komentarzy. oboje interesujemy sie WP wiec nie dziwie sie, ze niektore punkty sie pokrywaja bo sa one oczywistoscia dla kazdego, kto choc troche zna ten system. zreszta sa szeroko opisane na anglojezycznych stronach.

Dodaj komentarz * pola obowiązkowe

 
 

Dozwolone tagi HTML: <strong> <em> <a href="" title=""> <code> <pre lang=""> <blockquote cite="">

Komentarze są moderowane. Mile widziane wpisy wnoszące nowe, ciekawe informacje do omawianego tematu
lub sygnalizujące ewentualne błędy merytoryczne. Wszelkie przejawy spamu lub nieetycznego zachowania bedą
karane blokadą adresu IP/domeny.