본문으로 건너뛰기
진석개발
저널 목록으로
Web SecurityPHPFree약 24분

VPS·자사 서버의 PHP 사이트는 왜 아직 위험할까

PHP2Shell 수정은 공유 렌탈 서버라면 각사가 끝냈지만, VPS나 자사 서버의 WordPress 사이트는 누군가 손을 쓸 때까지 구멍이 열려 있습니다. 책임의 차이와 업데이트할 때의 함정 세 가지를 설명합니다.

글쓴이 Jeensuk Yang
VPS와 렌탈 서버의 차이를 설명하는 따뜻한기술 양진석 대표 일러스트

PHPFree · 웹 보안 · 위험편 03

웹 보안 · PHP · VPS PHPFree 03
읽는 시간 약 8분 업데이트 2026.10.24 글 양진석 (따뜻한기술 대표)

이런 분께 권합니다

  • 회사 사이트가 VPS나 자사 서버에서 돌아가는 분
  • 제작사가 서버까지 준비해 줘서 구조를 잘 모르는 분
  • PHP를 직접 업데이트해야 하는데 무엇을 조심할지 궁금한 분

이 글에서 알 수 있는 것

  • 공유 렌탈 서버와 VPS에서 '고치는 사람'이 어떻게 다른지
  • 업데이트했다고 생각했는데 끝나지 않은 함정 세 가지
  • 바로 업데이트할 수 없을 때의 임시방편과 그 한계
미소 지으며 이야기를 듣는 양진석 대표
진석 대표의 안내

같은 WordPress인데, 결과가 갈렸습니다.

10월 22일 중에 이미 고쳐진 사이트가 있는가 하면, 지금도 그대로인 사이트가 있습니다. 차이는 사이트가 '공유 렌탈 서버'에 있느냐, 'VPS'에 있느냐 하나입니다. 귀사의 사이트가 어느 쪽인지, VPS라면 무엇을 해야 하는지 설명드리겠습니다.

01Who fixes PHP

같은 WordPress인데, 왜 결과가 갈릴까?

PHP를 고치는 사람이 다르기 때문입니다. 공유 렌탈 서버는 서버 회사가, VPS나 자사 서버는 이용자가 고칩니다.

이번에도 Xserver, Sakura Internet, Lolipop, ConoHa WING 등은 일제히 PHP 수정을 넣었지만,1·2·3·4 Xserver와 Sakura Internet는 VPS는 이용자가 직접 업데이트해야 한다고 명시했습니다.1·2

아파트 = 공유 렌탈 서버 관리 회사가 기초를 고친다 단독주택 = VPS·자사 서버 기초는 직접 고친다

단독주택은 마음대로 고쳐 지을 수 있는 대신, 기초에 금이 가면 직접 고쳐야 합니다.

오른쪽이라면 고칠 사람부터 정하세요. 그림을 가리키며 설명하는 양진석 대표
공유 렌탈 서버VPS·자사 서버
PHP를 고치는 쪽서버 회사이용자(또는 제작사)
이번 수정10/21~22에 각사가 완료누군가 작업할 때까지 미대응
옛 PHP 버전각사가 자체적으로 수정을 넣은 사례도 있음직접 대응해야 함
아파트의 기초는 관리 회사가 고치지만, 단독주택의 기초는 집주인이 고칩니다.

진석 대표의 정리VPS 사이트는 "누가 할지"를 정해 두지 않았다면, 아무도 하지 않았을 수 있습니다.

02By the numbers

옛 PHP는 얼마나 많이 쓰이고 있을까?

생각보다 많습니다. 해외 조사 회사 CybelAngel의 보고를 보면 "최신 PHP로 올리면 된다"는 말이 많은 사이트에 그리 간단하지 않다는 것을 알 수 있습니다.5

59%버전이 확인된 공개 PHP 환경 중, 통상적인 수정판이 배포되지 않는 옛 계열의 비율5
35.1%지원이 끝난 PHP를 쓰는 WordPress 사이트의 비율(CybelAngel이 인용한 통계)5
7.4 · 8.0 · 8.1이미 지원이 끝난 버전. 이번에는 이례적으로 최소한의 수정만 공개6

