Włamanie na stronę internetową – przyczyny, skutki, jak naprawić

Arkadiusz Meszka    21 sierpnia 2019 | Ostatnia modyfikacja: 2 marca 2020

Do włamań na strony internetowe dochodzi na porządku dziennym. W mojej dotychczasowej 10-letniej karierze miałem do czynienia z około 100 włamaniami na strony www. Tylko 3 lub 4 z nich były włamaniami na strony budowane przeze mnie – jednak były to włamania drobne i przewidziane, ponieważ strony były stare i do wymiany.

Nie ma systemu, który jest w 100% szczelny na ataki hakerskie. Czy to WordPress, Joomla, Drupal, Prestashop, Magento, czy system autorski – do włamania może dojść zawsze. Nie zawsze jednak z winy samego systemu. Czasem z winy dodatków do systemu, czasem z winy słabo zabezpieczonego serwera, najczęściej jednak z winy człowieka (niezaktualizowany system, słabe hasła, hasła łatwe do wykradnięcia).

Poniżej opiszę, z jakimi typami włamań miałem dotychczas do czynienia i jakie były tego rezultaty.

Włamania w celu rozesłania spamu

Hakowanie stron internetowych w celu rozesłania z danego serwera spamu mailowego to najczęstsza sytuacja tego typu. Platformy takie, jak WordPress, Joomla czy Drupal, gdy nie są aktualizowane przez odpowiednio długi czas, są bardzo łatwe do zhakowania. Wtedy haker nie musi nawet osobiście tego robić, lecz uruchamia bota, który robi za niego robotę automatycznie.

Włamania tego typu nie są z reguły bardzo szkodliwe dla właściciela strony www. Rezultatem może być trafienie jego adresu IP na listy narzędzi chroniących przed spamem, w związku z czym e-maile mogą nie dochodzić do wielu podmiotów korzystających z tych narzędzi antyspamowych. Rozwiązaniem tej sytuacji jest z reguły odczekanie lub zgłoszenie do twórców tych narzędzi, aby usunęli adres IP ze swojej listy. Alternatywnie – zmiana adresu IP, gdy jest to możliwe. Najczęściej robi to firma hostingowa, więc jeśli nie mamy własnego serwera VPS lub dedykowanego, nie ma się o co martwić.

Skutkiem takiego włamania jest zazwyczaj dodatkowo to, że firma hostingowa blokuje stronę internetową do czasu, aż wszelki złośliwy kod zostanie usunięty ze strony, a sama strona zaktualizowana, aby do włamań nie doszło ponownie.

Włamania w celu pokazania, że się umie

Niektórzy hakerzy mogą zhakować twoją stronę tylko po to, aby pokazać Ci, że da się zhakować (jest luka w bezpieczeństwie) i zaoferować audyt bezpieczeństwa i załatanie dziur. Skutkiem takiego włamania jest zazwyczaj wyświetlenie na stronie internetowej jakiegoś zabawnego komunikatu i zabawnej muzyki. W komunikacie są umieszczane dane kontaktowe do hakera. Zawartość strony nie jest usunięta i można ją przywrócić.

Do takich włamań dochodziło najczęściej w przeszłości na systemie Joomla. Dokonywali ich najczęściej hakerzy z Azji (Indie, Pakistan, Rosja). Niemniej jednak włamanie na nieaktualny system Joomla jest dziecinnie proste, dla tego łatwo było problem rozwiązać. Wystarczyło usunąć szkodliwe pliki i dokonać aktualizacji / migracji.

Włamania, aby ukraść dane / pieniądze / uzyskać dostęp do ukrytych treści

Gdy masz do czynienia z takim włamaniem, a nie jesteś ekspertem, jak najszybciej poproś eksperta o konsultację i interwencję. Jeśli sam jesteś ekspertem w dziedzinie, pierwsze co powinieneś zrobić, to zmienić wszystkie hasła i tymczasowo całkowicie zablokować dostęp do strony internetowej, na której doszło do włamania. Następnie należy zlokalizować problem i go naprawić. Należy też powiadomić osoby / firmy, których dane mogły zostać wykradzione.

