IT

PHP2Shell 이후 내 홈페이지 PHP 버전 확인법

PHP2Shell 이후 내 홈페이지 PHP 버전 확인법
사진: Negative Space / Pexels

거래처나 세무 담당자 쪽에서 “홈페이지 PHP 업데이트 하셨어요?” 하는 연락을 받고 당황한 사장님이 많습니다. 10월 21일(현지 시각) PHP 개발팀이 로그인 없이도 서버에서 명령이 실행될 수 있는 결함 두 건(CVE-2026-109618, CVE-2026-109619, 둘 다 CVSS 4.0 기준 9.2점)을 고친 보안 릴리스를 내놨고, 국내에서는 KISA가 같은 날 권고문을 올렸습니다. 문제는 그다음입니다. 개발자가 없는 가게·학원·작은 쇼핑몰은 “우리 홈페이지가 PHP를 쓰는지”부터 모릅니다.

해야 할 일은 홈페이지를 어떻게 만들었느냐에 따라 완전히 갈립니다. 임대형 쇼핑몰이면 사장님이 손댈 수 있는 게 거의 없고, 호스팅을 직접 계약했다면 확인할 게 있고, 제작 업체가 서버까지 맡고 있다면 전화 한 통이 전부일 수도 있습니다. 버전 숫자 읽는 법부터 짚고 갈게요.

8.3.36 — 숫자 세 개는 각각 무엇을 뜻하나?

앞에서부터 큰 분류, 가지(branch), 그 가지 안에서의 수정 횟수입니다. PHP 공식 릴리스 절차 문서를 보면 맨 끝 숫자만 올라가는 릴리스는 “버그 수정만” 담고 호환성을 유지하도록 정해져 있습니다. 가운데 숫자가 바뀌는 릴리스는 새 기능이 들어갈 수 있고 내부 호환성이 깨질 수 있습니다.

실무로 옮기면 이렇습니다. 8.3.30에서 8.3.36으로 가는 건 보안 수정만 받는 쪽이라 홈페이지가 깨질 가능성이 낮습니다. 반대로 8.1에서 8.3으로 가는 건 가지를 건너뛰는 일이라, 쓰고 있는 게시판·쇼핑몰 프로그램이 그대로 돌아가는지 미리 확인해야 합니다. 업체가 “버전 올리려면 점검이 필요하다”고 말한다면 대개 뒤쪽 경우입니다.

10월 21일 나온 수정 버전은 가지마다 다릅니다. php.net 뉴스와 지원 버전 표를 겹쳐 보면 이렇게 됩니다.

가지(가운데 숫자)10월 21일 수정 버전보안 지원 종료
8.58.5.122029년 12월 31일
8.48.4.272028년 12월 31일
8.38.3.362027년 12월 31일
8.28.2.352026년 12월 31일
8.1 이하정규 수정판 없음이미 종료

표를 이렇게 붙여 놓으면 함정 하나가 보입니다. 8.2 가지는 이번에 수정 버전이 나왔는데도, php.net 표에 적힌 보안 지원 종료일이 2026년 12월 31일입니다. 두 달 남았죠. 8.1 이하는 지원 버전 표에 아예 없습니다. 이번에는 PHP 보안팀이 7.4·8.0·8.1용 최소 소스 패치를 따로 공개했지만, 이건 사안이 심각해서 예외로 내준 것이고 다음 결함에 같은 보장은 없습니다. 개인적으로는 지금 8.2 가지를 쓰고 있다면 이번 패치로 일을 끝냈다고 보지 말고, 종료일이 오기 전에 상위 가지로 옮기는 일정을 같이 적어 두는 쪽이 낫다고 봅니다.

내 홈페이지는 세 갈래 중 어디인가?

계약서나 매달 빠져나가는 결제 내역을 보면 금방 갈립니다.

  1. 쇼핑몰·홈페이지를 월 이용료 내고 “서비스”로 쓰는 중 → 임대형(빌더). 카페24 쇼핑몰, 아임웹, 식스샵 같은 경우.
  2. “웹호스팅” 상품을 따로 계약했고, 로그인해서 들어가는 호스팅 관리 화면이 있다 → 직접 계약.
  3. 제작 업체에 맡겨 만들고 매달 또는 매년 관리비를 내고 있다 → 업체 관리.

헷갈리기 쉬운 지점이 있습니다. 같은 회사 이름이 보여도 임대형 쇼핑몰과 웹호스팅은 다른 상품입니다. 쇼핑몰은 서비스로 쓰면서 회사 소개용 페이지만 웹호스팅으로 따로 돌리는 경우가 흔하고, 이때는 두 갈래를 모두 해야 합니다.

임대형 쇼핑몰·빌더를 쓰고 있다면

서버가 플랫폼 소유라 PHP 버전을 운영자가 고르거나 들여다볼 수 없습니다. 올려 달라고 요청할 일도, 올릴 방법도 없습니다. 실제로 카페24는 10월 22일 새벽 쇼핑몰 서비스에 패치를 적용했다고 밝혔고, 아임웹도 같은 날 조치 완료를 안내했습니다.

