안녕하세요 이번 PHP 보안 취약점 관련하여 문의드립니다.
하나의 서버에 몇백개의 사이트들이 존재하는 상황에서 PHP 버전 업그레이드는 어떻게 진행하는게 좋을까요?
문제가 되는 서버는 PHP 5.4.16, 그누보드 버전은 5.4.3입니다.
기존 소스를 PHP 8.4 그대로 이전하면 호환 이슈로 Fatal/Parse/Warning과 같은 오류가 계속 발생하고, 최신 그누보드를 설치 후 기존 소스를 이전하는 방법도 작업범위가 매우 방대한 것으로 보이는데 현실적으로 어떤 다른 방법이 있을지 문의드려봅니다!
감사합니다!
하나의 서버에 몇백개의 사이트들이 존재하는 상황에서 PHP 버전 업그레이드는 어떻게 진행하는게 좋을까요?
문제가 되는 서버는 PHP 5.4.16, 그누보드 버전은 5.4.3입니다.
기존 소스를 PHP 8.4 그대로 이전하면 호환 이슈로 Fatal/Parse/Warning과 같은 오류가 계속 발생하고, 최신 그누보드를 설치 후 기존 소스를 이전하는 방법도 작업범위가 매우 방대한 것으로 보이는데 현실적으로 어떤 다른 방법이 있을지 문의드려봅니다!
감사합니다!
답변 4개 / 댓글 3개
채택된 답변
+20 포인트
이번 보안 취약점을 해결을 하실려면 크게 두가지 (OS리눅스PHP서버 와 php8.2이상의 언어로 개발된 웹사이트)를 해결을 해주셔야합니다.
하여 기존 서버는 그대로 나두시고 진행을 해야합니다.
먼저
os서버 php호환 서버부터 구축하셔야합니다. 이번문제점을 패치 호환이 가능한 리눅스운영(OS)체제로 설치되어잇어야 한다라는뜻입니다. 여기까지는 웹호스팅일경우 해당호스팅 공지및 대시보드 참고하시면됩니다.
만약 단독 독립서버라면 보인해결해주셔야 합니다. 이는 서버관리자가 해결해야한다 라는뜻이며, 이를 시행할수없다고한다면 IDC서버관리자 상담하시기 바랍니다.
그리고 웹서버 ,디비서버 php8.2이상 언어모듈 등 호환라이브러리 등 설치 및 환경설정 되어있어야 합니다.
이렇게 서버가 준비되어잇는 상태라면
기존서버에서 개발된 웹사이트 및 데이타베이스 등 모두 백업을 합니다.
이렇게 모두 기본적으로 준비가 되어있는상태라고한다면. 다음 아래 참조하시면됩니다.
문제는 여기서 부터 노가다 작업이 필요합니다.
현제 기존 php버전은 5.4 그누보드로인한 웹개발소스또한 5.4 이므로.
이는 현제 php8.4 수많은 문법으로 사이트는 깨지게 되어잇습니다.
또한 그누보드버전또한 낮은버전을 가지고있기때문에 이또한 최신버전으로 업데이트 해야 하겟다라고 생각하시고 하나씩 문제점을 해결을 가면서 하나씩 꼼꼼하게 오류 패치가면서 같이 커스텀마이징 해주셔야합니다.
만약 그누코어로 작업된것이 아니라면 즉 테마로만 개발된 웹사이트라면 시간은 단축될수잇습니다.
이럴땐 최신보드로 설치하시고 해당 테마를 업로드 하여 테마쪽만 마이징해주시면됩니다.
하다보면 웹사이트를 다시 리뉴얼 하는게 낮다라고 생각할정도록 스트레스 가 생길수잇으니 차분히 생각을 하시고 진행하시기 바랍니다.
하여 기존 서버는 그대로 나두시고 진행을 해야합니다.
먼저
os서버 php호환 서버부터 구축하셔야합니다. 이번문제점을 패치 호환이 가능한 리눅스운영(OS)체제로 설치되어잇어야 한다라는뜻입니다. 여기까지는 웹호스팅일경우 해당호스팅 공지및 대시보드 참고하시면됩니다.
만약 단독 독립서버라면 보인해결해주셔야 합니다. 이는 서버관리자가 해결해야한다 라는뜻이며, 이를 시행할수없다고한다면 IDC서버관리자 상담하시기 바랍니다.
그리고 웹서버 ,디비서버 php8.2이상 언어모듈 등 호환라이브러리 등 설치 및 환경설정 되어있어야 합니다.
이렇게 서버가 준비되어잇는 상태라면
기존서버에서 개발된 웹사이트 및 데이타베이스 등 모두 백업을 합니다.
이렇게 모두 기본적으로 준비가 되어있는상태라고한다면. 다음 아래 참조하시면됩니다.
문제는 여기서 부터 노가다 작업이 필요합니다.
현제 기존 php버전은 5.4 그누보드로인한 웹개발소스또한 5.4 이므로.
이는 현제 php8.4 수많은 문법으로 사이트는 깨지게 되어잇습니다.
또한 그누보드버전또한 낮은버전을 가지고있기때문에 이또한 최신버전으로 업데이트 해야 하겟다라고 생각하시고 하나씩 문제점을 해결을 가면서 하나씩 꼼꼼하게 오류 패치가면서 같이 커스텀마이징 해주셔야합니다.
만약 그누코어로 작업된것이 아니라면 즉 테마로만 개발된 웹사이트라면 시간은 단축될수잇습니다.
이럴땐 최신보드로 설치하시고 해당 테마를 업로드 하여 테마쪽만 마이징해주시면됩니다.
하다보면 웹사이트를 다시 리뉴얼 하는게 낮다라고 생각할정도록 스트레스 가 생길수잇으니 차분히 생각을 하시고 진행하시기 바랍니다.
AI 보조로 공식 문서를 확인했습니다. 서버에서 테스트한 확정 해법이 아니라, 수백 사이트를 나눠 이전하기 위한 진단 순서입니다.
1) 도메인별 코어 수정·테마/스킨·PHP 확장·크론의 PHP 버전을 표로 만들고 같은 구성끼리 묶으세요. 대표 사이트 복제본에서 공통 오류를 먼저 고쳐 같은 구성에 재사용하면 중복 작업을 줄일 수 있습니다.
2) 보안 수정된 목표 PHP 8.4로 파일별 php -l 검사 후 로그인·글쓰기·업로드·결제를 시험하세요. 문법 검사만으로 호환성은 보장되지 않습니다. mysql 확장(7.0), each()/create_function()(8.0) 제거 등 중간 버전 변경도 누적 확인해야 합니다.
3) FPM 환경이면 대상 PHP 서비스·풀·소켓을 분리하고, 검증한 도메인만 새 소켓으로 전환하는 방식을 검토하세요. 전환 직전 웹·배치 쓰기를 멈추고 DB·파일의 같은 시점 백업과 복구를 확인해야 합니다. 전환 후 새 쓰기까지 보존할 복구 절차가 필요합니다. 취약한 구버전을 보호 없이 재공개하는 롤백은 피하세요.
SIR 공지도 패치가 불명인 환경의 외부 PHP 요청 제한을 안내합니다.
https://sir.kr/boards/co_notice/1525
https://www.php.net/manual/en/migration70.removed-exts-sapis.php
https://www.php.net/manual/en/migration80.incompatible.php
https://www.php.net/manual/en/install.fpm.configuration.php
1) 도메인별 코어 수정·테마/스킨·PHP 확장·크론의 PHP 버전을 표로 만들고 같은 구성끼리 묶으세요. 대표 사이트 복제본에서 공통 오류를 먼저 고쳐 같은 구성에 재사용하면 중복 작업을 줄일 수 있습니다.
2) 보안 수정된 목표 PHP 8.4로 파일별 php -l 검사 후 로그인·글쓰기·업로드·결제를 시험하세요. 문법 검사만으로 호환성은 보장되지 않습니다. mysql 확장(7.0), each()/create_function()(8.0) 제거 등 중간 버전 변경도 누적 확인해야 합니다.
3) FPM 환경이면 대상 PHP 서비스·풀·소켓을 분리하고, 검증한 도메인만 새 소켓으로 전환하는 방식을 검토하세요. 전환 직전 웹·배치 쓰기를 멈추고 DB·파일의 같은 시점 백업과 복구를 확인해야 합니다. 전환 후 새 쓰기까지 보존할 복구 절차가 필요합니다. 취약한 구버전을 보호 없이 재공개하는 롤백은 피하세요.
SIR 공지도 패치가 불명인 환경의 외부 PHP 요청 제한을 안내합니다.
https://sir.kr/boards/co_notice/1525
https://www.php.net/manual/en/migration70.removed-exts-sapis.php
https://www.php.net/manual/en/migration80.incompatible.php
https://www.php.net/manual/en/install.fpm.configuration.php
답변을 작성하려면 로그인이 필요합니다.