Oczyść i zabezpiecz witrynę

Aby zapewnić prawidłowe działanie witryny i zapobiegać atakom hakerów w przyszłości, będą Ci potrzebne:

  • dostęp administratora powłoki lub terminala do serwerów witryny: internetowego, bazy danych, plików;
  • znajomość poleceń powłoki lub terminala;
  • umiejętności czytania kodu (np. PHP lub JavaScript);
  • miejsca na dane do tworzenia kopii zapasowych witryny, w tym plików, bazy danych i obrazów,

Kolejne działania

Na tym etapie omawiamy kilka spraw:

  • Gdzie znaleźć dodatkowe materiały, gdy uważasz, że haker zamierzał uzyskać dane osobowe użytkowników (np. korzystając ze stron wyłudzających informacje).
  • Opcja Usuń adresy URL w Search Console pozwala przyspieszyć usunięcie utworzonych przez hakera, zupełnie nowych, niepożądanych adresów URL widocznych dla użytkowników i zapobiec pojawianiu się tych adresów w wynikach wyszukiwania Google.
  • Opcja Poproś Google o ponowne zindeksowanie adresów URL w Search Console pozwala przyspieszyć przetwarzanie przez Google nienaruszonych stron (nowych lub ostatnio zaktualizowanych), które chcesz wyświetlać w wynikach wyszukiwania Google.
  • Instalacja najnowszej i najbezpieczniejszej wersji oprogramowania.
  • Usunięcie niepotrzebnych lub nieużywanych aplikacji i wtyczek, które mogą narazić witrynę na ataki w przyszłości.
  • przywrócić prawidłowe treści i usunąć treści wprowadzone przez hakera;
  • Usunięcie głównej przyczyny luki w zabezpieczeniach, którą wykorzystał haker.
  • Zmiana wszystkich haseł.
  • Planujesz zabezpieczenie witryny.

1. Znajdowanie zasobów pomocy

Jeśli z Twojej witryny zostały uzyskane poufne informacje o użytkownikach (np. w wyniku ataku w celu wyłudzenia informacji), przed rozpoczęciem czyszczenia witryny i usuwania plików warto wziąć pod uwagę wszelkie zobowiązania biznesowe, prawne i prawne. Przydatne materiały o phishingu znajdziesz na stronie antiphishing.org – m.in. dokument w języku angielskim What to do if you your site has been hacked by phishers (Co robić, gdy witrynę zaatakowali hakerzy wyłudzający informacje).

2. Rozważ szybsze usunięcie nowych adresów URL utworzonych przez hakera

Jeśli haker utworzył zupełnie nowe adresy URL widoczne dla użytkowników, możesz przyspieszyć usuwanie ich z wyników wyszukiwania Google, korzystając z funkcji Usuń adresy URL w Search Console. Ten krok jest opcjonalny. Gdy po prostu usuniesz strony, a potem skonfigurujesz serwer, by zwracał kod stanu 404, po jakimś czasie strony w naturalny sposób znikną z indeksu Google.

  • Decyzja o skorzystaniu z funkcji usuwania adresów URL zależy zwykle od liczby utworzonych nowych, niechcianych stron (podawanie zbyt wielu stron w sekcji Usuń adresy URL może być kłopotliwe) oraz od potencjalnych szkód, które te strony mogą spowodować u użytkowników. Aby strony zgłoszone w ramach narzędzia do usuwania adresów URL nie pojawiały się w wynikach wyszukiwania, muszą też tak skonfigurować zwracanie odpowiedzi 404 Nie znaleziono pliku.
  • Nie używaj tego narzędzia, by poprosić o usunięcie stron, które wcześniej były prawidłowe, a uszkodzone tylko przez hakera. Chcesz, aby po wyczyszczeniu pojawiły się w wynikach wyszukiwania. Narzędzie do usuwania adresów URL stosuje się tylko w przypadku stron, które mają na stałe zniknąć z wyników wyszukiwania.

3. Rozważ przyspieszenie przetwarzania nienaruszonych stron przez Google

Jeśli masz nowe lub zaktualizowane strony, które nie zostały zaatakowane, możesz poprosić Google o ponowne zindeksowanie adresów URL w Search Console i przesłać je do indeksu Google. Jest to opcjonalne. Jeśli pominiesz ten krok, Twoje nowe lub zmodyfikowane strony prawdopodobnie zostaną po pewnym czasie zeskanowane i przetworzone.

4. Zacznij oczyszczać serwery

Nadszedł czas, aby rozpocząć oczyszczanie witryny na podstawie informacji zebranych podczas etapów Oceń szkody i Znajdź lukę w zabezpieczeniach. Ścieżka, którą musisz wykonać na tym etapie, zależy od typu dostępnej kopii zapasowej:

  • Nienaruszona i aktualna kopia zapasowa
  • Nienaruszona, ale przestarzała kopia zapasowa
  • Brak dostępnej kopii zapasowej

