포럼

39942f54e062086cbfd2370d6656d04c.png

 

위의 도표를 보면 PHP 5.3은 작년 8월부터 지원이 중단된 것이 맞습니다. 지원이 중단된다는 것은 PHP 개발팀에서 버그수정 및 보안패치 제공이 중단된다는 뜻이죠. 단지 이것만 보면 당장이라도 PHP 5.3을 사용하면 해킹당할 것 같은 느낌이 들죠?

 

그러나 오픈소스 프로젝트의 "지원 중단"이라는 것은 생각보다 복잡한 개념입니다. 여전히 PHP 5.3을 사용하는 웹호스팅 때문에 불안하시다면, 이 글을 꼼꼼히 읽으셔서 더이상 불필요한 불안감에 시달리지 않으시기 바랍니다.

 

우리는 흔히 "지원 중단"이라고 하면 작년 이맘때쯤 윈도우 XP의 지원이 중단되었을 때의 패닉상황을 떠올립니다. 그러나 윈도우 XP는 상용 소프트웨어였습니다. 오픈소스가 아니었죠. 버그나 보안 취약점은 누구나 찾을 수 있지만, 그걸 패치할 수 있는 회사는 MS뿐입니다. MS 이외의 회사나 개인이 윈도우 XP를 패치하겠다고 나선다면 저작권법에 저촉되는 것은 물론이고... 소스도 없이 어떻게 패치를 했다는 건지, 오히려 바이러스를 넣은 게 아닌지 의심할 수도 있죠.

 

(게다가 MS에서는 윈도우 7~8.1을 더 팔기 위해 XP의 위험을 과장해서 광고했어요. 그래 놓고는 정작 심각한 취약점이 발견되자 지원 중단을 잠깐 중단하고 서둘러 패치를 배포했음 ㅋㅋ)

 

PHP와 같은 오픈소스 프로젝트의 "지원 중단"은 다릅니다. 소스도 공개되어 있고 누구든지 변경하여 재배포할 권리가 있기 때문에, 원래 개발자들이 더이상 패치를 해주지 않겠다고 선언하더라도 다른 사람이 패치하여 재배포하면 그만입니다.

 

PHP 5.3 지원은 2020년까지!

 

현재 제가 알기로 PHP 5.3에 대한 "거의 공식적인" 버그수정과 보안패치 지원을 해 주는 곳은 두 군데가 있습니다.

 

1. 레드햇 (레드햇 리눅스 개발사, 무료버전으로 CentOS가 있음)

2. 캐노니컬 (우분투 리눅스 개발사)

 

제가 관리하는 서버 중에 우분투 12.04를 사용하는 것이 하나 있습니다. 기본으로 설치된 PHP 버전은 5.3.10입니다. 엄청 오래된 버전이죠? 5.3.11~5.3.29 버전에서 고쳐진 보안 취약점이 한두 개가 아닌데, 당장이라도 해킹당할 것 같죠? 천만의 말씀입니다. 변경 내역을 보면 5.3.11~5.3.29 버전에 포함된 보안패치를 모두 backport하여 적용한 것은 물론, 지난 8월 공식적인 지원 중단 후에도 네 차례에 걸쳐 13개의 보안 취약점을 패치한 것을 알 수 있습니다. 요 며칠 전에도 보안패치가 나온 것 같네요.

 

우분투 12.04는 2017년 4월까지 지원되는 OS입니다. 그 때까지는 기본으로 포함된 PHP 버전에 대해 자체적으로 보안패치를 제공하기로 약속이 되어 있습니다. 그래서 저도 당분간은 이 서버를 업그레이드할 계획이 없습니다. (다른 서버들은 우분투 14.04 = PHP 5.5.9를 사용합니다 ^^)

 

