W sieci występuje problem z nieaktualnym oprogramowaniem
Opublikowany: 2022-11-21Niektórzy mogą powiedzieć, że w sieci nic nie trwa wiecznie. I być może zmiana jest jedyną stałą. Ulubione strony internetowe pojawiają się i znikają, podobnie jak narzędzia i technologie. Jasne, w tych stwierdzeniach jest trochę prawdy – ale jest to również bardziej skomplikowane.
Widzisz, rzeczy tak naprawdę nie znikają tak bardzo, jak znikają w tle. Witryna, która kiedyś tętniła życiem, może zmienić się w miasto duchów. I jest równie prawdopodobne, że technologia stojąca za tą witryną również tam siedzi i zbiera kurz.
Ale nie tylko te stare, nienadzorowane witryny mają problemy. Istnieją również sytuacje, w których witryna internetowa o znaczeniu krytycznym polega na przestarzałym oprogramowaniu. Może to być wszystko, od porzuconej wtyczki WordPress do nieobsługiwanej wersji PHP.
Daleko jej do idealnej sytuacji. I wiele potencjalnych problemów może wynikać z trzymania się tych starych trybów gotowości. Jednak jest to również rzeczywistość nowoczesnej sieci. Tak szybko, jak nowa technologia pojawia się, by przykuć uwagę, stara nadal chowa się w cieniu.
Problem jest złożony – podobnie jak potencjalne rozwiązania. Czy w ogóle możliwe jest pozbycie się sieci tych dinozaurów?
Dlaczego strony internetowe nadal używają starszego kodu?
Kiedy wyobrażasz sobie stronę internetową, która używa starszego kodu – co przychodzi ci na myśl? Może to blog, który nie widział nowych treści od kilku lat. Lub nieistniejąca społeczność internetowa. Możesz nawet pomyśleć o uśpionej witrynie biznesowej.
Wspólnym wątkiem tych przykładów jest to, że są to prawdopodobnie małe i niedrogie (być może bezpłatne) witryny internetowe. Byty zamrożone w czasie.
Rozważmy teraz dużą witrynę korporacyjną, która jest mocno dostosowana. Być może zawiera niestandardową funkcjonalność, która umożliwia klientom płacenie rachunków. Może istnieć niestandardowa wtyczka WordPress, która ułatwia członkom zespołu określony przepływ pracy.
Niestandardowa funkcjonalność jest kosztowna i czasochłonna w produkcji. A w niektórych przypadkach może być kruchy. Może polegać na metodzie lub funkcji, która nie jest obsługiwana w nowszych wersjach oprogramowania zależnego. Na przykład aplikacja, która została zbudowana dla PHP 5, może już nie działać w PHP 8.
I chociaż programista (lub jego zespół) może refaktoryzować kod – nie zawsze jest to łatwe lub mieści się w ramach danego budżetu. Podobnie jak stare historie użytkowników korporacyjnych, którzy pozostawili Internet Explorera 6 długo po swoim czasie, starszy kod może żyć przez lata.
Najważniejsze jest to, że przestarzałe oprogramowanie pozostaje w użyciu. Dotyczy to zarówno górnego, jak i dolnego końca skali.
Dwa najlepsze przykłady: PHP i WordPress
Statystyki użytkowania zmieniają się regularnie – i niewątpliwie zmienią się po opublikowaniu tego artykułu. Ale w szczególności dwa trendy są najlepszymi przykładami przestarzałego oprogramowania w działaniu: PHP i WordPress.
PHP 5 i 7 są nadal dostępne
W chwili pisania tego tekstu najnowsza wersja PHP to 8.1. Został wydany w listopadzie 2021 r., a aktualizacje zabezpieczeń mają zakończyć się w listopadzie 2024 r. Wersja 8.0 została wydana w listopadzie 2020 r. (aktualizacje zabezpieczeń zakończą się w listopadzie 2023 r.). Wersja 7.4 została wysłana w świat w listopadzie 2019 r. (aktualizacje zabezpieczeń zakończą się w listopadzie 2022 r.).
Tym samym wersje 8 i nowsze są z nami od kilku lat. Jednak według statystyk użytkowania PHP W3Techs, nieco ponad 6% ankietowanych witryn korzysta z PHP 8 lub 8.1. Tymczasem 70% korzysta z wersji PHP 7, a prawie 23% nadal korzysta z wersji PHP 5 (której wsparcie zakończyło się w 2018 r.).
Przejście między głównymi wersjami PHP jest zwykle powolne. Jest to prawdopodobnie częściowo spowodowane zmianami w kompatybilności. Na przykład WordPress i jego ekosystem mają długą drogę do pełnej obsługi PHP 8.
Ponadto hosty internetowe tradycyjnie nie naciskały zbyt mocno na klientów, aby uaktualnili (więcej na ten temat za chwilę). Jednocześnie właściciele witryn wahają się od nieświadomości PHP do braku nadmiernej troski o aktualizację.
Krótko mówiąc: nie było poczucia pilności. Lub za mało, aby odwrócić losy i uzyskać więcej stron internetowych korzystających z najnowszej wersji.
WordPress 4 i 5 na żywo
W chwili, gdy przechodzimy do druku (zamierzona gra słów), wydano WordPress 6.1. To najnowsza wersja najpopularniejszego znanego ludzkości systemu zarządzania treścią (CMS).
Według statystyk użytkowania W3Techs WordPress, prawie 60% ankietowanych witryn korzysta z wersji 6 lub nowszej. Jest znacznie wyższy niż wskaźniki użycia dla PHP 8. Prawdopodobnie nie jest to jednak zbyt zaskakujące.
Dla porównania, aktualizacja WordPressa jest łatwiejsza i może być nawet zautomatyzowana. Właściciele witryn i osoby odpowiedzialne za konserwację niekoniecznie muszą kiwnąć palcem, aby dokonać aktualizacji. Zarządzani dostawcy hostingu również mogą się tym zająć. Wiadomo, że WordPress ceni sobie kompatybilność wsteczną, więc prawdopodobieństwo wystąpienia poważnego problemu jest mniejsze.
Ale przestarzałe wersje wciąż tam wiszą. Wersja 5 obsługuje 34% instalacji, podczas gdy ponad 6% instalacji dotyczy wersji 4.
Jeśli są jakieś dobre wieści, to to, że rdzeń WordPress nadal wydaje aktualizacje zabezpieczeń dla kilku starszych wersji oprogramowania. Mimo to witryny te tracą na nowych funkcjach i ulepszeniach wydajności. Nie wspominając już o możliwych problemach ze zgodnością motywów i wtyczek. Aha, i jest mało prawdopodobne, że będą działać z najnowszą wersją PHP.
Warto również zauważyć, że te statystyki nie uwzględniają witryn z przestarzałymi lub porzuconymi wtyczkami i motywami. To może być zupełnie inna galaktyka warta zbadania, ale równie istotna. Stąd bierze się większość problemów związanych z bezpieczeństwem WordPress.
Dlaczego jest to problem
Termin „przestarzałe oprogramowanie” może przywoływać różnego rodzaju koszmarne wizje. Przychodzi mi na myśl osoba robiąca zakupy online z niezałataną wersją systemu Windows XP. To może działać, ale dalsze korzystanie z niego wiąże się z dużym ryzykiem.
Bezpieczeństwo jest kwestią nadrzędną. Jest oczywiste, że używanie wersji PHP, która nie otrzymuje już aktualizacji zabezpieczeń, stanowi ryzyko. Ataki, które można łatwo zatrzymać za pomocą nowszych wersji, mogą spowodować uszkodzenie starszej konfiguracji.
Ale podobnie jest ze starą biblioteką JavaScript lub narzędziem serwerowym z otwartą luką w zabezpieczeniach. W końcu zależności wszystkich pasków mogą być niebezpieczne. Ostatnia luka w zabezpieczeniach Log4j to tylko jedno z wielu przypomnień.
Następnie pojawiają się problemy z wydajnością i wydajnością. Przestarzałe oprogramowanie, które nie ma tych ulepszeń, może negatywnie wpłynąć na wrażenia użytkownika, SEO i zużycie energii.
A im bardziej przestarzałe oprogramowanie, tym trudniejsze (i droższe) może być przyspieszenie w przyszłości. Każda kolejna wersja może dodawać przeszkody do procesu.
Niektóre hosty internetowe wymuszają problem
Dostawcy usług hostingowych mają do odegrania ważną rolę w pomaganiu swoim klientom we wdrażaniu nowego oprogramowania. A niektórzy stają się bardziej agresywni w tych wysiłkach.
PHP był głównym celem. Niektórzy dostawcy usług hostingowych umożliwiają klientom dalsze korzystanie z nieobsługiwanej wersji, ale zaczęli naliczać dodatkową opłatę. Może to wynikać z wyższych kosztów wsparcia dla klientów korzystających z przestarzałego oprogramowania. Przynajmniej jest to sposób na przekonanie użytkowników do aktualizacji.
Jednak inni przyjęli bardziej twardą postawę. Powiadomią klientów, którzy używają przestarzałej wersji PHP i podają zaplanowaną datę aktualizacji. Stamtąd witryna jest aktualizowana niezależnie od tego, czy została przetestowana, czy załatana pod kątem nowej wersji.
Dopiero okaże się, jak skuteczne będą te środki. Ale czyszczenie przestarzałego oprogramowania to ogromne przedsięwzięcie. Dlatego ktoś musi wprawić piłkę w ruch. Gospodarze są do tego dobrze przygotowani.
Wyjść ze starym?
Sieć ma ponad 30 lat i zawiera niezliczoną ilość oprogramowania. Weź pod uwagę wszystkie aplikacje – duże i małe – które zostały pobrane i zainstalowane na serwerach w miarę upływu czasu. Nic dziwnego, że niektóre z nich pozostawiono na miejscu już dawno po terminie przydatności do spożycia.
Czasami ten przestarzały kod zostaje z konieczności — inne aplikacje są od niego zależne. Ale może się to również zdarzyć po prostu dlatego, że właściciel witryny nie jest świadomy sytuacji. Być może nikt nie zwrócił się do nich w sprawie aktualizacji.
W obu przypadkach potrzebne są zasoby, aby zwiększyć wysiłki modernizacyjne. Na poziomie przedsiębiorstwa oznacza to poświęcenie czasu i pieniędzy na rozwój wraz z nowszymi wersjami.
Na niższych szczeblach drabiny edukacja jest kluczowym czynnikiem. Hostingi stron internetowych zaczynają zdawać sobie sprawę, jak ważne jest informowanie klientów. A projektanci stron internetowych powinni zrobić to samo.
Zaczyna się od poinformowania klientów, na czym stoją, niebezpieczeństwach związanych z używaniem przestarzałego oprogramowania oraz korzyściach płynących z aktualizacji. Stamtąd mogą podejmować świadome decyzje.
Nie, jedna ulepszona witryna nie zmieni świata. Ale każdy jest małym krokiem w kierunku bezpieczniejszej sieci, która może korzystać z najnowszych technologii.