Włamanie, aby ustawić przekierowania na inną stronę www

Podczas takiego włamania haker może wstrzyknąć na stronę przekierowania do innych stron www. Albo stron, na których zarabia, albo stron, na których wykrada dane lub infekuje komputery odwiedzających.

W przypadku takiego włamania kod przekierowania może być wstawiony do plików danej witryny (w przypadku WordPress może być wstrzyknięty do plików szablonu bądź wtyczek, albo rdzenia – głównie gdy nie dbamy o aktualizację).

Może też dojść do SQL Injection, gdzie haker wstrzykuje kod bezpośrednio do bazy danych, np. na koniec każdego wpisu w tabeli wp_posts (w systemie WordPress). Do takiego włamania może dojść nawet wtedy, gdy wszystko na bieżąco aktualizujemy. Najczęściej jest to spowodowane błędami popełnionymi przez twórców wtyczek, z których korzystamy.

Doszło do włamania na mojej stronie – co mam robić?

Gdy już stoimy przed faktem dokonanym i musimy uporać się z włamaniem na stronę, należy podjąć poniżej opisane czynności.

Zmiana haseł

Pierwszy i najważniejszy krok to zmiana haseł. Należy zmienić hasło do panelu administracyjnego serwera, do panelu admina strony internetowej, do kont ftp, skrzynek pocztowych, ssh (jeśli aktywne) oraz do baz danych.

Aktualne oprogramowanie

Czasami włamanie to nie włamanie bezpośrednio na serwer, tylko zhakowanie starej wersji programu używanego do poczty e-mail, np. MS Outlook. W takiej sytuacji należy ten program zaktualizować do najnowszej wersji, przeskanować komputer antywirusem i zmienić hasło do skrzynki.

Analogicznie, warto używać najnowszej wersji systemu operacyjnego (szczególnie Windows) i nie wyłączać aktualizacji w systemie.

Należy także pamiętać, aby na serwerach używać w miarę nowych wersji PHP. Obecnie najlepiej mieć aktywną wersję z serii 7 (7.1, 7.2, 7.3) lub wyższą. Jeśli strona internetowa nie jest kompatybilna z nowszymi wersjami PHP – należy ją zaktualizować. Jeśli używacie wersji php z serii 5, np. 5.6, WordPress będzie wam wyświetlać w panelu komunikat, że wersja PHP powinna zostać zaktualizowana.

Rozpoznanie szkodliwych plików

Jeśli posiadamy na swoim komputerze dobry antywirus, wystarczy ściągnąć z serwera pliki i już wiemy, które pliki są zainfekowane. Gdy nasza strona jest osadzona w dobrej firmie hostingowej, także reakcja na zagrożenia jest szybka – dbają o to administratorzy serwera. Jaki hosting wybrać? Napisałem o tym osobny artykuł:

Jaki hosting wybrać

Złośliwe pliki można też rozpoznać manualnie. Wystarczy np. w programie Filezilla lub podobnym spojrzeć na daty modyfikacji plików:

Jeśli wszystkie pliki były modyfikowane np. 3 lata temu, a nagle jakiś plik lub folder ma datę modyfikacji z dnia włamania, wiemy, że tam może być złośliwy kod.

Nie zawsze jest to skuteczne, szczególnie jeśli tuż po włamaniu dokonaliśmy aktualizacji albo jeśli doszło do do SQL Injection (czyli wstrzyknięcia złośliwego kodu do bazy danych poprzez luki w istniejących już skryptach).

W przypadku wstrzyknięcia złośliwego kodu do bazy danych należy przejrzeć logi serwera z czasu włamania i sprawdzić, jakie pliki były wywoływane i w jakim celu.

Przywrócenie Backup-u (kopii zapasowej)

Jeśli masz taką możliwość, warto przywrócić backup strony internetowej sprzed włamania. Nie ma nigdy pewności, że w takiej kopii już nie ma złośliwego kodu, jego zaczątków, które nie są rozpoznane jako złośliwe, ale może to pomóc zaoszczędzić trochę czasu.

Włamanie na stronę opartą o WordPress