그래서 할 일이 서버가 아니라 계정 쪽으로 옮겨 갑니다.

  1. 쓰는 플랫폼 공지사항에서 조치 완료 안내를 눈으로 확인합니다. 뉴스나 커뮤니티 글이 아니라 그 회사 공지로요.
  2. 관리자 비밀번호를 바꾸고, 2단계 인증을 켤 수 있으면 켭니다.
  3. 10월 20일 이후 관리자 로그인 기록과 직원 계정 목록을 봅니다. 모르는 계정, 안 쓰는 퇴사자 계정이 남아 있지 않은지.
  4. 결제·배송·정산 설정과 외부 연동 키가 손대지 않은 상태인지 확인합니다.

안 해도 되는 일도 적어 둘게요. PHP 버전 올리기, 서버 패치 요청, 별도 보안 업체 계약. 다만 예전에 만들고 잊어버린 사이트가 따로 있다면 그건 아래 2번입니다. KISA 대응 수칙도 “오래된 누리집”을 따로 짚었습니다. 몇 년 전 이벤트 페이지가 제일 자주 빠집니다.

웹호스팅을 직접 계약했다면 버전을 어디서 보나?

관리 화면 메뉴 이름은 업체마다 다릅니다. 공식 도움말에서 확인한 것만 적습니다.

  • 카페24 웹호스팅: 나의 서비스 관리 > 호스팅 관리 > 연장/변경/추가 옵션 > 변경신청
  • 가비아 웹호스팅: 관리콘솔(console.gabia.com)에서 버전 변경 신청 — 공지 기준이며 화면 구성은 바뀔 수 있습니다
  • 닷홈, 호스팅케이알 등 그 밖의 업체: 공식 도움말을 확인하지 못했습니다. 고객센터에 “지금 제 호스팅의 PHP 버전과 이번 패치 적용 여부”를 그대로 물어보세요

순서는 이렇게 잡으면 됩니다.

  1. 업체 공지사항에서 긴급 패치 공지를 찾습니다. 가비아는 10월 22일 0시~3시에 PHP 7.4·8.4·8.5 긴급 패치를, 카페24는 같은 날 오전 11시 30분부터 PHP 7.4·8.1 사용 서비스에 순차 적용한다고 공지했습니다. 둘 다 고객이 따로 신청할 일은 없는 작업이었습니다.
  2. 내 서버에 실제로 적용됐는지 확인합니다. 공지는 전체 작업 계획이고, 내 서버 차례가 지났는지는 별개입니다.
  3. 버전 숫자를 세 자리 전부 받아 적습니다. 메모해 두면 다음에 같은 질문을 받아도 바로 답할 수 있습니다.
  4. 8.1 이하라면 전환 계획을 세웁니다. 단, 백업이 먼저입니다.

4번을 가볍게 보면 안 됩니다. 카페24 공식 도움말은 PHP 버전을 변경하면 그 서버의 모든 자료와 데이터베이스가 삭제된다고 명시하고, 서버에만 올려 둔 백업 파일도 함께 지워진다고 경고합니다. 내 PC나 외장 저장장치로 먼저 내려받으세요. 적용에 최대 30분이 걸리고, 되돌리기는 지원되는 상품에서 48시간 안에만 가능하다고 안내합니다.

제작 업체에는 뭐라고 물어야 하나?

전화나 메일로 이 다섯 가지만 물으면 충분합니다.

  • 우리 홈페이지가 쓰는 PHP 버전을 세 자리로 알려 주세요 (예: 8.3.36)
  • 10월 21일 공개된 수정 버전 이상인가요, 아니면 호스팅사 백포트 패치인가요?
  • 업데이트한 뒤 PHP를 재시작했나요?
  • 10월 20일부터 패치 적용 시점까지 이 서버가 인터넷에 열려 있었나요? 그 기간 접속 기록을 확인했나요?
  • 관리자 비밀번호와 DB 비밀번호를 바꿔야 할까요?

세 번째를 빼지 마세요. KISA 대응 수칙은 업데이트만으로 끝이 아니고 PHP 서비스를 반드시 재시작해야 하며, 홈페이지가 실제로 쓰는 버전이 바뀌었는지까지 확인하라고 적었습니다. 네 번째와 다섯 번째도 같은 수칙에 있는 내용입니다. 패치 전에 노출돼 있던 서버라면 비밀번호와 키를 교체하라고 권고하고 있습니다.

이 답이면 안심, 이 답이면 다시 물어볼 것

안심해도 되는 답에는 숫자와 날짜, 재시작이 함께 들어 있습니다.

  • “8.3.36으로 올리고 22일 오전에 재시작했습니다”
  • “호스팅사 백포트가 적용된 7.4.33p2이고 재시작까지 끝냈습니다. 지원 종료 버전이라 전환은 따로 말씀드릴게요”