PHP 7.4·8.0·8.1에 공개된 수정은 소스 코드 차분이라 통상적인 수정판 배포가 아니며, 직접 빌드해야 하는 경우도 생깁니다.6 공유 서버라면 서버 회사가 이 작업을 대신해 줬습니다. Lolipop는 PHP 5.3~7.3에 자체 제작한 수정까지 적용했습니다.3

진석 대표의 정리아파트는 관리 회사가 대신 해 준 일을, 단독주택은 직접 하거나 누군가에게 맡겨야 합니다.

03Three traps

업데이트했는데, 왜 끝나지 않았을까?

업데이트를 했다고 생각했는데 실제로는 끝나지 않은 경우가 아주 많습니다. 함정은 세 가지입니다.

함정 1: 'php -v'로 본 번호를 믿어 버린다

서버에서 php -v로 보이는 것은 명령어용 PHP의 버전이라, 홈페이지를 실제로 돌리는 PHP와 다를 수 있습니다. CybelAngel은 실제 웹 요청으로 버전을 확인하라고 권합니다.5 WordPress라면 '도구 → 사이트 상태 → 정보 → 서버'에서 확인합니다.7 반대로 ConoHa WING처럼 번호를 바꾸지 않은 채 수정을 넣어, 수정 후에도 '8.5.11'처럼 예전 번호가 보이는 경우도 있습니다.4

함정 2: 업데이트했는데 재시작하지 않았다

PHP를 업데이트해도 이미 돌아가는 프로그램(PHP-FPM 등의 워커)은 옛것 그대로 돕니다. 업데이트 후에는 PHP-FPM과 웹 서버를 재시작해야 하고,5·8 컨테이너로 운영한다면 새 PHP 이미지로 다시 만들어 배포해야 합니다.9

함정 3: 인터넷에서 주운 '대책 스크립트'를 실행해 버린다

GitHub에는 'php2shell'이라는 이름의 공개 코드가 단숨에 늘었습니다. 한국의 AhnLab은 그중에 출처를 알 수 없는 코드나 악성일 수 있는 '방어 스크립트'가 섞여 있다고 경고했습니다.10

진석 대표의 정리번호 확인, 재시작, 모르는 코드는 실행하지 않기. 이 세 가지만 지켜도 '했는데 안 된' 일은 대부분 막을 수 있습니다.

04If you can't update today

바로 업데이트할 수 없을 때는 어떻게 할까?

임시 설정으로 버틸 수는 있지만, 어디까지나 임시방편입니다.

PHP 공식 발표는 memory_limit 조정, post_max_size 제한, session.upload_progress.enabled=0 같은 임시 설정을 제시했습니다.8 특히 session.upload_progress.enabled는 ini_set()이나 .user.ini로 설정해서는 부족하고, 설정 파일을 고친 뒤 워커를 재시작해야 합니다.11

WAF는 수정을 대신하지 못합니다: Cloudflare 같은 WAF(웹 방화벽)도 도움이 되지만, 수정을 대신할 수는 없다고 Cloudflare 스스로 밝히고 있습니다.12 미국 CISA는 수정할 수 없거나 8.1 이하를 쓰고 있다면 사이트를 일단 오프라인으로 돌리라고까지 권합니다.13

진석 대표의 정리임시 설정은 시간을 버는 것일 뿐입니다. 언제까지, 누가 업데이트할지를 같은 날 정해 두세요.

05What to do

B사형이라면 어떻게 할까?

선택할 수 있는 길은 세 가지입니다.

A. 사내에서 업데이트담당자가 있다면

위의 함정 세 가지를 확인하면서 PHP를 수정판으로 올리고, 워커를 재시작하고, 실제 사이트에서 확인합니다.

B. 제작사에 맡긴다질문 세 개

"수정된 PHP(또는 OS의 수정 패키지)로 올렸나요?", "재시작은 했나요?", "사이트 상태 화면에는 뭐라고 나오나요?"

C. 단독주택을 그만둔다회사 소개 사이트라면

PHP가 없는 구조로 바꾸면 고쳐야 할 기초 자체가 사라집니다.

진석 대표의 정리10페이지 정도의 회사 소개 사이트라면 C를 한 번 검토해 볼 가치가 있다고 저는 생각합니다. 이번 작업은 다음 취약점이 나올 때마다 다시 돌아오기 때문입니다.

FAQ

VPS와 PHP 업데이트에 관해 자주 묻는 질문

