Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

개발자가 플러그인을 업데이트하지 않으면 어떻게 해야 할까? 워드프레스 사이트 보호 대처법

개발자가 플러그인을 업데이트하지 않는다면? 워드프레스 사이트 운영자라면 항상 코어와 테마·플러그인 같은 애드온을 최신 버전으로 유지하라는 권고를 들어왔을 것입니다. 방치된 애드온은 시간이 지나면서 보안 취약점이 생기고, 해커들은 이를 이용해 사이트에 침입합니다. 그런데 만약 취약점이 이미 발견됐는데도 개발자가 아직 패치 업데이트를 내놓지 않았다면 어떻게 해야 할까요? 이 글에서는 개발자가 업데이트를 배포할 때까지 사이트를 안전하게 지키기 위한 실질적인 대응 방법을 살펴보겠습니다.

W3 Total Cache 사례에서 본 교훈

2016년 한 보안 블로그는 인기 캐싱 플러그인인 W3 Total Cache에서 교차 사이트 스크립팅(XSS) 취약점이 발견됐다고 보도했습니다. 당시 W3 Total Cache는 100만 개 이상의 활성 설치 수를 기록한 대표적인 캐싱 플러그인으로, pearsonified.com과 mashable.com은 물론 AT&T 공식 웹사이트까지 신뢰하고 사용하고 있었습니다. 이번이 처음이 아니었습니다. 과거에도 Total Cache는 여러 차례 취약점이 발견됐고, 일부는 실제로 악용되기까지 했습니다.

취약점이 보도될 당시 지원 포럼에는 사용자들이 몇 달 동안 개발자에게 문의했지만 답변을 받지 못했다는 불만이 넘쳤습니다. 한 사용자는 페이스북 그룹에 "플러그인이 7개월 넘게 업데이트되지 않았다"며 불만을 토로하기도 했습니다. W3 Total Cache를 사용 중인 웹사이트들이 XSS 취약점으로 피해를 입을 수 있다는 우려가 커질 만했습니다.

취약점이 공개된 후 거의 일주일 뒤, W3 Total Cache는 업데이트를 배포해 악용 가능한 허점을 패치했고 새로운 기능도 추가했습니다. 하지만 패치 직후 상당수 사이트 운영자들이 업데이트 이후 사이트가 깨졌다고 보고했습니다. 새 업데이트가 사이트를 망가뜨리는 일은 흔히 있는 일이라, 스테이징 환경 사용이 권장됩니다. 스테이징 사이트에서 먼저 업데이트를 테스트한 뒤 실제 사이트에 적용하면 됩니다. 스테이징 사이트에서 문제가 생기면 실제 사이트에 피해를 주지 않고도 플러그인 개발자에게 문제를 제기할 수 있습니다. W3 Total Cache 개발팀이 패치를 내놓기까지 시간이 걸렸지만, 다행히 최악의 사태로 번지지는 않았습니다.

개발자가 플러그인을 업데이트하지 않을 때 대처 방법

워드프레스는 세계에서 가장 인기 있는 웹사이트 제작 플랫폼입니다. 그 인기의 큰 이유 중 하나는 플러그인 덕분에 누구나 손쉽게 디자인을 바꾸고 기능을 추가할 수 있기 때문입니다. 많은 워드프레스 플러그인이 개발자의 사이드 프로젝트로 만들어집니다. 취약점이 발생하면 문제를 파악하는 것부터 패치를 개발하는 것까지 많은 시간과 노력이 필요합니다. 본업이 있는 개발자는 즉시 취약점에 대응하지 못할 수 있고, 사이드 프로젝트는 어차피 우선순위가 낮습니다. 그 결과 패치 배포가 늦어지는 것입니다.

개발자가 플러그인을 업데이트하지 않으면 어떻게 해야 할까? 워드프레스 사이트 보호 대처법