Jeśli twoja strona jest zbudowana na WordPress, to oprócz wszystkiego, co opisano powyżej i poniżej, należy także wykonać poniższe czynności.

Po oczyszczeniu systemu i zmianie haseł trzeba wygenerować nową sól (salt) i wstawić ją w pliku wp-config.php w liniach około 50-60. Podpisane komentarzem „Unikatowe klucze uwierzytelniania i sole”.

Salt można wygenerować tutaj: https://api.wordpress.org/secret-key/1.1/salt/

Trzeba też sprawdzić, czy w pliku wp-config.php nie ma kodu, którego nie powinno być. Jeśli profesjonalnie robisz strony na WP, powinieneś być w stanie na pierwszy rzut oka rozpoznać, czy jest w tym pliku kod, którego być nie powinno.

Kolejnym ważnym krokiem, który należy wykonać – zmienić prefix tabel w bazie danych na inny (nawet, jeśli już używano własnego, a nie domyślnego). Można to zrobić ręcznie przez phpmyadmin i w pliku wp-config.php, lub za pomocą odpowiedniej wtyczki.

Nie zapomnij także o sprawdzeniu listy użytkowników w panelu admina WordPress. Należy sprawdzić, czy przypadkiem nie ma tam użytkownika z uprawnieniami administracyjnymi (lub bez żadnych uprawnień, nawet subskrybent), którego nie powinno tam być. Zmień też swoje hasło i hasło wszystkich użytkowników z uprawnieniami administracyjnymi. Jeśli masz na stronie innych użytkowników, należy wszystkim zalecić (lub wymusić) zmianę hasła.

Jeśli mamy na to budżet i strona jest oparta o WordPress, warto kupić skuteczny i wydajny plugin, który pomoże nam zająć się problemem. Przykładem takiego pluginu jest MalCare.

Nie jest on tak popularny, jak np. Wordfence, a jest tak samo lub bardziej skuteczny i kompatybilny z innymi wtyczkami.

Inną dobrą alternatywą jest All in One Security & Firewall, jednak trzeba dobrze rozumieć, na czym polegają i jak działają poszczególne funkcje wtyczki. Inaczej można nieświadomie ograniczyć funkcjonalność swojej strony internetowej, lub co gorsza – uszkodzić ją.

Na koniec rzecz oczywista i mimo iż opisuję ją jako ostatnią, trzeba ją zrobić jako pierwszą – zaktualizować system WordPress i wtyczki oraz szablon. Jeśli w twojej instalacji są wtyczki, które nie były przez twórców rozwijane / aktualizowane przez więcej, niż pół roku, należy poważnie zastanowić się nad ich wymianą.

Gdy już ze wszystkim się uporasz, znajdź chwilę i napisz o swojej sytuacji na forum WordPress.org. Szczególnie w sytuacji, gdy doszło do włamania na twoją stronę, mimo iż była zaktualizowana. Wtedy może to oznaczać, że wielu innych użytkowników WP może paść ofiarą hakerów, gdyż jakiś plugin ma lukę w bezpieczeństwie, którą twórcy muszą pilnie załatać.

Zapobieganie włamaniom na strony internetowe

Z perspektywy klienta zamawiającego stronę www

Gdy nasza firma buduje stronę internetową dla klienta, opartą o jakikolwiek system CMS, zawsze dajemy gwarancję na 2 lata. Gwarancję tę można przedłużyć po 2 latach na kolejny rok.

W trakcie trwania gwarancji aktualizujemy regularnie system pod kątem bezpieczeństwa i cała odpowiedzialność spoczywa na nas.

Jeśli zlecasz budowę swojej strony internetowej zewnętrznej firmie, upewnij się, że dostajesz gwarancję. Tak długo, jak masz gwarancję bezpieczeństwa, nie musisz się martwić o włamanie.

Z perspektywy twórcy stron www

Jeśli sam jesteś web developerem i chcesz zapobiegać włamaniom na budowane przez Ciebie strony internetowe, w pierwszej kolejności musisz znać odpowiednie standardy. Jeśli ich nie znasz, warto się doszkolić. Można to zrobić np. na portalu lynda.com czy tutsplus.com

