웹에 오래된 소프트웨어 문제가 있습니다.

게시 됨: 2022-11-21

어떤 사람들은 웹에서 영원히 지속되는 것은 없다고 말할 수 있습니다. 그리고 아마도 변화는 유일한 상수입니다. 즐겨찾는 웹사이트는 도구와 기술처럼 왔다가 사라집니다. 물론, 그 진술에는 어느 정도 진실이 있습니다. 그러나 그것은 또한 더 복잡합니다.

알다시피, 사물은 배경 속으로 사라지기 때문에 실제로 사라지는 것이 아닙니다. 트래픽으로 떠들썩했던 웹사이트가 유령 도시로 변할지도 모릅니다. 그리고 그 사이트의 이면에 있는 기술이 거기에 앉아서 먼지를 모으고 있을 가능성도 있습니다.

그러나 문제가 있는 것은 오래된 무인 사이트만이 아닙니다. 미션 크리티컬 웹 사이트가 오래된 소프트웨어에 의존하는 상황도 있습니다. 그것은 버려진 WordPress 플러그인에서 지원되지 않는 PHP 버전에 이르기까지 무엇이든 될 수 있습니다.

이상적인 상황과는 거리가 멀다. 그리고 이러한 오래된 대기 상태를 고수하면 많은 잠재적인 문제가 발생할 수 있습니다. 그러나 이는 현대 웹의 현실이기도 합니다. 새로운 기술이 스포트라이트를 받기 위해 도착하자마자 오래된 기술은 계속해서 그림자를 따라 움직입니다.

문제는 복잡하며 잠재적 솔루션도 복잡합니다. 이 공룡의 거미줄을 제거하는 것이 가능할까요?

웹 사이트에서 레거시 코드를 계속 사용하는 이유는 무엇입니까?

레거시 코드를 사용하는 웹 사이트를 상상할 때 무엇이 ​​떠오릅니까? 어쩌면 몇 년 동안 새로운 콘텐츠를 보지 못한 블로그일 수도 있습니다. 또는 없어진 온라인 커뮤니티. 휴면 사업장을 생각할 수도 있습니다.

이러한 예의 공통점은 작고 저렴한(아마도 무료) 웹사이트일 가능성이 높다는 것입니다. 시간이 정지된 엔터티.

이제 사용자 지정이 많은 대규모 엔터프라이즈 사이트를 고려하십시오. 고객이 청구서를 지불할 수 있는 맞춤형 기능이 포함되어 있을 수 있습니다. 팀 구성원을 위한 특정 작업 흐름을 용이하게 하는 사용자 지정 WordPress 플러그인이 있을 수 있습니다.

사용자 지정 기능은 생산하는 데 비용과 시간이 많이 듭니다. 그리고 어떤 경우에는 깨지기 쉬울 수 있습니다. 최신 버전의 종속 소프트웨어에서 지원되지 않는 방법이나 기능에 의존할 수 있습니다. 예를 들어, PHP 5용으로 빌드된 애플리케이션은 더 이상 PHP 8에서 작동하지 않을 수 있습니다.

그리고 개발자(또는 개발자 팀)가 코드를 리팩토링할 수는 있지만 항상 쉬운 것은 아니며 주어진 예산에 맞지 않습니다. 오랜 시간이 지난 후에도 Internet Explorer 6을 계속 사용하는 기업 사용자의 오래된 이야기와 마찬가지로 레거시 코드는 수년 동안 사용할 수 있습니다.

결론은 구식 소프트웨어가 여전히 많이 사용되고 있다는 것입니다. 저울의 상한과 하한 모두에 해당됩니다.

구식 소프트웨어는 시장의 하이엔드와 로우엔드 모두에서 실행되고 있습니다.

두 가지 대표적인 예: PHP와 WordPress

사용 통계는 정기적으로 변경되며 이 기사가 게시된 후에는 틀림없이 변경될 것입니다. 그러나 특히 구식 소프트웨어인 PHP와 WordPress의 두 가지 추세가 대표적인 예입니다.

PHP 5와 7은 아직 남아 있습니다.