Najpierw sprawdź, czy kopia zapasowa została utworzona przed atakiem hakerów na witrynę.

Nienaruszona i aktualna kopia zapasowa

  1. Przywróć kopię zapasową.
  2. Zainstaluj wszystkie dostępne uaktualnienia do nowszej wersji, aktualizacje i poprawki oprogramowania. Dotyczy to oprogramowania systemu operacyjnego (jeśli masz kontrolę nad serwerem) oraz wszystkich aplikacji, w tym systemu zarządzania treścią, platformy e-commerce, wtyczek lub szablonów.
  3. Rozważ usunięcie z serwera oprogramowania, którego witryna już nie używa (np. widżetów, wtyczek czy aplikacji).
  4. Usuń lukę w zabezpieczeniach.
  5. Upewnij się, że wszystkie problemy znalezione na etapie Oceń szkody zostały rozwiązane.
  6. Ponownie zmień hasła do wszystkich kont związanych z witryną (dotyczy to m.in. loginów do serwera FTP, bazy danych, kont administratorów systemu oraz kont CMS). W systemie typu Unix użyj polecenia:
passwd admin1

Nienaruszona, ale przestarzała kopia zapasowa

  1. Utwórz obraz dysku bieżącej witryny, mimo że wciąż jest ona zainfekowana. Ta kopia jest tylko dla bezpieczeństwa. Oznacz kopię jako zainfekowaną, aby odróżnić ją od innych. W systemie typu Unix obraz dysku możesz utworzyć tak:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
  1. Zrób kopię zapasową systemu plików serwera, w tym plików graficznych i multimedialnych. Jeśli korzystasz z bazy danych, utwórz także jej kopię.
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
  1. Przywróć nienaruszoną, ale przestarzałą kopię zapasową na serwer.
  2. Zastanów się, czy możesz usunąć z serwera oprogramowanie (np. widżety, wtyczki i aplikacje), z którego witryna już nie korzysta.
  3. Uaktualnij całe oprogramowanie, w tym system operacyjny (jeśli masz odpowiednie uprawnienia do zarządzania serwerem) oraz wszystkie aplikacje, takie jak system zarządzania treścią, platformę e-commerce, wtyczki i szablony. Sprawdź i zainstaluj dostępne aktualizacje i poprawki zabezpieczeń.
  4. Usuń lukę w zabezpieczeniach.
  5. Wykonaj polecenie diff witryny ręcznie lub w sposób automatyczny, między nienaruszoną kopią zapasową a aktualną zainfekowaną kopią.
diff -qr www/ backups/full-backup-20120124/
  1. Na uaktualniony serwer prześlij wszystkie nowe, nienaruszone treści z zainfekowanej kopii, które chcesz zachować.
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
  1. Sprawdź, czy każdy adres URL wymieniony w etapie Oceń szkody został poprawiony.
  2. Ponownie zmień hasła do wszystkich kont związanych z witryną (dotyczy to m.in. loginów do serwera FTP, bazy danych, kont administratorów systemu oraz kont w systemie CMS). W systemie typu Unix użyj polecenia:
$passwd admin1

Brak dostępnej kopii zapasowej

Zrób dwie kopie zapasowe witryny, nawet jeśli wciąż jest ona zainfekowana. Dodatkowa kopia zapasowa pomoże odzyskać przypadkowo usunięte treści. Jeśli coś pójdzie nie tak, możesz przywrócić dane i spróbować jeszcze raz. Każdą kopię oznacz etykietą „zainfekowana”, by nie pomylić ich z innymi.

Pierwsza kopia zapasowa to obraz dysku – „sklonowana wersja” witryny. Taki format ułatwia przywracanie treści. Obrazu dysku można użyć w sytuacji awaryjnej. W systemie typu Unix utwórz obraz dysku za pomocą tego kodu:

dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz

Druga kopia zapasowa to kopia systemu plików na serwerze, w tym plików graficznych i multimedialnych. Jeśli korzystasz z bazy danych, utwórz także jej kopię.

tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql

Jeśli nie masz obrazu dysku, utwórz dwie kopie zapasowe bazy danych oraz dwie kopie systemu plików.