다시 물어봐야 하는 답은 이런 모양입니다.

  • “최신 버전이에요”, “저희가 알아서 해 뒀습니다” — 숫자가 없습니다. 무엇이 최신인지 사람마다 다릅니다
  • “PHP 8이라서 괜찮습니다” — 8.2.34도 PHP 8입니다. 가지와 끝 숫자까지 받아야 판단이 됩니다
  • “업데이트했습니다”에서 끝나는 답 — 재시작 여부가 빠졌습니다
  • “서버에서 확인했습니다” — 홈페이지가 실제로 쓰는 버전인지 한 번 더 물어보세요

위에서 7.4.33p2 같은 숫자를 예로 든 이유가 있습니다. 카페24는 10월 22일 공지에서 PHP 8.1.34p2, 7.4.33p2를 적용한다고 밝혔는데, php.net 수정 버전 목록에는 없는 숫자입니다. 공식 지원이 끝난 가지에 호스팅사가 수정 내용만 옮겨 담았기 때문입니다. 이런 답을 받으면 “조치는 됐지만 가지는 낡았다”로 읽으시면 됩니다.

바깥에서 보이는 버전을 주소만으로 확인하기

업체 답을 기다리는 동안 참고로 볼 수 있는 방법이 있습니다. 이 블로그 운영자가 직접 만들어 무료로 공개한 g5check 주소 진단에 홈페이지 주소를 넣으면, 서버가 바깥에 알려 주는 PHP 버전을 보여 줍니다. 설치도 로그인도 필요 없습니다.

결과가 “확인 불가”로 나와도 놀라지 마세요. 버전을 숨겨 둔 서버라는 뜻이고, 숨기는 쪽이 오히려 권장되는 설정입니다. 공격자에게 줄 정보를 줄이는 거니까요. 이때는 관리 화면이나 업체 답변으로 숫자를 확인하면 됩니다.

자주 하는 실수

  • 앞자리만 보고 안심하기. “PHP 8이니 괜찮다”는 근거가 못 됩니다
  • 업체·호스팅사 공지만 보고 끝내기. 공지는 작업 계획이고, 내 서버 적용 여부는 따로 확인해야 합니다
  • 업데이트하고 재시작을 빼먹기
  • 백업 없이 버전 변경 신청을 누르기. 자료와 DB가 지워질 수 있습니다
  • 패치만 하고 비밀번호는 그대로 두기. 노출 기간이 있었다면 교체 대상입니다
  • 진단 결과 “확인 불가”를 사고로 오해하기
  • 지금 안 쓰는 옛 사이트를 빼놓기

오늘 할 수 있는 건 전화 한 통과 메모 한 줄입니다. 우리 홈페이지가 세 갈래 중 어디인지 적고, 버전 세 자리를 받아 적어 두세요. 다음에 누가 또 물어보면 10초면 답이 됩니다.

자주 묻는 질문

호스팅사 공지에 'PHP 8.1.34p2'처럼 뒤에 글자가 붙어 있습니다. php.net 수정 버전 목록에 없는 숫자인데 괜찮은 건가요?
공식 지원이 끝난 가지에 호스팅사가 수정 내용만 옮겨 담은 자체 패치입니다. 이번 결함에 대한 조치는 된 것으로 보면 되지만, php.net 정규 릴리스가 아니라 업체 판단으로 유지되는 버전이라 다음 결함에 같은 속도를 보장받지는 못합니다. 조치 완료와 전환 계획은 따로 생각하세요.
진단 도구에서 '확인 불가'로 나왔습니다. 조치가 안 된 건가요?
아니요. 서버가 버전을 숨기도록 설정돼 있다는 뜻이고, 숨기는 쪽이 권장되는 설정입니다. 숫자는 관리 화면이나 업체 답변으로 확인하면 됩니다.
버전을 올린다면 8.2로 올려도 되나요?
php.net 지원 버전 표에 적힌 8.2 가지의 보안 지원 종료일은 2026년 12월 31일입니다. 지금 비용과 점검 시간을 들인다면 8.3 이상으로 가는 편이 같은 일을 내년에 반복하지 않는 방법입니다.

참고 자료

제도·기준·금액은 바뀔 수 있으니 공식 기관에서 최신 내용을 확인하세요.

🛒 조건별로 이런 타입을 보세요

특정 제품을 추천하지 않습니다. 위 기준으로 판단하신 결과에 맞는 제품 유형을 정리했습니다.

  • 버전 변경 전에 홈페이지 파일과 DB를 서버 밖으로 내려받아 둬야 한다면휴대용 외장 SSD

    카페24 공식 도움말은 서버에만 둔 백업 파일도 버전 변경 때 함께 삭제된다고 안내합니다

    검색어: 외장 SSD

댓글

  • 댓글을 불러오는 중…
← 목록으로