Missed the action at the 2018 Chrome Dev Summit? Catch up with our playlist on the Google Chrome Developers channel on YouTube. Watch now.

Znajdź lukę w zabezpieczeniach

Hakerzy mogli wprowadzić wiele niezależnych zmian w zabezpieczeniach, dlatego nawet jeśli znajdziesz i usuniesz jedną lukę, zalecamy szukanie następnych. Najpierw poczytaj o najczęściej spotykanych atakach spamerskich.

Czego potrzebujesz:

  • dostępu administratora do powłoki lub terminala serwerów witryny: internetowego, bazy danych i plików;
  • znajomości poleceń powłoki lub terminala;
  • umiejętności czytania kodu (np. PHP lub JavaScript);
  • możliwości uruchomienia dwóch skanerów antywirusowych.

Kolejne działania:

Omówimy kilka typowych sposobów przejęcia witryny. Być może wykorzystywane w nich luki w zabezpieczeniach występują w Twojej witrynie lub naprowadzą Cię na właściwy trop.

Pamiętaj, że skanery luk w zabezpieczeniach różnią się od skanerów antywirusowych. Te pierwsze są znacznie bardziej inwazyjne i łatwiej mogą spowodować nieoczekiwane szkody w witrynie. Przed uruchomieniem skanera postępuj zgodnie ze wszystkimi wskazówkami, również tymi, które mówią o utworzeniu kopii zapasowej witryny.

Możliwe luki w zabezpieczeniach, które trzeba zbadać:

1. Komputer administratora zainfekowany wirusem

Na zainfekowanym przez wirusa komputerze administratora haker mógł zainstalować program szpiegowski, by rejestrować klawisze, które naciska administrator witryny.

  • Poszukaj wirusów na komputerach administratora. Zalecamy użycie kilku uznanych skanerów antywirusowych na każdym komputerze, z którego administrator loguje się do witryny. Stale powstają nowe wersje złośliwego oprogramowania, które mają jak najlepiej ukrywać się przed skanerami, dlatego skanowanie nie daje stuprocentowej pewności, że komputer nie jest zainfekowany. Oprócz tego skanery antywirusowe mogą zgłaszać fałszywe alarmy, dlatego warto wykorzystać kilka z nich, by uzyskać więcej danych, które potwierdzą lub wykluczą istnienie luki w zabezpieczeniach. Na wszelki wypadek przeskanuj też serwer internetowy i wszystkie urządzenia używane do aktualizowania witryny lub publikowania w niej treści.
    • Jeśli skaner antywirusowy wykryje program szpiegowski, wirusa, konia trojańskiego lub inne podejrzane oprogramowanie, przejrzyj dzienniki serwera witryny w poszukiwaniu informacji o aktywności administratora, do którego należy zainfekowany komputer.
    • Haker mógł zmienić pliki dzienników. Jeśli tego nie zrobił, zestawienie nazwy administratora z podejrzanymi poleceniami w pliku dziennika to dodatkowy dowód, że wirus na komputerze administratora pozwolił zaatakować witrynę.

2. Słabe lub wielokrotnie używane hasła

Hakerzy zwykle bez trudu łamią słabe hasła, uzyskując w ten sposób bezpośredni dostęp do serwera. Silne hasła są kombinacją liter, cyfr i znaków interpunkcyjnych oraz nie zawierają słów ze słownika ani mowy potocznej. Określone hasło należy stosować tylko w jednej aplikacji zamiast wielokrotnie wykorzystywać je w internecie. Jeśli tego samego hasła używasz w wielu miejscach, haker musi pokonać zabezpieczenia zaledwie jednej aplikacji, by poznać Twój login i hasło. Wówczas od razu uzyska też dostęp do Twoich innych kont.

  • W dzienniku serwera poszukaj niepożądanej aktywności, np. wielokrotnych prób zalogowania się jako administrator czy nietypowych poleceń uruchamianych przez administratora. Zanotuj datę i godzinę podejrzanej aktywności – jeśli ustalisz, kiedy haker rozpoczął atak, będziesz wiedzieć, które kopie zapasowe witryny są nienaruszone.

3. Nieaktualne oprogramowanie

Sprawdź, czy na serwerach działają najnowsze wersje systemu operacyjnego, systemu zarządzania treścią, platformy blogowej, aplikacji, wtyczek itp.

  • Poszukaj informacji (możesz to zrobić w wyszukiwarce Google) o tym, czy w zainstalowanych wersjach oprogramowania występują jakieś problemy z bezpieczeństwem. Jeśli tak, haker prawdopodobnie wykorzystał lukę w nieaktualnym oprogramowaniu.
  • Niezależnie od tego, czy nieaktualne oprogramowanie serwerów przyczyniło się do ataku, zawsze najlepiej na bieżąco je aktualizować.

4. Słabo zabezpieczone rozwiązania programistyczne, np. otwarte przekierowania i wstrzykiwanie SQL

  • Otwarte przekierowania
  • Otwarte przekierowania w strukturze adresów URL pozwalają dodać kolejny adres, dzięki czemu użytkownicy mogą dotrzeć do przydatnego pliku lub strony internetowej w witrynie. Na przykład:

    http://example.com/page.php?url=http://example.com/good-file.pdf
    Hakerzy mogą nadużywać tej funkcji, dodając strony ze spamem lub złośliwym oprogramowaniem do otwartego przekierowania w witrynie, podobnie jak tutaj:
    http://example.com/page.php?url=<malware-attack-site>

    • Jeśli ktoś nadużywa otwartych przekierowań w witrynie, w Search Console powinna pojawić się wiadomość z przykładowymi adresami URL, które zawierają otwarte przekierowanie do niepożądanej strony docelowej.
    • Aby zapobiec takim sytuacjom w przyszłości, sprawdź, czy opcja „zezwalaj na otwarte przekierowania” jest domyślnie włączona w oprogramowaniu, czy stosowany kod może blokować przekierowania poza domenę oraz czy możesz dodać podpis do przekierowania, tak by wykonywać tylko te z poprawnym skrótem adresu URL i podpisem kryptograficznym.
  • Wstrzykiwanie SQL
  • Wstrzykiwanie SQL polega na tym, że haker dodaje szkodliwe polecenia do pól, w których użytkownicy wpisują dane przetwarzane w bazie danych. W ten sposób może on umieścić spam czy złośliwe oprogramowanie w rekordach bazy danych lub pobrać z niej cenne dane. Jeśli witryna korzysta z bazy danych, możliwe, że została przejęta dzięki wstrzykiwaniu SQL – zwłaszcza wtedy, gdy zainfekowano ją złośliwym oprogramowaniem typu wstrzyknięty SQL.

    • Zaloguj się na serwer bazy danych i poszukaj w niej podejrzanych treści, np. elementów iframe i skryptów w zwykłych polach tekstowych.
    • Po wykryciu podejrzanych wartości upewnij się, że dane wpisywane przez użytkowników są weryfikowane i mają prawidłowo zmieniane znaczenie lub obowiązuje w nich typowanie silne, tak by nie mogły być wykonywane jako kod. Jeśli nie są one sprawdzane przed przetworzeniem w bazie danych, główną luką w zabezpieczeniach witryny może być wstrzykiwanie SQL.

Kolejny etap

Kolejny etap procesu – Oczyść i zabezpiecz witrynę.