이 글을 쓰는 시점에서 PHP의 최신 버전은 8.1입니다. 2021년 11월에 릴리스되었으며 보안 업데이트는 2024년 11월에 종료될 예정입니다. 버전 8.0은 2020년 11월에 릴리스되었습니다(보안 업데이트는 2023년 11월에 종료됨). 버전 7.4는 2019년 11월에 전 세계로 배포되었습니다(보안 업데이트는 2022년 11월에 종료됨).

따라서 버전 8 이상은 몇 년 동안 우리와 함께했습니다. 그러나 W3Techs의 PHP 사용 통계에 따르면 조사 대상 사이트의 6% 이상이 PHP 8 또는 8.1을 실행하고 있습니다. 한편, 70%는 일부 PHP 7 버전을 사용하고 있으며 거의 ​​23%는 여전히 PHP 5(2018년 지원 종료)를 실행하고 있습니다.

PHP의 주요 버전 간 전환은 느린 경향이 있습니다. 이는 부분적으로 호환성의 변화 때문일 수 있습니다. 예를 들어 WordPress와 그 생태계는 PHP 8을 완벽하게 지원하기까지 먼 길을 걸어왔습니다.

또한 웹 호스트는 전통적으로 고객에게 업그레이드를 너무 어렵게 강요하지 않았습니다(자세한 내용은 잠시 후). 동시에 웹 사이트 소유자는 PHP를 알지 못하는 것부터 업그레이드에 대해 지나치게 걱정하지 않는 것까지 다양합니다.

요컨대 긴박감이 거의 없었습니다. 또는 흐름을 바꾸고 최신 버전을 사용하여 더 많은 웹사이트를 확보하기에는 충분하지 않습니다.

W3Techs에 따르면 PHP 8 채택이 더디다고 합니다.

2022년 11월 현재 W3Techs의 PHP 버전 통계

WordPress 4 및 5 라이브 온

프레스(말장난 의도)로 이동하면서 WordPress 6.1이 릴리스되었습니다. 인류에게 알려진 가장 대중적인 콘텐츠 관리 시스템(CMS)의 최신 버전입니다.

그리고 W3Techs WordPress 사용 통계에 따르면 조사 대상 사이트의 거의 60%가 버전 6 이상을 사용하고 있습니다. 이는 PHP 8의 사용률보다 훨씬 더 높은 수치입니다. 하지만 그리 놀라운 일은 아닙니다.

이에 비해 WordPress를 업데이트하는 것이 더 쉽고 자동화할 수도 있습니다. 사이트 소유자와 유지 관리 책임자는 업그레이드를 위해 손가락 하나 까딱할 필요가 없습니다. 관리형 호스팅 제공업체에서도 이를 처리할 수 있습니다. 그리고 WordPress는 이전 버전과의 호환성을 중시하는 것으로 알려져 있으므로 주요 문제가 발생할 가능성이 적습니다.

그러나 오래된 버전은 여전히 ​​거기에 매달려 있습니다. 버전 5는 설치의 34%를 지원하고 설치의 6% 이상이 버전 4를 고수합니다.

좋은 소식이 있다면 WordPress 코어가 여러 이전 버전의 소프트웨어에 대한 보안 업데이트를 계속 릴리스한다는 것입니다. 그럼에도 불구하고 이러한 사이트는 새로운 기능과 성능 향상을 놓치고 있습니다. 가능한 테마 및 플러그인 호환성 문제는 말할 것도 없습니다. 아, 최신 버전의 PHP에서는 작동하지 않을 것 같습니다.

이러한 통계는 오래되었거나 버려진 플러그인 및 테마를 실행하는 웹사이트를 설명하지 않는다는 점도 주목할 가치가 있습니다. 그것은 탐험할 가치가 있는 완전히 다른 은하가 될 수 있지만 그만큼 관련이 있습니다. 이것은 대부분의 WordPress 관련 보안 문제가 발생하는 곳입니다.

W3Techs는 WordPress 설치의 40% 이상이 버전 5 이하를 사용하고 있다고 지적합니다.

2022년 11월 현재 W3Techs의 WordPress 버전 통계

이것이 우려되는 이유

"오래된 소프트웨어"라는 용어는 모든 종류의 악몽을 불러일으킬 수 있습니다. 패치되지 않은 Windows XP 버전으로 온라인 쇼핑을 하는 사람이 떠오릅니다. 효과가 있을지 모르지만 계속 사용하는 데는 많은 위험이 있습니다.