워드프레스는 전 세계로 뻗어나간 인터넷 커뮤니티입니다. 코어든 테마나 플러그인 같은 애드온이든, 취약점이 발견되면 소식은 순식간에 퍼집니다. 즉, 취약한 사이트를 끊임없이 노리고 있는 해커들이 몇 시간 안에 대규모 해킹 시도를 감행할 수 있다는 뜻입니다. 따라서 플러그인 취약점이 발견됐는데 개발자가 아직 업데이트를 배포하지 않았다면, 사이트를 보호하기 위한 조치를 즉시 취하는 것이 중요합니다. 이런 상황에 처했을 때 실천할 수 있는 방법은 다음과 같습니다.

  • 플러그인 비활성화: 취약점을 수정하는 업데이트가 배포될 때까지 해당 플러그인을 비활성화하세요.
  • 지원 포럼에 불만 제기: 유료(프리미엄) 플러그인이 아니라면 wordpress.org 지원 포럼에 문제를 남기세요. 충분한 불만이 쌓이면 개발자가 빨리 패치를 내놓을 가능성이 높아집니다.
  • 개발자에게 직접 연락: 보통 취약점 발견 후 48시간 이내에 업데이트가 나오지만, 그보다 오래 걸린다면 개발자에게 직접 연락해 문제를 알리세요. 이때 취약점 정보를 접한 출처를 함께 밝히면 좋습니다. 플러그인 공식 웹사이트에는 '문의하기' 페이지나 이메일 주소가 마련되어 있을 것입니다. 메일을 보내세요.
  • 대체 플러그인 사용: 그동안 사이트 기능이 멈추지 않도록 대체 플러그인을 활용하세요. 플러그인이 작동을 멈출 경우를 대비한 플랜 B를 항상 준비해두는 것이 좋습니다.

방치된 플러그인의 위험성

앞서 언급했듯이 워드프레스 플러그인 저장소에는 취미나 사이드 프로젝트로 만들어진 플러그인이 많습니다. 무료 제품을 만드는 개발자는 언제든 제품을 포기할 수 있습니다. 그래서 많은 보안 전문가들은 커뮤니티에서 명성과 신뢰를 쌓은 개발자가 만든 프리미엄 플러그인만 사용할 것을 권장합니다. 무료로 플러그인이나 테마를 만드는 개발자는 개선과 유지보수에 시간을 덜 쏟을 수밖에 없습니다. 본업으로 생계를 꾸리는 개발자 입장에서는 금전적 이득이 없는 제품에 시간을 투자하는 것이 비합리적일 수 있기 때문입니다.

전문가가 만들었든 아마추어가 만들었든 워드프레스 플러그인에는 언제든 취약점이 생길 수 있습니다. 방치된 테마나 플러그인을 계속 사용하면 유지보수도, 업데이트도 이루어지지 않습니다. 오류가 발생해도 이미 개발팀이 떠난 뒤라 지원을 받을 수 없습니다. 결국 사용자인 여러분이 곤경에 처하게 되죠. 대체 플러그인이나 테마로 갈아타려면 다시 시간과 노력을 들여야 하지만, 그것이 유일한 현실적인 선택입니다. 좋은 웹사이트 보안 습관은 플러그인 선택 시 몇 가지 원칙을 따르라고 권합니다. 핵심 기준을 정리하면 다음과 같습니다.

  • 유명 개발자가 만든 플러그인 선택: 개발자가 방치한 플러그인을 쓰게 되는 상황을 피하려면 평판 좋은 개발자의 제품을 고르세요.
  • 정기적으로 업데이트되는지 확인: 꾸준한 업데이트는 해커가 악용할 수 있는 취약점을 개발자가 수정하고 있다는 신호입니다. 워드프레스 저장소에서 마지막 업데이트 날짜를 확인하세요.
개발자가 플러그인을 업데이트하지 않으면 어떻게 해야 할까? 워드프레스 사이트 보호 대처법
글을 작성하는 시점 기준, W3 Total Cache의 마지막 업데이트는 3개월 전이었습니다.
  • 무료 대신 프리미엄 플러그인 사용: 무료 버전이 있다면 기본 기능 테스트 용도로 활용하되, 프리미엄 버전으로 업그레이드하는 것을 권장합니다. 앞서 말했듯 무료 플러그인은 언제든 방치될 수 있고, 중요한 업데이트가 너무 늦게 나올 수도 있습니다.

개발자가 플러그인을 업데이트하지 않을 때 취해야 할 행동 지침으로 이 글이 도움이 되기를 바랍니다. 읽어주셔서 감사하며, 궁금한 점이 있다면 언제든 문의해주세요.