레드햇에서 개발한 소스를 그대로 사용하는 CentOS 리눅스 배포판도 마찬가지입니다. 레드햇은 최소 10년간 버그 수정과 보안패치를 책임져 주는 것으로 유명하죠. PHP 5.3.3을 기본으로 제공하는 CentOS 6.x 버전은 2020년 11월까지 지원될 예정입니다. 그 때까지는 별 문제 없이 PHP 5.3.3을 쓸 수 있다는 뜻이죠. 최신 버전의 성능 향상이나 다양한 기능을 활용할 수는 없겠지만, 최소한 보안에 대한 걱정은 하지 않아도 됩니다.

 

게다가 이 모든 것들이 다 오픈소스이기 때문에, 꼭 우분투나 CentOS를 사용하지 않더라도 거기서 배포하는 보안패치를 직접 적용하여 관리할 수 있습니다. PHP 5.3.29라고 다 똑같은 5.3.29가 아닙니다. 지원이 중단된 공식 버전을 그대로 사용하는 서버도 있고, 별도로 패치를 적용한 서버도 있어요. 버전 번호만 봐서는 구분하기가 힘듭니다.

 

(버전 번호를 그대로 유지하는 이유는 안정성과 신뢰성을 위해서입니다. 다들 제멋대로 패치를 적용하고 "나는 5.3.30, 너는 5.3.31" 이렇게 해버리면 혼란스럽잖아요.)

 

왜 이런 현상이 발생하나?

 

공식 지원은 끊겼는데 다른 회사에서 몇 년간 계속 버그 수정과 보안패치를 지원해 주는 것은 오픈소스 생태계에서는 흔한 일입니다. 상용 소프트웨어처럼 저작권이나 사용권 계약에 묶여서 100% 제작사에만 의지하지 않아도 되기 때문이지요. XE도 예전에 1.4 버전 지원이 끊겼을 때 몇몇 분들이 Xzet이라는 이름으로 한동안 보안패치 지원을 계속해 주신 일이 있어요.

 

개발자들은 가능하면 많은 사용자들이 최신 버전을 써주기를 원합니다. 많은 노력을 기울여서 새 버전을 개발했는데 여전히 대부분의 사람들은 예전 버전을 쓰고 있다면 허탈하잖아요. 상당 부분이 자원봉사로 이루어지는 오픈소스의 특성상, 오래된 버전을 몇 년이고 계속 지원해 줄 여력이 되지 않는다는 점도 이해해 주어야겠고요.

 

반면, 레드햇이나 캐노니컬처럼 대규모 고객들을 유치하고 싶어하는 회사들은 안정성을 가장 중요하게 여기는 대규모 고객들의 입맛에 맞춰줄 필요가 있습니다. "PHP 지원됩니까?" "네, 지금은 지원되는데 내년에 공식적인 지원이 끊기면 저희도 어쩔 수 없어요." 이래갖고 어떻게 수십억, 수백억원짜리 고객을 유치할 수 있겠어요? 그래서 이런 회사들은 공식적인 지원이 끊기든 말든 자기네가 알아서 버그를 수정하고 보안패치를 작성합니다. 대규모 고객이 아닌 일반 사용자들도 덩달아 그 덕을 보는 거고요.

 

빠른 변화를 추구하는 개발자 커뮤니티와 실용성을 추구하는 기업들이 함께 있기 때문에 오픈소스는 변화와 안정 사이에서 항상 절묘한 균형을 유지할 수 있습니다. 어느 한 쪽만 있다면 난리가 나겠죠.

 

그렇다면 웹호스팅은?

 

PHP 버전보다는 얼마나 꼬박꼬박 보안패치가 이루어지고 있느냐가 더 중요합니다. 아무리 PHP 5.5, 5.6 버전이 설치되어 있더라도 보안패치가 몇 달씩 밀렸다면, 차라리 최근에 패치된 PHP 5.3보다 못하거든요.

 

웹호스팅사 입장에서도 당장 5.3을 벗어나기 어려운 이유가 있습니다. register_globals, magic_quotes_gpc 등 오래된 기능들이 PHP 5.4에서 한꺼번에 정리해고당하는 바람에, 많은 고객이 서버를 공유하는 웹호스팅 환경에서 5.4 이상 버전을 사용하려면 상당히 많은 변화가 필요하거든요. 최신 버전을 원하는 고객들을 위해 서버를 별도로 운영해야 하는데, 최신 버전을 원하는 고객 수가 충분하지 않다면 서버 한 대를 채울 수 없어서 오히려 손해를 보겠죠.

 

