Blog: PHP2Shell, bezpieczeństwo serwerów i pomoc awaryjna
Ocena sytuacji, instrukcje dla administratorów i pomoc w podejmowaniu decyzji dla zarządu. Uporządkowane tematycznie, każdy artykuł ze źródłami.
Sytuacja i ocena
artykułów: 17
PHP2Shell: co jest udowodnione, a co nie
Sprawdzenie faktów dotyczących PHP2Shell: które twierdzenia pochodzą ze źródeł pierwotnych, które z doniesień medialnych i których twierdzeń nie da się obronić.
Czytaj dalej →002Dlaczego luka w PHP stała się znana przed poprawką
Według doniesień szczegóły PHP2Shell stały się publiczne przed upływem embarga. Wyjaśniamy przebieg i co oznacza on dla Państwa planowania łatania.
Czytaj dalej →003Urzędy wyłączają strony internetowe: czego uczy to firmy
Moguncja, rząd krajowy Hesji i BKA prewencyjnie odłączyły strony od sieci. Czego firmy mogą się stąd nauczyć na potrzeby własnej decyzji.
Czytaj dalej →004Poziom pomarańczowy BSI: co oznacza ta klasyfikacja
BSI klasyfikuje PHP2Shell jako 3 / pomarańczowy. Co mówi ta skala, czego nie mówi i jak firmy zamieniają klasyfikację w decyzje.
Czytaj dalej →005Co CERT-EU i CERT-Bund radzą w sprawie PHP2Shell
Oficjalne instytucje są zgodne: załatać od razu, w przeciwnym razie odizolować. Porównujemy zalecenia i pokazujemy, jak wygląda izolowanie w praktyce.
Czytaj dalej →006Reguły ochronne Cloudflare przeciw PHP2Shell: co dają, a czego nie
Cloudflare wcześnie wdrożył reguły ochronne przeciw PHP2Shell. Dlaczego to pomaga, dlaczego nie zastępuje aktualizacji PHP i jakie ustawienia warto sprawdzić.
Czytaj dalej →00722,6 miliona wystawionych instancji: jak właściwie ocenić liczby
Unit 42, CybelAngel i inni podają bardzo różne liczby dotyczące PHP2Shell. Wyjaśniamy, co policzono i która liczba naprawdę ma dla Państwa znaczenie.
Czytaj dalej →008PHP2Shell w pięć minut: briefing dla zarządu
Luka bezpieczeństwa PHP2Shell na jednej stronie dla decydentów: sytuacja, ryzyko, pięć pytań do IT i decyzje na dziś.
Czytaj dalej →009Luka bezpieczeństwa PHP wyjaśniona prosto
PHP2Shell dla nietechników: z obrazami z codziennego życia, małym słowniczkiem i trzema typowymi sytuacjami wyjściowymi, co powinni zrobić operatorzy stron.
Czytaj dalej →010PHP2Shell: 15 pytań klientów hostingu
Państwa strona znajduje się u dostawcy hostingu i chcą Państwo wiedzieć, co przy PHP2Shell trzeba zrobić samemu? Oto 15 najczęstszych pytań z krótkimi odpowiedziami.
Czytaj dalej →011Dlaczego aktualizacja WordPressa nie pomaga przy PHP2Shell
Wielu operatorów po nagłówkach zaktualizowało WordPressa i czuje się bezpiecznie. Dlaczego przy PHP2Shell to nie wystarcza i co się naprawdę liczy.
Czytaj dalej →012PHP2Shell i Log4Shell: co mają wspólnego te luki
Wielu porównuje PHP2Shell z Log4Shell z 2021 roku. Co wnosi to porównanie, gdzie kuleje i jakie lekcje z tamtego czasu pomagają dziś.
Czytaj dalej →013Masowe skanowanie w poszukiwaniu niezałatanego PHP: jak działają automatyczne ataki
Po PHP2Shell atakujący automatycznie przeszukują internet w poszukiwaniu podatnych serwerów. Jak to przebiega, dlaczego wielkość nie ma znaczenia i co chroni.
Czytaj dalej →014Okno czasowe między poprawką a atakiem
Przy PHP2Shell próby ataków pojawiły się jeszcze przed poprawką. Wyjaśniamy fazy okna czasowego, jak zmierzyć własne i jak je skrócić.
Czytaj dalej →015Po PHP2Shell: dlaczego kolejne komunikaty są prawdopodobne
PHP2Shell nie kończy się wraz z poprawką z 21 października. Dlaczego należy spodziewać się kolejnych komunikatów i jak przygotować na to swój zespół.
Czytaj dalej →016PHP2Shell: obraz sytuacji po pierwszym tygodniu
Tydzień po pierwszej zaobserwowanej próbie ataku: stan poprawek, ostrzeżeń urzędów, ataków i wyłączeń, czysto rozdzielony według źródeł.
Czytaj dalej →017Niebezpieczne fałszywe porady o PHP2Shell, które teraz krążą
Blokowanie cookies, ukrywanie komunikatów o błędach, aktualizowanie tylko CMS: dziewięć rad o PHP2Shell, które dają fałszywe poczucie bezpieczeństwa, i co naprawdę się liczy.
Czytaj dalej →Hosting i dystrybucje
artykułów: 18
Zmiana wersji PHP w panelu klienta hostingu
Jak przestawić wersję PHP w panelu klienta dostawcy hostingu, którą wersję wybrać i co sprawdzić przed zmianą i po niej.
Czytaj dalej →019Debian i Ubuntu: czy mój pakiet PHP jest załatany?
Które pakiety PHP Debian i Ubuntu poprawiły przeciw PHP2Shell, jak dokładnie porównać zainstalowany stan i na czym zawodzi dowód.
Czytaj dalej →020RHEL, AlmaLinux i Rocky Linux: sprawdzanie poprawki PHP
Co Red Hat opublikował o PHP2Shell, jak na RHEL i jego klonach udokumentować stan pakietów i dlaczego przeładowanie nie wystarcza.
Czytaj dalej →021Repozytorium sury.org: pakiety PHP z zewnętrznego źródła
Wiele serwerów Debiana i Ubuntu pobiera PHP z repozytorium sury. Co to oznacza dla aktualizacji, dowodów i starych wersji PHP po PHP2Shell.
Czytaj dalej →022Repozytorium Remi: utrzymanie aktualnego PHP na systemach RHEL
Remi dostarcza aktualne wersje PHP dla rodziny RHEL, jako moduł lub instalowane równolegle. Jak sprawdzić stan po PHP2Shell i unikać zapomnianych gałęzi.
Czytaj dalej →023Dlaczego php -v pokazuje po aktualizacji ten sam numer
Aktualizacja przeszła, a php -v zgłasza starą wersję. Zwykle to backport, a nie błąd. Jak odróżnić nieszkodliwe przypadki od prawdziwych problemów.
Czytaj dalej →024Dowód CVE w changelogu pakietu
Kto musi wykazać poprawkę PHP przed zarządem, audytorami lub ubezpieczycielami, potrzebuje więcej niż numeru wersji. Oto jak wpis w changelogu staje się dowodem.
Czytaj dalej →025Zmiana dostawcy hostingu po incydencie bezpieczeństwa: na co zwrócić uwagę?
Po incydencie chęć zmiany dostawcy hostingu jest zrozumiała. Aby przeprowadzka nie zabrała ze sobą atakującego, liczą się kolejność działań i wybór nowego dostawcy.
Czytaj dalej →026Wiele wersji PHP na jednym serwerze: każdą łatać osobno
Na wielu serwerach równolegle działają trzy, cztery lub więcej instalacji PHP. Po PHP2Shell każdą trzeba znaleźć, zaktualizować i zrestartować.
Czytaj dalej →027Wyłączanie starych wersji PHP w panelu hostingowym
PHP2Shell to dobry powód, by pozbyć się starych wersji PHP. Oto postępowanie w trzech fazach, aby żadna strona ani zadanie cron nie przestały działać niezauważenie.
Czytaj dalej →028Plesk: zrozumieć handlery PHP (FPM, FastCGI, moduł Apache)
To, jakiego handlera PHP Plesk używa dla strony, decyduje o izolacji, konfiguracji i ryzyku. Porównanie z uwzględnieniem PHP2Shell.
Czytaj dalej →029CloudLinux i alt-php: co powinni wiedzieć klienci hostingu
Na serwerach z CloudLinux strony często działają na własnych pakietach alt-php. Każda z tych wersji potrzebuje własnej poprawki, a zainstalować ją może tylko operator serwera.
Czytaj dalej →030PHP na NAS, firewallach i urządzeniach: zapomniane systemy
PHP nie używają tylko serwery WWW. Dotknięte mogą być także systemy NAS, firewalle i urządzenia specjalistyczne z interfejsem webowym. Łatać je zwykle może tylko producent, o dostępności decydują Państwo sami.
Czytaj dalej →031PHP u dostawców chmury i PaaS: kto łata środowisko uruchomieniowe?
W usługach platformowych poprawka PHP zależy od modelu działania. Rozstrzygające jest środowisko uruchomieniowe, które faktycznie obsługuje żądania, a nie środowisko lokalne czy kod aplikacji.
Czytaj dalej →032Oficjalne obrazy PHP Docker: tagi, digesty i przebudowa
Tag oficjalnego obrazu PHP to wskaźnik, który z czasem przesuwa się na nowe stany. Kto rozumie tag, wariant i digest, wybiera właściwy obraz i może udowodnić stan poprawek.
Czytaj dalej →033CI/CD: automatyczna przebudowa obrazów PHP
Obraz starzeje się nawet bez zmian w kodzie. Dzięki buildom według harmonogramu, kontroli wersji i wdrożeniu po digeście poprawki PHP niezawodnie trafiają na produkcję.
Czytaj dalej →034Wsparcie długoterminowe dla starych wersji PHP: opcje i granice
Kto nie może od razu odejść od PHP 8.1 lub starszego, znajdzie wsparcie długoterminowe u dystrybucji, dostawców zewnętrznych i usług komercyjnych. Co dają te drogi, co jest potrzebne na piśmie i gdzie leżą granice.
Czytaj dalej →035Aktualizacja PHP w systemie Windows
W Windows nie ma automatycznej aktualizacji PHP. Kto wybierze właściwy wariant, sprawdzi pobrany plik i zrestartuje wszystkie procesy, czysto wprowadzi poprawkę PHP2Shell na każdym komputerze.
Czytaj dalej →Wykrywanie i informatyka śledcza
artykułów: 18
Sygnał ostrzegawczy: serwer WWW uruchamia powłokę
Jeśli proces PHP-FPM lub serwera WWW uruchamia powłokę, to jeden z najsilniejszych sygnałów ostrzegawczych włamania. Oto jak sprawdzić drzewo procesów, ocenić wyjątki i stale monitorować wzorzec.
Czytaj dalej →037Znajdowanie podejrzanych procesów na serwerach Linux
Szkodliwe procesy maskują się nieszkodliwymi nazwami, działają z katalogów tymczasowych lub z usuniętych plików. Kilkoma poleceniami tylko do odczytu znajdą Państwo nieprawidłowości i je ocenią.
Czytaj dalej →038Rozpoznawanie ukrytych zadań cron jako tylnej furtki
Atakujący używają zaplanowanych zadań, aby wrócić po oczyszczeniu. Oto jak w pełni sprawdzić crontaby, katalogi cron, timery systemd i zlecenia at oraz rozpoznać podejrzane wpisy.
Czytaj dalej →039Znajdowanie niedawno zmienionych plików na serwerze WWW
Po możliwym włamaniu liczy się to, co zmieniło się na serwerze. Oto jak szukać według okien czasowych, prawidłowo używać mtime i ctime oraz porównywać z pakietami, Git i kopiami zapasowymi.
Czytaj dalej →040Pliki PHP w katalogu uploadu: jak prawidłowo ocenić znaleziska
Plik PHP w katalogu uploadu to prawie zawsze sygnał alarmowy, ale nie każdy jest złośliwym kodem. Oto jak ocenić znalezisko bez niszczenia śladów i wyjaśnić, czy ktoś go wywołał.
Czytaj dalej →041Rozpoznawanie zaciemnionego kodu PHP
Nieczytelny kod PHP z eval i base64_decode to klasyczny znak wprowadzonego złośliwego kodu. Jakich wzorców szukać, jak je bezpiecznie znaleźć i kiedy zaciemnianie jest uzasadnione.
Czytaj dalej →042Sprawdzanie połączeń wychodzących serwera
Serwer WWW odpowiada przede wszystkim na żądania. Jeśli sam nawiązuje połączenia z nieznanymi celami, może to oznaczać sterowanie przez atakujących lub wyciek danych. Oto jak sprawdzić i ograniczyć ruch wychodzący.
Czytaj dalej →043Znajdowanie obcych kont administratora w CMS i na serwerze
Nieznany administrator to często najprostsza tylna furtka. Oto jak szukać obcych kont poziom po poziomie, także tych, które interfejs ukrywa.
Czytaj dalej →044Znajdowanie i usuwanie nieznanych kluczy SSH
Wprowadzony klucz SSH otwiera atakującym drzwi, nawet gdy wszystkie hasła zostały zmienione. Oto jak znaleźć każdy plik authorized_keys i sprawdzić każdy wpis.
Czytaj dalej →045Koparka kryptowalut na serwerze WWW: oznaki i działania
Stale pełne obciążenie CPU, choć nie przybywa odwiedzających: to może być koparka kryptowalut. Oto jak sprawdzić obciążenie, znaleźć proces i jego mechanizmy restartu oraz postępować w sposób uporządkowany.
Czytaj dalej →046Serwer rozsyła spam: znajdowanie przyczyn
Niedostarczalne maile, listy blokujące, skargi: gdy własny serwer wysyła spam, zwykle stoi za tym skrypt lub przejęta skrzynka. Oto jak znaleźć źródło.
Czytaj dalej →047SEO spam i obce strony w indeksie Google
Nagle pod Państwa domeną pozycjonują się strony o lekach lub podróbkach markowych towarów. Jak ustalić, skąd pochodzi SEO spam, i usunąć go z indeksu.
Czytaj dalej →048Strona przekierowuje na obce witryny
Odwiedzający trafiają na konkursy lub podejrzane sklepy, a Państwo sami nic nie widzą? Jak znaleźć warstwę, w której ukryte jest przekierowanie, i je usunąć.
Czytaj dalej →049Zabezpieczyć dowody, zanim zainstalują Państwo serwer od nowa
Przebudowa usuwa atakującego, ale też wszystkie ślady. Kto przed nią poświęci godzinę na zabezpieczenie dowodów, będzie mógł później powiedzieć, co się stało.
Czytaj dalej →050Przygotowanie osi czasu incydentu
Kiedy pojawił się atakujący, co robił, kiedy to zauważono? Rzetelna oś czasu odpowiada na te pytania i jest podstawą zgłoszeń, ubezpieczenia i raportu.
Czytaj dalej →051Porównywanie plików rdzenia CMS z oryginałem
Porównanie z czystym oryginałem pokazuje każdy zmieniony plik, niezależnie od tego, czy skaner go zna. Jak zbudować takie porównanie dla WordPress, projektów Composera i pakietów systemowych.
Czytaj dalej →052Sprawdzanie bazy danych pod kątem wstrzykniętego kodu
Kto sprawdza tylko pliki, pomija połowę. Jak przeszukać treści, ustawienia, wyzwalacze i konta bazy danych pod kątem wstrzykniętego kodu, w trybie do odczytu i na kopii.
Czytaj dalej →053Skanery malware dla stron WWW: co znajdują, a czego nie
Skaner nic nie zgłasza, więc wszystko w porządku? Niekoniecznie. Jakie są rodzaje skanerów stron, co widzi każdy z nich i czego zasadniczo zobaczyć nie może.
Czytaj dalej →Utwardzanie i konfiguracja
artykułów: 20
Izolowanie pul PHP-FPM dla każdej strony
Osobna pula dla każdej strony to początek, a nie koniec. Jak sprawdzić istniejące pule i utwardzić gniazda, rozszerzenia, strony statusu, zasoby i logi.
Czytaj dalej →055Prawidłowe ustawienie memory_limit
memory_limit ogranicza pamięć na jedno żądanie PHP. Po PHP2Shell php.net zaleca tymczasowo coś odwrotnego. Co obowiązuje w normalnej pracy, w okresie przejściowym i po aktualizacji.
Czytaj dalej →056Rozsądne ograniczanie post_max_size i upload_max_filesize
Limity uploadu działają w trzech miejscach: w serwerze WWW, w PHP i w aplikacji. Jak ustawić wartości spójnie, także z wartościami przejściowymi z php.net dla PHP2Shell.
Czytaj dalej →057Wyłączanie session.upload_progress: poprawnie i na stałe
Środek zaradczy wobec CVE-2026-115560 i jeden ze środków przejściowych dla PHP2Shell ustawia się szybko. Aby był trwały, musi stać we właściwym miejscu, być zablokowany i sprawdzany po każdej aktualizacji.
Czytaj dalej →058expose_php i nagłówki Server: ukrywanie informacji o wersji
PHP, Nginx i Apache domyślnie podają numer wersji w każdej odpowiedzi. Nie chroni to przed atakami, ale daje skanerom wygodną listę celów. Jak to wyłączyć i mimo to zachować przegląd.
Czytaj dalej →059display_errors off: wyłączanie komunikatów błędów w produkcji
Widoczne komunikaty błędów PHP zdradzają ścieżki, nazwy baz danych i wersje. Jak wyłączyć je w PHP, we frameworku i w serwerze WWW, nie tracąc błędów z oczu.
Czytaj dalej →060php_admin_value: blokowanie ustawień przed nadpisaniem
Ustawienie bezpieczeństwa niewiele daje, jeśli aplikacja zmienia je jednym wierszem kodu. Za pomocą php_admin_value i php_admin_flag określają Państwo wartości dla PHP-FPM i Apache w sposób wiążący.
Czytaj dalej →061Ustawianie limitów pamięci za pomocą systemd i cgroups
php.net zaleca jako środek przejściowy dla PHP2Shell memory_limit=-1 i limit pamięci poza PHP. Jak ustawić ten limit za pomocą systemd i cgroups, tak aby pojedynczy proces roboczy nie pociągnął za sobą całej usługi.
Czytaj dalej →062Bezpieczna konfiguracja Nginx dla PHP
Większość słabych punktów w konfiguracjach Nginx dla PHP nie tkwi w Nginx, lecz w kilku wierszach lokalizacji PHP. Jak skonfigurować przekazywanie do PHP-FPM, aby wykonywane były tylko zamierzone skrypty.
Czytaj dalej →063Bezpieczna konfiguracja Apache dla PHP
Apache jest elastyczny i właśnie to czyni go podatnym na błędy konfiguracji. Jak podłączyć PHP przez PHP-FPM, zamknąć .htaccess jako tylną furtkę i bezpiecznie ustawić najważniejsze opcje podstawowe.
Czytaj dalej →064Zakazywanie wykonywania PHP w katalogach uploadu
Webshell potrzebuje dwóch rzeczy: katalogu, do którego można ją zapisać, i serwera, który ją wykona. Jak odebrać jej to drugie, i to w każdym zapisywalnym katalogu, nie tylko w uploads.
Czytaj dalej →065Filtrowanie żądań uploadu na brzegu: szanse i ryzyka
Autorzy branżowi proponują blokowanie na proxy żądań uploadu poza prawdziwymi ścieżkami uploadu, dopóki PHP nie zostanie załatane. Może to pomóc, ale też sparaliżować formularze i zamówienia. Jak postępować kontrolowanie.
Czytaj dalej →066Stosowanie ModSecurity i OWASP Core Rule Set
Własna Web Application Firewall z ModSecurity i OWASP Core Rule Set jest bezpłatna i potężna, ale nie działa sama. Jak wybrać silnik, ruszyć bez awarii i dostroić reguły.
Czytaj dalej →067Konfiguracja Fail2ban dla serwerów WWW
Fail2ban blokuje adresy, które wielokrotnie rzucają się w oczy w logach. Dla serwerów WWW ma gotowe filtry, a kilkoma wierszami dodają Państwo własne. Jak go skonfigurować, nie blokując siebie ani klientów.
Czytaj dalej →068Zapora dla serwera WWW: otwierać tylko niezbędne porty
Serwer WWW potrzebuje na zewnątrz zwykle tylko dwóch portów. Mimo to na wielu serwerach w internecie nasłuchują bazy danych, PHP-FPM lub panele administracyjne. Jak znaleźć otwarte usługi i zamknąć te, które nie są potrzebne.
Czytaj dalej →069Automatyczne aktualizacje zabezpieczeń na serwerach Linux
Według doniesień dystrybucje dostarczały backporty PHP częściowo jeszcze 21 października 2026, w dniu poprawek. Kto używa automatycznych aktualizacji zabezpieczeń, miał je szybko na serwerze. Aby działały, potrzebne są restarty, źródła zewnętrzne i kontrola.
Czytaj dalej →070Least Privilege: uprawnienia użytkownika serwera WWW
Wstrzyknięty kod działa z uprawnieniami użytkownika serwera WWW. To, na co pozwala to konto, decyduje o tym, jak daleko zajdzie atakujący. Jak ograniczyć powłokę, sudo, cron, bazę danych i system plików do tego, co niezbędne.
Czytaj dalej →071Zabezpieczanie paneli administracyjnych przez IP, VPN lub dodatkową ochronę
Dlaczego backend strony nie musi być dostępny dla całego świata i jak go zabezpieczyć za pomocą listy adresów IP, VPN lub wstępnego logowania, bez odcinania sobie dostępu.
Czytaj dalej →072Prawidłowa konfiguracja TLS i HTTPS
Jakie wersje TLS i zestawy szyfrów powinien dziś oferować serwer WWW, na czym opierają się zalecenia i jak sprawdzić Nginx, Apache oraz wychodzące połączenia PHP.
Czytaj dalej →073Benchmarki CIS i moduły BSI dla serwerów WWW
Jakie standardy utwardzania istnieją dla serwerów WWW z Linuksem, czym różnią się benchmarki CIS od modułów IT-Grundschutz i jak zrobić z nich weryfikowalne wytyczne dla Państwa serwerów PHP.
Czytaj dalej →Bezpieczne programowanie
artykułów: 16
Bezpieczne przechowywanie haseł w PHP: prawidłowe użycie password_hash
Jak programiści przechowują hasła w PHP za pomocą password_hash i password_verify, dobierają odpowiednią metodę i zastępują stare skróty MD5 lub SHA-1 bez resetu haseł dla wszystkich użytkowników.
Czytaj dalej →075Ochrona przed CSRF w aplikacjach PHP
Jak programiści zapobiegają Cross-Site Request Forgery w aplikacjach PHP: tokeny dla każdego żądania zmieniającego dane, kontrola pochodzenia w nagłówku i ciasteczka SameSite jako dodatkowa warstwa.
Czytaj dalej →076Walidacja i filtrowanie danych wejściowych w PHP za pomocą filter_var
Jak programiści sprawdzają dane wejściowe w PHP za pomocą filter_var, filter_input_array i list dozwolonych, które filtry są przestarzałe i dlaczego walidacja nie zastępuje prepared statements ani kodowania wyjścia.
Czytaj dalej →077Zapobieganie command injection w PHP
Jak programiści unikają command injection w PHP: zastępowanie poleceń systemowych funkcjami PHP, użycie proc_open bez powłoki, sprawdzanie argumentów i wyszukiwanie niebezpiecznych miejsc w istniejącym kodzie.
Czytaj dalej →078Zapobieganie Server-Side Request Forgery (SSRF) w PHP
Jak programiści zapobiegają temu, aby aplikacja PHP na zlecenie obcych odpytywała systemy wewnętrzne: listy dozwolonych, ograniczenie protokołów, kontrola rozwiązanego adresu i granice w sieci.
Czytaj dalej →079Zapobieganie XML External Entities (XXE) w PHP
Jak programiści bezpiecznie przetwarzają XML w PHP: domyślne zachowanie libxml, ryzykowne opcje takie jak LIBXML_NOENT, ochrona za pomocą entity loadera i LIBXML_NO_XXE oraz typowe ukryte wejścia XML.
Czytaj dalej →080Type juggling w PHP: luźne porównania jako ryzyko bezpieczeństwa
Dlaczego luźne porównania za pomocą == w PHP mogą prowadzić do luk w zabezpieczeniach, co zmieniło się w PHP 8.0 i jak pisać odporne porównania w logowaniu, tokenach i uprawnieniach.
Czytaj dalej →081Bezpieczne liczby losowe i tokeny w PHP z random_bytes
Jak programiści generują w PHP tokeny dla linków do resetu hasła, kluczy API i kodów jednorazowych: kryptograficznie bezpieczne źródła, wystarczająca długość, przechowywanie jako skrót i ograniczona ważność.
Czytaj dalej →082Prawidłowa ochrona danych dostępowych i plików .env
Jak chronić hasła do baz danych, klucze API i inne sekrety w projektach PHP: pliki .env poza webroot, blokady w serwerze WWW, wąskie uprawnienia i uporządkowana wymiana po incydencie.
Czytaj dalej →083Publiczny katalog .git: niedoceniany wyciek danych
Dlaczego webroot wdrażany przez Git może ujawnić cały kod źródłowy wraz z historią, jak to sprawdzić, natychmiast zablokować i trwale zbudować wdrażanie bez katalogu .git.
Czytaj dalej →084Pliki kopii zapasowych w webroot: .zip, .sql i .bak
Dlaczego zrzuty baz danych, archiwa i kopie zapasowe w katalogu publicznym należą do najczęstszych wycieków danych, jak je znaleźć, zablokować i ustalić, czy zostały pobrane.
Czytaj dalej →085Pliki phpinfo(): dlaczego muszą zniknąć
Po PHP2Shell wielu administratorów szybko zakłada plik info.php. Dlaczego takie pliki są wyciekiem danych, jak je znaleźć i jakie sposoby kontroli są lepsze.
Czytaj dalej →086Aktualne zależności: Composer, npm i wtyczki
Projekt składa się z trzech światów pakietów: Composer, npm i wtyczki CMS. Jak utrzymywać wszystkie trzy na bieżąco dzięki stałemu rytmowi, jasnej odpowiedzialności i testom.
Czytaj dalej →087Przegląd kodu pod kątem bezpieczeństwa w projektach PHP
Jak zespoły celowo przeglądają własny kod PHP pod kątem luk bezpieczeństwa: rodzaje przeglądów, krytyczne funkcje, sensowne narzędzia i lista kontrolna.
Czytaj dalej →088Bezpieczne logowanie: rejestrować błędy bez wycieku danych
Logi pomagają w szukaniu błędów i informatyce śledczej, ale same szybko stają się wyciekiem danych. Co aplikacje PHP powinny rejestrować, czego nigdy i jak chronić logi.
Czytaj dalej →089Zabezpieczanie API REST w PHP
Interfejsy są często gorzej chronione niż strona internetowa przed nimi. Najważniejsze zasady dla API REST w PHP, od uprawnień do obiektu po ograniczanie liczby żądań.
Czytaj dalej →Zarządzanie i prawo
artykułów: 14
Umowy z dostawcami IT: jasne uregulowanie obowiązków w zakresie bezpieczeństwa
PHP2Shell pokazał, jak często niejasne jest, kto ma łatać. Jakie obowiązki w zakresie bezpieczeństwa należą do umów z agencją, firmą hostingową i dostawcą IT.
Czytaj dalej →091Powierzenie przetwarzania danych, gdy dostawcy mają dostęp do serwerów
Kto wpuszcza zewnętrznych na serwery z danymi klientów, potrzebuje zwykle umowy powierzenia (AVV). Czego wymaga art. 28 RODO i jak zgodnie z ochroną danych zorganizować dostępy w sytuacji awaryjnej.
Czytaj dalej →092Zarządzanie podatnościami w średnich firmach
Żadna średnia firma nie jest w stanie od razu obsłużyć każdego komunikatu. Szczupły cykl: rejestrowanie, ocena, decyzja i dokumentowanie sprawia, że to, co ważne, dzieje się najpierw.
Czytaj dalej →093Wiedzieć, co działa: inwentarz wszystkich stron i serwerów
Przy PHP2Shell wielu nie zawiodła poprawka, lecz pytanie, gdzie w ogóle działa PHP. Oto jak zbudować inwentarz wszystkich stron i serwerów.
Czytaj dalej →094Zarządzanie poprawkami jako proces, a nie straż pożarna
Kto łata tylko wtedy, gdy się pali, traci czas w razie awarii. Jak proces zarządzania poprawkami ze stałymi klasami, oknami i dowodami łączy rutynę z sytuacją awaryjną.
Czytaj dalej →095Kontakty awaryjne: kogo i kiedy trzeba poinformować?
W razie awarii liczy się to, do kogo można dotrzeć i kiedy. Jak zbudować listę awaryjnych kontaktów IT z wyzwalaczami, zastępstwami i danymi, których wymaga każda rozmowa.
Czytaj dalej →096Ile kosztuje zhakowany serwer: pozycje kosztów
Zhakowany serwer WWW generuje więcej kosztów niż sama naprawa. Jakie pozycje kosztów się pojawiają i jak własnymi liczbami uzasadnić budżet na prewencję.
Czytaj dalej →097Informowanie klientów po incydencie
Obowiązkowo czy dobrowolnie: jak po incydencie zdecydować, kogo poinformować, które kanały są bezpieczne i jak przygotować obsługę klienta.
Czytaj dalej →098Łańcuch dostaw w sieci: agencja, firma hostingowa, dostawca wtyczek
PHP2Shell pokazało, ile ogniw dzieli poprawkę od Państwa strony. Jak poznać łańcuch dostaw swojej strony, zabezpieczyć go i amortyzować awarie poszczególnych ogniw.
Czytaj dalej →099Świadomość bezpieczeństwa administratorów i redaktorów: security awareness w zespole WWW
Kto prowadzi strony internetowe, codziennie decyduje o bezpieczeństwie, często nie zdając sobie z tego sprawy. Jak szkolić administratorów i redaktorów odpowiednio do ról i bez zalewu slajdów.
Czytaj dalej →100Ćwiczenie awaryjne przy stole: przećwiczenie incydentu serwera WWW
Ćwiczenie przy stole zajmuje jedno popołudnie i pokazuje, czy Państwa plan awaryjny się sprawdza. Znajdą tu Państwo gotowy scenariusz incydentu na serwerze WWW z PHP.
Czytaj dalej →101ISO 27001 i TISAX: czego dotyczą serwery WWW
Kto prowadzi SZBI według ISO 27001 lub ma etykietę TISAX, musi uwzględniać serwery WWW. Tu opisano, jakich wymagań dotyczą i jakie dowody po PHP2Shell się liczą.
Czytaj dalej →102VdS 10000: bezpieczeństwo informacji dla małych i średnich firm
VdS 10000 to szczupłe ramy bezpieczeństwa informacji w średnich firmach. Czego wymaga, co nowego przyniósł rok 2025 i co to oznacza dla stron internetowych i serwerów WWW.
Czytaj dalej →103Lessons learned: stać się lepszym po incydencie
Po incydencie jest przed następnym. Uporządkowane omówienie bez szukania winnych zamienia zły tydzień w policzalny postęp.
Czytaj dalej →Pomoc w podejmowaniu decyzji
artykułów: 10
Łatać, wyłączyć czy czekać? Pomoc w decyzji przy luce w PHP
Przy krytycznej luce w PHP osoby odpowiedzialne muszą decydować szybko. Ta pomoc porządkuje trzy opcje, podaje kryteria i pokazuje, kiedy czekanie jest uzasadnione.
Czytaj dalej →105WAF czy aktualizacja: dlaczego potrzebują Państwo obu
Web Application Firewall może przechwytywać ataki, ale nie zamyka luki w interpreterze PHP. Kiedy WAF pomaga, gdzie się kończy i jak sensownie połączyć jedno z drugim.
Czytaj dalej →106Zainstalować serwer od nowa czy oczyścić? Decyzja po zainfekowaniu
Po włamaniu są dwie drogi: oczyścić serwer lub zbudować go od nowa. Jakie kryteria decydują i dlaczego kolejność jest ważniejsza niż wybór.
Czytaj dalej →107Naprawić samemu czy zatrudnić usługodawcę? Uczciwe rozważenie
Nie każda sytuacja bezpieczeństwa wymaga zewnętrznej pomocy. Dzięki tym kryteriom i krótkiemu autotestowi ocenią Państwo, czy Państwa zespół poradzi sobie z PHP2Shell sam, czy potrzebuje wsparcia.
Czytaj dalej →108Wybór usługodawcy bezpieczeństwa IT: 12 pytań przed zleceniem
Pod presją czasu trudno znaleźć dobrego usługodawcę bezpieczeństwa. Te dwanaście pytań pomaga rzeczowo porównać oferty i nie dać się nabrać na obietnice reklamowe.
Czytaj dalej →109Hosting zarządzany czy własny serwer? Porównanie bezpieczeństwa
PHP2Shell było testem wytrzymałościowym dla każdego modelu działania. Porównanie pokazuje, kiedy bezpieczniejszy jest hosting zarządzany, kiedy własny serwer i jakie formy mieszane się sprawdzają.
Czytaj dalej →110Aktualizacja PHP czy backport? Decyzja dla starych systemów
Dla starych wersji PHP istnieje po PHP2Shell kilka dróg: backport dystrybucji, źródło zewnętrzne, poprawka ze źródeł, wsparcie długoterminowe lub aktualizacja. Ile jest warta każda droga i jak długo wytrzymuje.
Czytaj dalej →111Zmienić CMS po włamaniu? Kiedy to pomaga, a kiedy nie
Po włamaniu zaufanie do CMS często znika. Nowy system rzadko jednak usuwa prawdziwą przyczynę. Kiedy zmiana ma sens i jak przeprowadzić ją czysto.
Czytaj dalej →112Strony statyczne: mniej PHP, mniejsza powierzchnia ataku
Strona statyczna serwuje gotowe pliki HTML i nie potrzebuje PHP na serwerze. To wyraźnie zmniejsza powierzchnię ataku, ale przynosi własne ograniczenia i obowiązki.
Czytaj dalej →113Pentest, bug bounty czy skan podatności? Wybór odpowiedniej metody kontroli
Skan, test penetracyjny i bug bounty sprawdzają strony w zupełnie różny sposób. Co potrafi każda metoda, gdzie zawodzi i jaka kolejność pasuje do Państwa firmy.
Czytaj dalej →Liczy się każda godzina. Proszę napisać do nas teraz.
Proszę krótko opisać system, wersję PHP i obserwacje. Skontaktujemy się z Państwem, ustalimy sytuację i będziemy pracować zdalnie, aż incydent zostanie zamknięty i udokumentowany.