Krótko: Repozytorium PHP sury to rozpowszechnione zewnętrzne źródło pakietów PHP dla Debiana (packages.sury.org) i Ubuntu (PPA ondrej/php). Umożliwia równoległe działanie kilku wersji PHP i nowsze gałęzie niż w dystrybucji. Po PHP2Shell udostępniono tam według doniesień kompilacje dla wszystkich gałęzi od 5.6 do 8.5. Dowód dla Państwa serwera dostarczają jednak tylko stan pakietu i changelog, a nie komunikaty bezpieczeństwa Debiana lub Ubuntu.
Czym jest repozytorium sury
Za sury.org stoi Ondřej Surý. Według jego strony projektu pakietuje on jako deweloper Debiana od czasów PHP 5 pakiety PHP dla Debiana, a oficjalne pakiety PHP Debiana i Ubuntu opierają się na jego pracy. Obok tej pracy prowadzi własne repozytorium z pakietami PHP, które można instalować równolegle.
Dla Debiana repozytorium znajduje się pod packages.sury.org, dla Ubuntu jest oferowane jako PPA ondrej/php. Błędy zgłasza się według strony projektu przez issue tracker na Codeberg, a nie mailem. Utrzymanie odbywa się według własnych informacji głównie w wolnym czasie; dla starszych wersji dystrybucji istnieje komercyjna oferta przez Freexian.
Wielu adminów i dostawców hostingu korzysta z repozytorium, ponieważ oferuje nowsze gałęzie PHP, niż niesie dystrybucja, lub ponieważ aplikacje potrzebują określonej wersji.
Czym różni się od pakietów Debiana
Najważniejsza różnica dla bezpieczeństwa: pakiety z sury.org nie podlegają komunikatom bezpieczeństwa Debiana ani Ubuntu. Debian Security Tracker pokazuje tylko stan pakietów oficjalnych. Jeśli stoi tam, że php8.4 w trixie jest poprawione, nie mówi to nic o php8.4 z sury.org na tym samym serwerze.
| Cecha | Oficjalne pakiety Debiana i Ubuntu | sury.org |
|---|---|---|
| Wydawca | Debian lub Canonical | Ondřej Surý jako osoba prywatna |
| Komunikaty bezpieczeństwa | DSA, DLA, USN | żaden z tych komunikatów |
| Wersje | jedna gałąź na wydanie | kilka gałęzi równolegle |
| Numer wersji po poprawce | Debian częściowo nowa wersja upstream, Ubuntu zwykle stary numer z nowym stanem pakietu | z reguły aktualna wersja upstream |
| Dowód | komunikat i changelog | changelog i wersja pakietu |
Dla firm oznacza to zależność od jednej osoby w zakresie kluczowego komponentu. To nie powód, by unikać repozytorium, ale powód, by świadomie to ponosić: z monitoringiem, dowodem i planem B.
Repozytorium PHP sury po PHP2Shell: sprawdzanie stanu
Najpierw proszę wyjaśnić, czy i dla jakich pakietów serwer używa sury. Polecenia są wyłącznie odczytowe.
# Czy sury jest wpisane jako źródło pakietów?
grep -rEl "sury|ondrej" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null
# Z jakiego źródła pochodzi zainstalowany pakiet?
apt policy php8.3-fpm
# Zainstalowana wersja i wpis w changelogu dotyczący CVE
dpkg-query -W -f='${Package}\t${Version}\n' 'php*-fpm' 'libapache2-mod-php*' 2>/dev/null
zgrep -E "CVE-2026-10961[89]" /usr/share/doc/php8.3-fpm/changelog.Debian.gz
Przy aktualnych gałęziach poprawkę poznają Państwo z reguły po wersji upstream 8.5.12, 8.4.27, 8.3.36 lub 8.2.35 w nazwie pakietu. Przy starych gałęziach, takich jak 7.4 czy 8.1, nie ma oficjalnej wersji docelowej, tam najważniejszym dowodem jest wpis w changelogu. Jeśli go brakuje, proszę zapytać przez issue tracker projektu lub traktować pakiet jako niewyjaśniony.
Stare gałęzie PHP z sury: zwodnicza wygoda
Repozytorium ułatwia prowadzenie PHP 7.4, a nawet 5.6 na aktualnym Debianie. Według doniesień także dla tych gałęzi były kompilacje przeciw PHP2Shell. W obecnej sytuacji jest to pomocne, ale tylko przesuwa podstawowy problem: projekt PHP nie utrzymuje już tych gałęzi, a następna luka znów je dotknie.
Kto tą drogą utrzymuje przy życiu starą aplikację, powinien szczerze zapytać siebie, jak długo jeszcze. Co obowiązuje dla PHP 8.1 i starszego, podsumowuje strona PHP 8.1 i starsze: co obowiązuje teraz. Komercyjne alternatywy wraz z ich granicami opisuje artykuł Wsparcie długoterminowe dla starych wersji PHP.
Proszę nie mieszać na serwerze w sposób niekontrolowany pakietów PHP z dystrybucji i z sury.org. Zależności między rozszerzeniami i bibliotekami mogą przy następnej aktualizacji prowadzić do nieoczekiwanych zmian pakietów.
Zalecenia dla pracy z sury
- Udokumentować, które serwery używają sury i dla jakich gałęzi.
- Ustalić pochodzenie, na przykład przez APT pinning, aby pakiety PHP pochodziły tylko z jednego źródła.
- Monitorować aktualizacje, bo bez DSA lub USN brakuje zwykłej wskazówki. Pomaga regularne porównanie
apt list --upgradable. - Restartować po każdej aktualizacji, osobno dla każdej zainstalowanej wersji. Ile ich działa równolegle, pokazuje artykuł Kilka wersji PHP na jednym serwerze.
- Wspierać, jeśli Państwa firma jest zdana na repozytorium. Strona projektu wymienia datki i wsparcie komercyjne jako drogi.
Powrót do pakietów dystrybucji?
Nie każdy serwer, który dziś używa sury, nadal tego potrzebuje. Często repozytorium zostało dołączone lata temu, ponieważ ówczesna dystrybucja niosła tylko starszą wersję PHP. Obecnie na przykład Debian 13 trixie dostarcza PHP 8.4, które jest według Debian Security Tracker poprawione przeciw PHP2Shell. Jeśli Państwa aplikacja działa z tą wersją, powrót może zakończyć zależność od źródła zewnętrznego.
Powrót to mały projekt migracyjny. Najpierw proszę sprawdzić, jakich rozszerzeń potrzebuje aplikacja i czy dystrybucja je oferuje. Aplikację należy przetestować z pakietem dystrybucji na kopii, zanim usunie się źródło sury. Potem komunikaty bezpieczeństwa znów przychodzą zwykłymi drogami, a dowód opiera się na DSA lub USN, a nie wyłącznie na changelogu.
Tam, gdzie potrzebna pozostaje nowsza lub starsza wersja niż w dystrybucji, sury nadal jest sensownym wyborem. Wtedy decyzja powinna być jednak podjęta świadomie i udokumentowana.
Jak konkretnie pomaga PHP SOS?
- Ustalamy, które pakiety PHP na Państwa serwerach pochodzą z sury.org, z dystrybucji lub z innych źródeł.
- Sprawdzamy stan PHP2Shell dla każdej gałęzi przez wersję pakietu i changelog oraz restartujemy wszystkie usługi.
- Wdrażamy pinning i monitoring aktualizacji oraz usuwamy niepotrzebne już gałęzie w ramach utwardzania serwera.
- Dla starych gałęzi planujemy przejście na wspieraną wersję.
Częste pytania
Czy repozytorium sury jest oficjalnym repozytorium Debiana?
Nie. Prowadzi je Ondřej Surý, który według własnej strony jako deweloper Debiana od dawna pakietuje PHP dla Debiana. Nie jest to jednak archiwum bezpieczeństwa Debiana, a dla jego pakietów nie ma komunikatów bezpieczeństwa Debiana.
Czy sury.org udostępniło pakiety przeciw PHP2Shell?
Według doniesień udostępniono kompilacje dla wszystkich gałęzi od 5.6 do 8.5. Stan na swoim serwerze proszę mimo to sprawdzić samodzielnie przez wersję pakietu i changelog, ponieważ doniesienia nie zastępują dowodu dla Państwa systemu.
Czy sury.org czyni stare wersje PHP znów bezpiecznymi?
Kompilacja dla starej gałęzi może zamknąć konkretną lukę. Nie zmienia to faktu, że projekt PHP nie utrzymuje już tych gałęzi. Do trwale bezpiecznej pracy konieczne pozostaje przejście na wspieraną wersję.
Jak sprawdzić, czy mój serwer używa sury?
Proszę poszukać w źródłach pakietów w /etc/apt słów sury lub ondrej i sprawdzić przez apt policy, z jakiego źródła pochodzą zainstalowane pakiety PHP.