VPS도 서버 회사가 PHP를 고쳐 주나요?

아닙니다. Xserver와 Sakura Internet는 VPS는 이용자가 직접 PHP를 업데이트해야 한다고 공지했습니다.

'php -v'에 새 버전이 나오면 끝난 건가요?

아닙니다. 그것은 명령어용 PHP의 버전입니다. 웹에서 실제로 쓰는 버전을 확인하고, PHP-FPM과 웹 서버를 재시작해야 합니다.

WAF만 켜 두면 안전한가요?

아닙니다. WAF는 공격을 줄여 줄 뿐 수정을 대신하지 못합니다. PHP를 수정판으로 올리는 것이 근본 대책입니다.

SOURCES

  1. Xserver 공지(일본어, 2026년 10월 22일) xserver.ne.jp
  2. Sakura Internet 공지(일본어, 2026년 10월 22일) sakura.ad.jp
  3. Lolipop 공지(일본어, 2026년 10월 22일) lolipop.jp
  4. ConoHa WING 공지(일본어, 2026년 10월 22일) conoha.jp
  5. CybelAngel 「2.24M Internet-Facing PHP Hosts, 59% on Versions With No Fix Coming」(2026년 10월 21일) cybelangel.com
  6. @IT(일본어, 2026년 10월 23일) atmarkit.itmedia.co.jp
  7. Rocket Boys(일본어, 2026년 10월 21일) rocket-boys.co.jp
  8. PHP Group 「Security advisory: Critical remote code execution vulnerabilities, update now」(2026년 10월 21일) php.net
  9. Vercel 「PHP security advisory: php2shell」(2026년 10월 21일) vercel.com
  10. AhnLab ASEC 「GitHub php2shell 저장소 분석」(2026년 10월 22일) asec.ahnlab.com
  11. Mado no Mori(일본어, 2026년 10월 22일) forest.watch.impress.co.jp
  12. Cloudflare Blog 「Cloudflare deploys protections against php2shell vulnerability」(2026년 10월 21일) blog.cloudflare.com
  13. CISA 「Critical Vulnerabilities in PHP Require Immediate Patching」(2026년 10월 21일) cisa.gov
PHPFree 위험편

PHP2Shell을 계기로, 중소기업 홈페이지가 알아 둘 위험을 다섯 편으로 정리합니다.

  1. PHP2Shell이란? 중소기업 홈페이지에 무슨 일이 있었나
  2. 패치가 끝났는데 왜 안심할 수 없을까? 세 가지 경우
  3. VPS·자사 서버의 PHP 사이트는 왜 아직 위험할까 (이 글)
  4. 패치 전에 이미 들어왔다면? 공격의 흔적 세 가지
  5. PHP 8.2 지원 종료(12월 31일) 전에 정해 둘 것

다른 글은 따뜻한기술 블로그에서 볼 수 있습니다.

PHPFree 30초 체크 · 무료

단독주택의 기초, 누가 고칠지 정해 두셨나요?

사이트 주소만 넣으면 PHP 사용 여부와 서버 회사의 대응 상황을 바로 알려 드립니다. 해당되지 않는다면 "지금은 옮기지 않아도 됩니다"라고 그대로 알려 드립니다.

무료로 30초 체크하기

결과를 보고 상담이 필요하시면 따뜻한기술에 문의하기

최종 수정 2026년 10월 24일

함께 읽기

PHP 취약점 대처 순서를 설명하는 따뜻한기술 양진석 대표 일러스트
Web Security약 32분

PHP 취약점 대처 가이드: 확인부터 PHP 탈피까지

PHP2Shell 이후 회사 홈페이지가 할 일을 한 장에 정리했습니다. 한국·일본·미국·중국 자료 40건이 공통으로 권한 확인, 업데이트, 임시 조치, 침입 점검의 순서와 PHP를 쓰지 않는 선택까지 설명합니다.

PHP 8.2 지원 종료를 설명하는 따뜻한기술 양진석 대표 일러스트
Web Security약 23분

PHP 8.2 지원 종료(12월 31일) 전에 정해 둘 것

PHP 8.2 지원은 2026년 12월 31일에 끝납니다. 옛 PHP로 해를 넘기는 위험, 최신 PHP로 올릴 때의 함정, 연말까지의 달력과 중소기업이 고를 수 있는 세 가지 길을 정리합니다.