Jeśli budujesz strony na WordPress, staraj się ograniczać liczbę gotowych skryptów do minimum. Zamiast budować stronę na gotowym szablonie, warto zbudować własny szablon. O tym, dlaczego lepiej zbudować własny szablon, piszę w tym artykule:

WordPress – szablon gotowy czy autorski

Zamiast stosować zewnętrzne wtyczki wykonujące za Ciebie każde – nawet najprostsze – zadanie, zrezygnuj z nich i napisz własny kod. Oczywiście są pluginy, które wykonują mnóstwo zadań i nie opłaca się ich zastępować własnym kodem, np. All in One SEO Pack, Advanced Custom Fields, Yoast SEO czy wtyczki od bezpieczeństwa lub backupu.

Stosowanie dużej ilości wtyczek i używanie gotowego szablonu to powierzanie bezpieczeństwa twojej strony www wielu zewnętrznym podmiotom. Ponadto ta strategia powoduje, że większość kodu twojej witryny jest publicznie dostępna.

Zadbaj o poniższe kwestie niezależnie od tego, czy jesteś właścicielem strony www, czy twórcą stron www

Wspominałem już o tym wyżej – ważnym aspektem bezpieczeństwa twojej witryny jest dobry serwer. Jedną z lepszych moim zdaniem firm hostingowych jest dhosting. Pisałem o niej w artykule na temat wyboru hostingu, do którego link znajduje się powyżej.

Dobre hasła

Połową sukcesu jest dbanie o odpowiednio silne hasła. Najlepiej o długości minimum 8 znaków, duże i małe litery, cyfra i znak specjalny. Jeśli stosujemy wszędzie to samo hasło, warto je zmienić raz na 1-2 miesiące.

Wiele systemów CMS i aplikacji online pozwala na generowanie trudnych haseł. W przeglądarce Google Chrome także wprowadzono ostatnio możliwość generowania haseł.

Certyfikat SSL na stronie WWW

Obecnie może zabrzmieć to banalnie, ale mimo wszystko o tym wspomnę – na każdej stronie internetowej powinien obecnie znajdować się certyfikat SSL. Jest jeszcze wiele stron internetowych, które tego certyfikatu nie mają. Certyfikat służy do ochrony danych użytkowników witryny. Wiele firm oferuje darmowe certyfikaty, w tym wspomniany wyżej dhosting.

Praca w miejscu publicznym

Pracujesz czasem w miejscu publicznym, np. w restauracji, w galerii handlowej, kawiarni? Albo w miejscu twojej pracy przewija się dużo ludzi, którzy mają widok na twój ekran? W takiej sytuacji warto wyposażyć się w filtr prywatyzujący. Tutaj zamówić można filtr na każdy rozmiar ekranu:

Filtry prywatyzujące 

Tutaj także jest bardzo duży wybór filtrów prywatyzujących:

Filtry prywatyzujące

Pozostając przy temacie pracy w miejscu publicznym – znacznie bezpieczniej jest zrobić na swoim smartfonie hotspot chroniony hasłem, niż korzystać z otwartej sieci Wi-Fi. Gdy korzystasz z otwartej sieci Wi-Fi, sugeruję nie logować się nigdzie i nie korzystać z aplikacji wymagających twojej autoryzacji, chyba że jest to absolutnie konieczne. Jednak po takim korzystaniu warto rozważyć zmianę haseł.

Hotspot chroniony hasłem można stworzyć ustawieniach sieci / Wi-Fi w smartfonie. Jeśli masz smartfon na androidzie, przytrzymaj ikonkę Wi-Fi i trafisz do ustawień. Lub wejdź w ustawienia i tam w „Sieć i internet”.

Dział „Hotspot i tethering” (lub dział o podobnej nazwie) pozwoli stworzyć własną sieć wi-fi, z którą może połączyć się twój laptop. Oczywiście trzeba mieć odpowiednio duży transfer danych wykupiony u swojego operatora sieci komórkowej.