만약 웹호스팅사가 아직도 PHP 5.2 이하 버전을 쓰고 있다면 벌떼같이 달려들어서 업그레이드를 요구하세요. 가능하면 5.5 이상으로 업그레이드해 달라고 요청해 보세요. 그러나 5.3에서 더 업그레이드하기 어렵다고 하면 그냥 두세요. 국내외 대부분의 웹호스팅 업체들은 CentOS를 사용합니다. 2020년까지는 보안 걱정 없다는 얘기죠. 그런데 괜히 보안이 어쩌고 하면서 업그레이드를 요구하면 "뭘 모르는 고객"으로 오해받기 딱 좋습니다.

 

웹호스팅사에 뭔가를 요구하려면 정확한 정보를 바탕으로 요구해야 합니다. 예: "PHP 5.3.29 이후 발견된 보안 취약점도 그때그때 패치하고 계신가요? 패치가 곤란하다면 해당 취약점을 이용한 해킹을 차단하는 별도의 조치(예: 어플리케이션 방화벽)라도 하고 계시겠지요?"

 

만약 여기에도 신통찮은 대답이 나온다면 다른 곳으로 옮기세요. 최신 버전의 기능을 쓰고 싶다면 옮기세요. 그러나 단지 PHP 5.3이라는 이유만으로 보안 취약점이 있는 것은 아니니까 안심하세요.

 

 

글쓴이 제목 최종 글
정찬명 XE 공식 사이트 개편 인사. [6] 2011.01.19 by 현원
misol 이 게시판.. 코드 어디가 안닫히거나 한 것 같습니다. [3] 2011.01.19 by XE Developers
디제이쿠 검색 기능 강화를 요청 드립니다.. [2] 2011.01.20 by sejin7940
토치송 두 gif 파일들 버그가 있네요  
zero 소오강호 사용자 관련.  
백성찬 스마트 폰 사용자 중 언어를 한국어, 영어를 제외한 다른 언어를 사용하시는 분 테스트 부탁합니다. [11] 2011.01.23 by 백성찬
sejin7940 XE에 바라는 카테고리(분류) 기능의 추가 사항입니다 ^^;  
라르게덴 XE 대문에 xe팁 대신 개발자포럼을 다는건 어떤가요? [1] 2011.01.23 by ㅇㅎㅇㅀㅇㅀ
pjb7687 Admin Page에서 항목을 Submit했을 때 언어가 바뀌는 문제.. [1] 2011.01.23 by ㅇㅎㅇㅀㅇㅀ
백성찬 줄바꿈 문제 [7] 2011.01.23 by ㅇㅎㅇㅀㅇㅀ
ForHanbi 템플릿 문법 이상합니다. 문제점 좀 봐주세요. [1] 2011.01.23 by ㅇㅎㅇㅀㅇㅀ
SMaker 정말 에디터 스킨 설정 관련해서 뜯어고치고 싶네요  
포토올/wow XE에 몇가지 기능 개선 건의드립니다. [1] 2011.01.23 by ㅇㅎㅇㅀㅇㅀ
시니시즘 한가지 건의드리고 싶습니다  
백성찬 r8032 부터 수정 된 db 관련 궁금증 [2] 2011.01.23 by ㅇㅎㅇㅀㅇㅀ
zero 개발 참여에 대해서.. [4] 2011.01.23 by ㅇㅎㅇㅀㅇㅀ
백성찬 r8032 관련 [5] 2011.01.23 by ㅇㅎㅇㅀㅇㅀ
fsfsdas 레이아웃의 info.xml을 전면 재작성 도중 궁금증 [5] 2011.01.24 by Hammer
SMaker 쿼리 실행 실패 시 정확한 오류를 알려주었으면 좋겠네요.  
fsfsdas r8046 XE 설치에러 [2] 2011.01.25 by fsfsdas