학원 홈페이지도 해킹 위험이?
[질문]
저희는 5년 전에 외주 맡겨서 만든 작은 학원 홈페이지와 원생관리프로그램이 하나 있는데, 제작자분이 그때 PHP로 만들어주셨다고 하셨거든요.
어제 네이버 뉴스에서 "세계 웹사이트 70%가 공포 PHP" 라는 기사를 봤습니다.
PHP…국내 서버 10대 중 9대, '업데이트 불가" 이런 기사도 있구요.
댓글에 PHP 7버전은 지원 끝났는데도 그대로 쓰는 곳이 많아서 개인정보 다 털릴 수 있다는 얘기도 있고...
평소에는 별 문제 없이 잘 쓰고 있었는데, 뉴스 보니까 갑자기 너무 불안해졌습니다.
궁금한 게 몇 가지 있습니다.
1.PHP로 만든 사이트는 원래 해킹에 더 취약한가요? 왜 뉴스에서 자꾸 PHP가 문제라고 하는 건가요?
2.저희 같은 영세한 곳은 제작자랑 연락도 끊겼는데, 그냥 두면 정말 위험한 건가요? 개인정보는 학생들 이름, 전화번호 정도 있습니다.
3.요즘은 PHP 안 쓰고 다른 걸로 만든다던데, 새로 만들어야 하는 건지 아니면 업데이트 같은 걸 하면 되는 건지...
4. 문제가 있으면, 해결책이 있다는데.. 서버에 업데이트를 하면해결이 될까요?
전문가 아니어도 쉽게 설명해주시면 정말 감사하겠습니다. 뉴스 보니까 랜섬웨어 걸리면 돈도 뜯긴다던데 너무 무서워서요.
혹시 제 사이트가 안전한지 확인하는 간단한 방법이라도 있을까요?
[답변]
안녕하세요. IT전문 컨설턴트 입니다.
웹사이트를 구축하는 방법은 다양합니다.
그중에서 3세대 개발언어로 많은 분들이 사용하는 PHP 언어가 최근 보안 문제와 관련해 주목받고 있습니다. PHP는 주로 오픈소스를 기반으로 한 개발환경에서 많이 사용되며, 솔루션 시장에서도 널리 활용되고 있습니다. 일반적인 개발환경을 구성하는 데 필요한 비용이 저렴하거나 거의 들지 않는다는 점에서 개발비용을 절감할 수 있다는 장점이 있습니다.
또한 소스코드가 공개된 경우가 많아 기존 코드를 응용해 비교적 손쉽게 사이트를 구축할 수 있습니다. 이러한 특성 때문에 프리랜서 개발자들도 많이 사용하는 언어입니다.
다만 문제는 제로데이 어택과 같은 보안 위협이 발생했을 때입니다. 취약점에 대한 대응이 늦어지거나 적절한 보안 조치가 이루어지지 않으면 사이트가 공격에 노출될 수 있습니다.
제로데이 어택은 아직 해결책이나 보안 패치가 마련되지 않은 취약점을 이용한 공격을 의미합니다. 오픈소스 플랫폼의 경우 취약점이 발견되면 해당 소프트웨어의 개발 주체가 패치를 제공해야 하는 경우가 많습니다. 또한 오픈소스를 기반으로 별도 수정이 이루어진 경우에는 기존 패치를 적용하기 어렵거나 추가적인 수정 작업이 필요한 상황도 발생할 수 있습니다.
반면 ASP나 JSP 언어는 주로 상용 개발환경이나 별도의 서버 운영환경을 기반으로 시스템을 구축하는 데 활용됩니다. 예를 들어 MS사의 Windows 서버에서 IIS 웹서비스를 기반으로 작동하는 ASP의 경우, 운영체제인 Windows에서 보안 취약점이 발견되면 MS사의 보안 업데이트를 통해 대응할 수 있습니다.
현재 PHP는 주로 Linux 계열의 운영체제에서 운영되며, 다양한 배포판과 서버 환경이 존재합니다. 각 운영체제와 구성요소의 업데이트가 적절하게 이루어지지 않으면 취약점이 장기간 노출될 수 있습니다. 이 경우 동일한 취약점을 대상으로 한 공격이 반복적으로 발생할 가능성이 있습니다.
이러한 이유로 워드프레스나 그누보드 등 PHP 기반 솔루션은 특정 버전에서 취약점이 발견되면 동일하거나 유사한 구조를 사용하는 사이트도 영향을 받을 수 있습니다.
자, 그럼 궁금해하시는 부분에 대해 하나씩 답변드리겠습니다.
PHP로 구축된 학원 사이트라면 뉴스에서 언급하는 보안 위험에 해당하는지 확인해 볼 필요가 있습니다. 특히 학생들의 개인정보를 취급하는 사이트라면 더욱 세심한 점검이 필요합니다.
1. 왜 뉴스에서 자꾸 PHP가 문제라고 하나요?
- 오픈소스의 구조와 운영환경을 함께 살펴봐야 합니다.
저희가 ASP를 자주 추천하는 이유 중 하나도 개발환경과 운영환경의 차이에 있습니다. 다만 보안 수준은 개발언어만으로 결정되는 것은 아니며, 실제 시스템의 설계와 관리 방식에 따라 달라질 수 있습니다.
1) 오픈소스와 저가 호스팅 환경
PHP와 그누보드는 소스코드를 확인하고 수정할 수 있으며, 이를 기반으로 다양한 사이트를 구축할 수 있습니다. 이러한 개방성은 장점이지만, 취약점이 공개되면 공격자가 이를 분석해 전 세계의 PHP 사이트를 대상으로 자동 공격 도구를 실행할 수 있다는 위험도 있습니다.
반면 저희가 주로 추천하는 방식은 컴포넌트나 컴파일 기반의 언어를 활용하며, 서버 구조와 접근 권한을 체계적으로 설계하는 방식입니다. 이러한 환경에서는 구성에 따라 불특정 다수를 대상으로 하는 자동 공격에 대한 노출을 줄일 수 있습니다.
2) 구버전이 장기간 방치되는 문제
PHP 7.4는 2022년에 보안 지원이 종료되어 더 이상 공식 보안 패치를 제공받을 수 없습니다. 하지만 기존 사이트와의 호환성 문제로 인해 구버전을 계속 사용하는 사례가 있습니다.
예를 들어 호스팅 업체에서 PHP 버전을 올리면 기존 그누보드나 별도로 수정한 소스코드가 정상적으로 작동하지 않을 수 있습니다. 이 때문에 호스팅 업체와 제작자가 업데이트를 미루는 상황이 발생하기도 합니다. 이러한 문제가 누적되면 보안 업데이트가 필요한 상황에서도 대응하지 못하게 됩니다.
3) 그누보드 구조와 유지보수의 한계
그누보드는 비교적 손쉽게 웹사이트를 구축할 수 있다는 장점이 있습니다. 다만 오래된 버전을 사용하거나 별도의 보안 조치 없이 운영하면 취약점에 노출될 수 있습니다.
특히 파일 업로드 기능의 보안 설정이 미흡하면 악성 파일이 업로드되거나 웹쉘을 통해 서버에 접근하는 문제가 발생할 수 있습니다. 저희가 컨설팅 과정에서 PHP 사이트를 점검하다 보면 `/data/` 폴더 등에서 악성코드가 여러 개 발견되는 경우도 있습니다.
2. 그냥 두면 위험한가요? 특히 학생 정보가 있다면 점검이 필요합니다.
사이트 규모가 작다고 해서 보안 위험까지 작은 것은 아닙니다. 오히려 보안 관리가 충분히 이루어지지 않는 소규모 사이트도 공격 대상이 될 수 있습니다.
학원 사이트에는 학생 이름과 전화번호 등 개인정보가 저장되어 있을 수 있습니다. 따라서 개인정보가 어떤 방식으로 저장되는지, 접근 권한은 적절하게 관리되고 있는지 확인해야 합니다.
PHP와 MySQL을 사용하는 구형 그누보드 사이트라고 해서 모든 개인정보가 평문으로 저장되어 있다고 단정할 수는 없습니다. 다만 암호화와 접근 통제 등 필요한 보안 조치가 적용되어 있지 않다면 개인정보 유출 위험이 커질 수 있습니다.
실제로 개인정보 유출 사고가 발생하면 개인정보보호법에 따른 책임과 과태료 등의 문제가 발생할 수 있으며, 학부모 민원으로 이어질 가능성도 있습니다.
특히 제작자와 연락이 끊긴 지 5년 된 사이트라면 현재 보안 업데이트가 제대로 이루어지고 있는지, 악성코드 감염 이력은 없는지 확인하는 것이 좋습니다. 이미 악성코드에 감염되어 스팸 발송 등에 악용되고 있을 가능성도 배제할 수 없습니다.
3. 업데이트하면 되나요? 새로 만들어야 하나요?
여기서 가장 중요한 부분은 현재 사이트의 상태를 먼저 확인하는 것입니다.
서버의 PHP 버전만 올린다고 모든 보안 문제가 해결되는 것은 아닙니다. PHP는 버전이 변경되면서 일부 함수나 기능의 호환성 문제가 발생할 수 있습니다. 예를 들어 PHP 7.4에서 8.2로 변경할 경우, 구버전 그누보드나 별도로 수정한 소스코드가 정상적으로 작동하지 않을 수 있습니다.
이 때문에 업데이트를 진행하기 전에 현재 사용 중인 PHP 버전과 그누보드 버전, 별도 수정 내역 등을 함께 확인해야 합니다.
저희와 같은 전문가의 입장에서 보면, 기존 소스코드의 상태가 좋지 않거나 보안 취약점이 누적되어 있다면 부분적인 업데이트보다는 재구축을 검토하는 것이 더 적절할 수 있습니다.
PHP 패치와 맞춤제작, 무엇이 더 중요할까요?
보안 패치는 확인된 취약점을 해결하는 중요한 과정입니다. 다만 새로운 취약점이 발견될 수 있으므로 한 번의 패치만으로 보안 문제가 모두 해결되는 것은 아닙니다.
따라서 근본적인 해결을 위해서는 현재 사이트의 운영 목적과 구조를 점검하고, 필요한 보안 조치와 유지보수 체계를 마련해야 합니다.
저희가 학원과 같은 곳을 컨설팅할 때 맞춤제작을 검토하는 이유도 여기에 있습니다.
- 보안 설계: 학생 전화번호와 생년월일 등 개인정보를 적절한 방식으로 암호화해 저장하고, 접근 권한을 관리합니다. DB가 유출되더라도 암호화가 적절하게 적용되어 있다면 정보가 그대로 노출되는 위험을 줄일 수 있습니다.
- 권한 분리: 관리자 페이지의 접근을 제한하고, 필요에 따라 IP 제한과 2차 인증 등을 적용해 비인가 접근을 방지합니다.
- 유지보수 책임: 제작 이후에도 소스코드와 보안 업데이트를 지속적으로 관리할 수 있도록 책임과 지원 범위를 명확하게 정합니다. 이를 통해 제작자와 연락이 끊기거나 수정이 어려워지는 문제를 예방할 수 있습니다.
4. 현실적인 해결책, 이렇게 진행하세요.
첫째, 호스팅 업체에 현재 운영환경을 확인하세요.
현재 PHP 버전과 운영체제, 주요 구성요소의 업데이트 상태를 확인하고, 최근 3개월간 웹쉘이나 악성코드 탐지 이력이 있는지도 문의해 보시기 바랍니다.
둘째, 백업 후 별도 환경에서 점검하세요.
실제 운영 중인 서버에서 바로 업데이트를 진행하기보다는 먼저 파일과 DB를 백업하고, 별도의 테스트 환경에서 호환성과 보안 상태를 확인하는 것이 좋습니다.
셋째, 필요하다면 재구축을 검토하세요.
사이트를 5년 이상 사용했다면 단순히 기존 환경을 유지하는 것만이 아니라, 앞으로도 안정적으로 운영할 수 있는 구조인지 살펴볼 필요가 있습니다.
학원 규모라면 처음부터 거창한 시스템을 구축할 필요는 없습니다. 학생관리, 문자발송, 상담관리 등 필요한 기능을 중심으로 보안과 유지보수를 고려해 맞춤제작하는 방법도 있습니다. 다만 실제 비용은 필요한 기능과 개발 범위에 따라 달라집니다.
중요한 것은 개발언어 자체보다 보안 관리와 유지보수 체계입니다.
특히 웹을 기반으로 하는 비즈니스는 시장 변화에 빠르게 대응하는 것이 중요합니다. 시장은 지속적으로 변화하고 있으며, 새로운 기술과 보안 요구사항도 꾸준히 반영해야 합니다.
PHP를 활용해 구축했다는 사실만으로 제작업체가 전문적이지 않다고 단정할 수는 없습니다. 다만 오픈소스나 빌더를 기반으로 구축한 사이트라면 소스코드의 안정성, 보안 업데이트 가능 여부, 향후 수정 및 유지보수 체계를 확인하는 것이 중요합니다.
제작자와 연락이 되지 않거나 기존 소스코드를 수정하기 어려운 상황이 발생한다면 사이트 운영에도 문제가 생길 수 있습니다.
웹사이트는 구축하는 것만으로 끝나는 것이 아닙니다. 구축 이후에도 유지보수를 지속하고, 시장 변화와 보안 문제에 적절하게 대응할 수 있어야 합니다. 이러한 점에서 전문가의 도움을 받아 운영환경을 점검하고 장기적인 관리 계획을 세우는 것이 중요합니다.
[IT 전문 컨설턴트의 생각]
개인정보를 다루거나 회사의 중요 정보를 취급하는 시스템을 운영할 때는 개발언어와 오픈소스의 특성뿐 아니라, 보안 설계와 운영환경, 유지보수 체계를 종합적으로 고려해야 합니다.
PHP나 오픈소스를 활용했다는 이유만으로 보안에 취약하다고 단정할 수는 없습니다. 반대로 어떤 개발언어를 사용하더라도 보안 관리가 제대로 이루어지지 않으면 문제가 발생할 수 있습니다.
따라서 홈페이지를 구축할 때는 단순히 저렴한 가격만을 기준으로 삼기보다, 현재 상황과 운영 목적에 적합한 개발방법을 선택하는 것이 좋습니다. IT 전문 컨설턴트의 도움을 받는다면 이러한 요소를 종합적으로 검토하고 보다 효율적인 구축 및 운영 전략을 수립할 수 있을 것입니다.