보안이 가장 중요합니다. 더 이상 보안 업데이트를 받지 않는 PHP 버전을 사용하는 것은 위험합니다. 최신 버전으로 쉽게 중지할 수 있는 공격은 레거시 설정에 손상을 줄 수 있습니다.

그러나 공개된 보안 결함이 있는 오래된 JavaScript 라이브러리 또는 서버 유틸리티를 사용하는 것도 마찬가지입니다. 결국 모든 줄무늬의 종속성은 위험할 수 있습니다. 최근의 Log4j 취약점은 많은 알림 중 하나일 뿐입니다.

그런 다음 효율성과 성능 문제가 있습니다. 이러한 개선 사항이 없는 오래된 소프트웨어는 사용자 경험, SEO 및 에너지 소비에 부정적인 영향을 미칠 수 있습니다.

그리고 소프트웨어가 오래될수록 미래에 최신 정보를 얻기가 더 어렵고 더 비쌀 수 있습니다. 각 후속 버전은 프로세스에 장애물을 추가할 수 있습니다.

오래된 소프트웨어는 보안 위험을 초래합니다.

일부 웹 호스트가 문제를 강요하고 있습니다.

웹 호스트는 고객이 새 소프트웨어를 구현하도록 돕는 역할을 합니다. 그리고 일부는 이러한 노력에 더욱 공격적으로 변하고 있습니다.

PHP는 주요 대상이었습니다. 일부 호스트는 고객이 지원되지 않는 버전을 계속 실행하도록 허용하지만 추가 요금을 부과하기 시작했습니다. 오래된 소프트웨어를 사용하는 고객의 지원 비용이 높아졌기 때문일 수 있습니다. 최소한 사용자가 업그레이드하도록 설득하는 방법입니다.

그러나 다른 사람들은 더 강경한 입장을 취했습니다. 오래된 PHP 버전을 사용하는 고객에게 이를 알리고 예정된 업그레이드 날짜를 제공합니다. 여기에서 새 버전에 대한 테스트 또는 패치 여부에 관계없이 사이트가 업그레이드됩니다.

이러한 조치가 얼마나 효과적일지는 두고 볼 일이다. 그러나 오래된 소프트웨어를 정리하는 것은 엄청난 작업입니다. 따라서 누군가 공을 굴려야 합니다. 호스트는 그렇게 할 수 있는 좋은 위치에 있습니다.

웹 호스트는 오래된 버전의 PHP를 사용하는 사용자에게 경고하고 있습니다.

올드와 아웃?

30년 이상 된 웹은 헤아릴 수 없이 많은 양의 소프트웨어를 호스팅했습니다. 시간이 지남에 따라 서버에 다운로드되고 설치된 크고 작은 모든 앱을 고려하십시오. 만료 날짜가 훨씬 지난 일부 제품이 제자리에 남아 있는 것은 놀라운 일이 아닙니다.

때때로 이 레거시 코드는 필요에 따라 다른 애플리케이션에 의존합니다. 그러나 단순히 사이트 소유자가 상황을 인식하지 못하기 때문에 발생할 수도 있습니다. 아무도 업그레이드와 관련하여 그들에게 접근하지 않았을 수 있습니다.

두 경우 모두 현대화 노력을 늘리기 위해 리소스가 필요합니다. 기업 수준에서 이것은 최신 버전으로 계속 진화하는 데 전념하는 시간과 비용을 의미합니다.

사다리의 낮은 단계에서 교육은 핵심 요소입니다. 웹 호스트는 고객에게 정보를 제공하는 것의 중요성을 깨닫기 시작했습니다. 그리고 웹 디자이너도 똑같이 해야 합니다.

고객에게 현재 위치, 오래된 소프트웨어 사용의 위험 및 업그레이드의 이점을 알리는 것으로 시작합니다. 거기에서 그들은 정보에 입각한 결정을 내릴 수 있습니다.

아니요, 업그레이드된 단일 사이트가 세상을 바꾸지는 않습니다. 그러나 각각은 최신 기술을 활용할 수 있는 더 안전한 웹을 향한 작은 발걸음입니다.