Aby wyczyścić zawartość witryny w nowej kopii systemu plików kopii zapasowej (a nie na samym serwerze), wykonaj te czynności:

  1. Jeśli podczas wcześniejszej kontroli okazało się, że uprawnienia do plików są zbyt szerokie, popraw je. Upewnij się, że robisz to w kopii zapasowej, a nie na samym serwerze.
  2. Także w kopii zapasowej oczyść wszystkie pliki powiązane z przejętymi adresami URL wykrytymi w trakcie etapu Oceń szkody. Mogą to być pliki konfiguracyjne serwera oraz pliki JavaScript, HTML lub PHP.
  3. Pamiętaj też o usunięciu (pojawieniu się odpowiedzi 404) nowych plików utworzonych przez hakera, które mogły zostać przesłane przy użyciu narzędzia do usuwania adresów URL w Search Console.
  4. Usuń lukę w zabezpieczeniach – w razie potrzeby popraw kod lub zmień złamane hasła. Mogą w tym pomóc biblioteki do weryfikacji wprowadzanych danych i audyty bezpieczeństwa.
  5. Jeśli witryna korzysta z bazy danych, zacznij czyścić zmienione przez hakera rekordy w kopii zapasowej. Gdy uznasz, że wszystko jest gotowe, sprawdź więcej rekordów, aby upewnić się, że baza danych wygląda na czysta.
  6. Ponownie zmień hasła do wszystkich kont związanych z witryną (np. loginów do serwera FTP, bazy danych, kont administratorów systemu oraz kont CMS). W systemie typu Unix użyj tego kodu:
$passwd admin1

W tym momencie kopia zapasowa, która wcześniej była zainfekowana, powinna zawierać tylko nienaruszone dane. Zachowaj ją na później i przejdź do punktu 5.

5. Usuń niepotrzebne oprogramowanie

Zastanów się, czy możesz usunąć z serwera oprogramowanie, np. widżety, wtyczki i aplikacje, którego witryna już nie używa. Może to zwiększyć bezpieczeństwo i uprościć zarządzanie w przyszłości.

6. Oczyść wszystkie serwery

  1. Zainstaluj wszystko od nowa zamiast uaktualniać. Uaktualnienia mogą pozostawić pliki z poprzedniej wersji. Jeśli na serwerze pozostanie zainfekowany plik, zwiększy się prawdopodobieństwo, że witryna zostanie ponownie zaatakowana.
    • Nowa instalacja powinna obejmować system operacyjny (jeśli masz kontrolę nad serwerem) oraz wszystkie aplikacje, takie jak system zarządzania treścią, platforma e-commerce, wtyczki i szablony. Sprawdź, czy są dostępne aktualizacje i poprawki zabezpieczeń.
  2. Przenieś odpowiednie treści z czystej kopii systemu plików kopii zapasowej na nowo zainstalowane serwery. Przesyłaj i przywracaj tylko znane i czyste pliki lub bazę danych. Pamiętaj, by ustawić odpowiednie uprawnienia do plików i nie zastępować nowo zainstalowanych plików systemowych.
  3. Ostatni raz zmień hasła do wszystkich kont związanych z witryną (dotyczy to m.in. loginów do serwera FTP, bazy danych, kont administratorów systemu oraz kont w systemie CMS). W systemie typu Unix użyj tego kodu:
passwd admin1

7. Utwórz długoterminowy plan zarządzania

Zdecydowanie zalecamy wykonanie tych czynności:

  • Rób regularne, automatyczne kopie zapasowe witryny.
  • Pamiętaj o aktualizowaniu oprogramowania.
  • Zanim zainstalujesz wszystkie aplikacje, wtyczki i oprogramowanie firmy zewnętrznej na swoim serwerze, zapoznaj się z ich zabezpieczeniami. Luka w zabezpieczeniach jednej aplikacji może negatywnie wpłynąć na bezpieczeństwo całej witryny.
  • Wymagaj tworzenia silnych haseł.
  • Dbaj o bezpieczeństwo urządzeń używanych do logowania się na komputerze (zaktualizuj system operacyjny i przeglądarkę).

8. Dokładnie sprawdź, czy wszystkie elementy zostały oczyszczone

Sprawdź, czy możesz odpowiedzieć „tak” na te pytania:

  • Czy jeśli haker uzyskał dane osobowe użytkowników, mogę podjąć odpowiednie kroki?
  • Czy oprogramowanie witryny zostało zaktualizowane do najnowszej i najbezpieczniejszej wersji?
  • Czy niepotrzebne lub nieużywane aplikacje i wtyczki, które mogłyby narazić witrynę na ataki w przyszłości, zostały usunięte?
  • Czy moje treści zostały przywrócone, a zmiany wprowadzone przez hakera – cofnięte?
  • Czy główna luka w zabezpieczeniach, która pozwoliła hakerom zaatakować witrynę, została usunięta?
  • Czy masz plan zabezpieczenia witryny na przyszłość?

Możesz teraz przywrócić witrynę do trybu online.