Aktualna sytuacja: PHP2Shell. Dwie krytyczne luki w PHP (CVSS 9,2) umożliwiają wykonanie złośliwego kodu bez logowania. Poprawki od 21.10.2026.Co należy teraz zrobić →
artykułów: 113

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

001

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 →
002

Dlaczego 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 →
003

Urzę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 →
004

Poziom 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 →
005

Co 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 →
006

Reguł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 →
007

22,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 →
008

PHP2Shell 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 →
009

Luka 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 →
010

PHP2Shell: 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 →
011

Dlaczego 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 →
012

PHP2Shell 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 →
013

Masowe 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 →
014

Okno 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 →
015

Po 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 →
016

PHP2Shell: 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 →
017

Niebezpieczne 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

018

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 →
019

Debian 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 →
020

RHEL, 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 →
021

Repozytorium 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 →
022

Repozytorium 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 →
023

Dlaczego 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 →
024

Dowó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 →
025

Zmiana 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 →
026

Wiele 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 →
027

Wyłą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 →
028

Plesk: 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 →
029

CloudLinux 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 →
030

PHP 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 →
031

PHP 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 →
032

Oficjalne 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 →
033

CI/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 →
034

Wsparcie 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 →
035

Aktualizacja 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

036

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 →
037

Znajdowanie 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 →
038

Rozpoznawanie 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 →
039

Znajdowanie 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 →
040

Pliki 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 →
041

Rozpoznawanie 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 →
042

Sprawdzanie 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 →
043

Znajdowanie 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 →
044

Znajdowanie 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 →
045

Koparka 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 →
046

Serwer 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 →
047

SEO 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 →
048

Strona 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 →
049

Zabezpieczyć 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 →
050

Przygotowanie 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 →
051

Poró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 →
052

Sprawdzanie 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 →
053

Skanery 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

054

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 →
055

Prawidł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 →
056

Rozsą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 →
057

Wyłą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 →
058

expose_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 →
059

display_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 →
060

php_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 →
061

Ustawianie 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 →
062

Bezpieczna 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 →
063

Bezpieczna 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 →
064

Zakazywanie 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 →
065

Filtrowanie żą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 →
066

Stosowanie 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 →
067

Konfiguracja 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 →
068

Zapora 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 →
069

Automatyczne 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 →
070

Least 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 →
071

Zabezpieczanie 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 →
072

Prawidł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 →
073

Benchmarki 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

074

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 →
075

Ochrona 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 →
076

Walidacja 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 →
077

Zapobieganie 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 →
078

Zapobieganie 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 →
079

Zapobieganie 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 →
080

Type 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 →
081

Bezpieczne 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 →
082

Prawidł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 →
083

Publiczny 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 →
084

Pliki 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 →
085

Pliki 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 →
086

Aktualne 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 →
087

Przeglą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 →
088

Bezpieczne 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 →
089

Zabezpieczanie 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

090

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 →
091

Powierzenie 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 →
092

Zarzą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 →
093

Wiedzieć, 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 →
094

Zarzą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 →
095

Kontakty 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 →
096

Ile 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 →
097

Informowanie 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 →
101

ISO 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 →
102

VdS 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 →
103

Lessons 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

104

Ł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 →
105

WAF 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 →
106

Zainstalować 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 →
107

Naprawić 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 →
108

Wybó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 →
109

Hosting 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 →
110

Aktualizacja 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 →
111

Zmienić 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 →
112

Strony 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 →
113

Pentest, 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 →
Kontakt natychmiast

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.

Natychmiastowa pomoc