Krótko: Jeśli w Państwa agencji dotkniętych jest kilka stron klientów, rzadko jest to przypadek, lecz zwykle wspólny serwer, współdzielony dostęp lub ta sama wersja PHP. Jeśli są Państwo dotknięci, proszę zgłosić się od razu. Dajemy Państwu przegląd, zdalnie powstrzymujemy incydent, czyścimy systemy i dostarczamy raporty dla Państwa klientów.
Teraz niczego nie usuwać i niczego nie instalować od nowa. Także gdy presja klientów jest duża: bez zabezpieczonych logów i plików nie da się ani wyjaśnić przyczyny, ani udowodnić, co nie zostało dotknięte. Zgłoś awarię, a przejmiemy sprawę od pierwszej wiadomości.
Czy są Państwo dotknięci? Oznaki, gdy strony klientów zostały zhakowane
Jako agencja widzą Państwo wzorce, których pojedynczy operatorzy nigdy nie zauważają. Na wspólny incydent wskazują:
- Kilka stron klientów pokazuje w tym samym czasie te same objawy: przekierowania, treści spamowe, ostrzeżenia w przeglądarce.
- To samo nieznane konto administratora lub ten sam podejrzany plik pojawia się u różnych klientów.
- Hostingodawca zgłasza nadużycie lub nietypowe obciążenie konta, na którym leży wiele projektów.
- Klienci dzwonią, ponieważ ich strona jest ostrzegana przez Google, a przy kontroli znajdują Państwo kolejne strony w tym samym stanie.
- Programista lub były pracownik miał dostęp do wielu projektów i jeden z dostępów wypłynął.
- Prace serwisowe przez centralne narzędzie, na przykład wdrażanie, kopie zapasowe lub usługę aktualizacji, zmieniły stronę, której Państwo nie dotykali.
- Prowadzą Państwo wiele stron na wersjach PHP, których stanu poprawek nie potrafią Państwo udokumentować dla każdej z nich osobno.
Od czasu PHP2Shell dochodzi to, że luka leży w samym interpreterze PHP. Aktualizacja CMS, na przykład WordPressa, jej nie zamyka; decydujące jest środowisko uruchomieniowe PHP, które faktycznie obsługuje stronę.
Co należy zrobić teraz
- Wypisać dotknięte strony: domena, serwer, konto hostingowe, wersja PHP, CMS, osoby odpowiedzialne. Przypadki podejrzane także się tu zaliczają.
- Szukać wspólnych cech: Ten sam serwer? Te same dostępy? Ta sama wtyczka? Ta sama droga wdrażania?
- Odizolować zagrożone strony: Strony aktywnie udostępniające złośliwy kod przełączyć w tryb konserwacji. Nie usuwać.
- Zlecić zabezpieczenie logów i stanu: Poprosić hostingodawcę o zachowanie dzienników; zabezpieczyć własne protokoły wdrożeń.
- Sprawdzić centralne dostępy: Kto ma dostęp do panelu hostingu, SSH, Git, menedżera haseł i wdrażania? Zmiany dopiero po uzgodnieniu.
- Informować klientów powściągliwie: Najpierw tylko to, co udowodnione. Nie podawać przyczyny, zanim zostanie ustalona.
- Skontaktować się z nami: Proszę zadzwonić lub napisać na WhatsApp.
Jak PHP SOS pomaga w praktyce?
- Ocena sytuacji: Zdobywamy z Państwem przegląd wszystkich stron i serwerów i porządkujemy je według pilności: aktywnie udostępniany złośliwy kod, podejrzenie wypływu danych, prawdopodobnie tylko brak aktualizacji.
- Zabezpieczenie i zamknięcie: Zabezpieczamy każdy dotknięty system, zanim cokolwiek zostanie zmienione, i zamykamy wspólne drzwi włamania: dostępy, stan PHP, restart wszystkich procesów.
- Sprawdzenie i oczyszczenie: Systematycznie szukamy we wszystkich stronach tych samych śladów, usuwamy webshelle i tylne drzwi i przywracamy czysty stan. Szczegóły w artykule Usuwanie malware i webshelli.
- Wzmocnienie i raport: Tam, gdzie to sensowne, oddzielamy strony od siebie i dostarczamy dla każdego klienta krótki raport, który mogą Państwo przekazać dalej, oraz raport zbiorczy dla Państwa.
Pracujemy zdalnie, bez dojazdu, w całych Niemczech i w Europie. Na życzenie w tle dla Państwa agencji, jak opisano na stronie Agencje i white label.
Dlaczego w agencjach często upada naraz wiele stron
Kto prowadzi wiele projektów na jednym serwerze, oszczędza koszty, ale wymienia izolację na wygodę. Jeśli wszystko działa pod tym samym użytkownikiem i w tej samej puli procesów PHP, kod zhakowanej strony może odczytywać i zmieniać pliki sąsiadów. To nie przypadek egzotyczny, lecz standard w wielu konfiguracjach. Jak czysto rozdzielić pule, opisuje artykuł Izolowanie pul PHP-FPM.
Dochodzą współdzielone dostępy: jeden klucz SSH dla wszystkich projektów, jedno konto hostingowe ze wszystkimi domenami, te same hasła do środowiska staging i produkcyjnego. Obowiązuje tu zasada najmniejszych uprawnień. Więcej w artykule Uprawnienia użytkownika serwera WWW.
Liczy się także łańcuch dostaw: wtyczki, motywy i biblioteki pochodzą od osób trzecich, hostingodawca odpowiada za platformę, agencja za działanie. Gdzie przebiegają te granice i gdzie powstają luki, omawia artykuł Łańcuch dostaw agencji i hostingodawcy.
Inwentarz, wersje PHP i komunikacja z klientami
Najczęstszym problemem w takich sytuacjach jest brak przeglądu: Która strona działa na którym serwerze z jaką wersją PHP i kto jest odpowiedzialny? Bez tej listy nie da się powiedzieć, kogo dotyczy poprawka, a kogo nie. Jak zbudować taki rejestr, pokazuje artykuł Inwentarz stron i serwerów. Jeśli równolegle działa kilka wersji PHP, pomaga dodatkowo artykuł Kilka wersji PHP na jednym serwerze.
Wobec klientów liczy się jasność. Nie muszą Państwo wiedzieć wszystkiego, ale niczego nie upiększać: Co jest udowodnione, co jeszcze jest sprawdzane, co zrobią Państwo w następnej kolejności? Pomoc w sformułowaniach znajdą Państwo w artykule Informowanie klientów po incydencie. Jeśli dotknięte są dane osobowe, rolę mogą odgrywać obowiązki zgłoszeniowe według art. 33 RODO. To informacja ogólna; ocena należy do inspektora ochrony danych i prawnika. Jeśli incydent wykracza poza pojedyncze strony, przechodzimy do uporządkowanej reakcji na incydenty (Incident Response).
Co warto nam przesłać
- listę stron dotkniętych i prawdopodobnie dotkniętych
- dane o serwerze i hostingu dla każdego projektu, o ile znane
- wersje PHP oraz używane CMS lub sklepy
- dostępy, które mogą nam Państwo udzielić, oraz role w zespole
- informacje, co ostatnio zmieniono lub wdrożono
- imię i nazwisko osoby kontaktowej do decyzji oraz do komunikacji z klientami
Dlaczego PHP SOS
Pracujemy w standardzie Made in Germany i od ponad 25 lat specjalizujemy się w bezpieczeństwie IT wraz z naszą siecią partnerów złożoną z ekspertów od cyberbezpieczeństwa. Mają Państwo jedną osobę kontaktową dla wszystkich dotkniętych projektów, pracujemy zdalnie i dokumentujemy dla każdego systemu, co znaleziono i zrobiono. Nie obiecujemy cudów. To, czego nie da się udowodnić, nazywamy nieznanym, aby nie mówili Państwo klientom więcej, niż wiedzą.
Czy są Państwo dotknięci? Proszę zadzwonić. Pomożemy.
Jeśli kilka stron Państwa klientów jest podejrzanych, presja czasu jest podwójna: technicznie i w relacji z klientami. Proszę zgłosić się teraz: proszę zadzwonić lub napisać na WhatsApp. Przejmujemy sprawę od pierwszej wiadomości i zostajemy przy niej, aż incydent zostanie zakończony i udokumentowany. Zgłoś awarię teraz
Częste pytania
Dlaczego często dotknięte jest od razu kilka stron klientów?
Strony często dzielą serwer, konto hostingowe, ten sam proces PHP lub te same dane dostępowe. Jeśli atakujący dostanie się w jednym miejscu, może przemieszczać się na boki. Podatne PHP dotyczy poza tym wszystkich stron, które z niego korzystają.
Czy mam od razu poinformować klientów?
Zależy to od sytuacji i umowy. Proszę najpierw wyjaśnić, które strony są rzeczywiście dotknięte, aby nie informować na podstawie przypuszczeń. Przy danych osobowych możliwe są obowiązki zgłoszeniowe; ocena należy do inspektora ochrony danych lub prawnika.
Kto odpowiada, jeśli strona klienta została zhakowana?
Zależy to od Państwa umów, zakresu opieki i przebiegu zdarzeń. Nie udzielamy w tej sprawie porad prawnych. Rzetelny raport o przyczynie i środkach pomaga w tym wyjaśnieniu.
Czy mogą Państwo pracować pod naszą nazwą, tak aby klient końcowy Państwa nie widział?
Na życzenie pracujemy w tle dla Państwa agencji i dostarczamy raporty, które mogą Państwo przekazać swoim klientom. Szczegóły omawiamy z góry.
Czy wystarczy oczyścić strony klientów pojedynczo?
Zwykle nie. Jeśli przyczyna leży we wspólnym serwerze, współdzielonym dostępie lub niezaktualizowanej wersji PHP, problemy po pojedynczym oczyszczeniu wracają. Trzeba usunąć także przyczynę.