Jeśli jesteś WordPress Developerem i tworzysz szablony WordPress, nie zapomnij o magicznym if ( ! defined(’ABSPATH’)) exit(’restricted access’); na początku plików, które przetwarzają żądania POST lub inne, mogące wpłynąć na twoje dane. Piszę akurat o tym, ponieważ to jest jedna z najczęstszych przyczyn nieautoryzowanego dostępu do danych i modyfikacji danych na WordPressie. Sprawi to, że pliku nie można wywołać bezpośrednio przez przeglądarkę.

Podsumowanie

Gdy dochodzi do włamania na twoją stronę internetową – nie panikuj. Szczególnie, jeśli masz prostą stronę internetową nie zawierającą żadnych wrażliwych danych. Skutki włamania zazwyczaj można zlikwidować lub alternatywnie przywrócić backup i zabezpieczyć stronę internetową.

Jeśli zlecasz budowę strony, upewnij się, że otrzymasz gwarancję bezpieczeństwa.

Zadbaj o to, aby mieć odpowiednie nawyki zwiększające twoje bezpieczeństwo w sieci – aktualizacje używanego oprogramowania, używanie trudnych haseł, zmienianie haseł regularnie, stosowanie antywirusa na używanych urządzeniach.

Udostępnij wpis
1 Gwiazdka2 Gwiazdki3 Gwiazdki4 Gwiazdki5 Gwiazdek (6 głosów, średnia: 4,33 z 5)
Loading...

7 komentarzy

  1. patryq23 pisze:

    Dzięki za porady. Ja ostatnio miałem włamanie na system WordPress, nie wiedziałem, że jakieś „sole” trzeba wygenerować od nowa. Zrobiłem to i znalazłem, gdzie trzeba wstawić. Udało mi się też zmienić hasło do bazy danych i pozmieniałem hasła wszystkich użytkowników oraz wszystko zaktualizowałem.

  2. Marta pisze:

    Weszłam na znaną mi od wielu lat stronę i zobaczyłam napis „your Website has been hacked! No security” i rysunek gościa na czarnym tle pokazującego środkowy palec.

    Czy mogłam przy okazji sobie ściągnąć na komputer jakiegoś wirusa.
    Był tez napis (chyba turecki)- AMDINE OZEL MESAJIM VAR HACKLENDIN!!!

  3. Arkadiusz Meszka pisze:

    Raczej nie, po prostu zhakowali właścicielowi stronę i tyle.

    Niemniej jednak nie zaszkodzi mieć antywirus zainstalowany na komputerze.

    • Marta pisze:

      Dziękuje bardzo za szybką odpowiedź, skanowanie antywirusem już włączone, na razie wszystko OK
      pozdrawiam

  4. Teresa0307 pisze:

    Na pocztę sklepu internetowego co dwie minuty rejestruje się nowy użytkownik (cały świat) mam już tego dosyć. Mój admin za aktualizacje cmsa liczy sobie jak za zboże i mówi, że to przez to, że nie ma aktualizacji. Co mam robić.? Nie stać mnie, żeby mu zapłacić 😔

  5. Marek pisze:

    Jak można usunąć z indeksu XXX k podstron, które zostały zaindeksowane w skutek ataku hackerskiego? Tych stron fizycznie nie ma. Jest url, ale z automatu robi przekeirowanie na zewnątrz. Przekierowania usunałem i zrobiłem własne. Wyindeksowanie idzie w tempie 1k w miesiac….

    • Arkadiusz Meszka pisze:

      Niestety takie operacje wymagają czasu. Można gdzieś tam w Google Search Console zgłosić prośbę o nieindeksowanie wybranych adresów URL, ale nie wiem czy to przyspieszy coś w przypadku takiej ilości.

      Niestety Google nie można tak po prostu usuwać z indeksu stron, które nagle znikają, gdyż czasami ktoś zapomni przedłużyć hosting czy domenę i dana strona zniknie na tydzień czy dwa, ale potem się pojawia. Więc gdyby Google miał od razu usuwać z indeksu, a potem indeksować od nowa, zabierałoby to niezmiernie większą liczbę zasobów.

      Chyba najlepiej jest, aby te URLe pokazywały 404.

Skomentuj Arkadiusz Meszka Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *