티스토리 뷰
목차
PHP 기반 웹사이트를 운영 중이라면 지금 당장 보안 점검이 필요합니다. 개인정보보호위원회가 공식 경고를 발령할 만큼 PHP 보안 취약점을 노린 공격이 급증하고 있으며, 방치하면 개인정보 유출로 인한 과징금과 법적 책임까지 질 수 있습니다. 지금 바로 5가지 핵심 보호조치를 확인하고 내 사이트를 지키세요.
PHP 보안 취약점 핵심 위협 총정리
개인정보보호위원회(개인정보위)는 PHP의 원격 코드 실행(RCE) 취약점, SQL 인젝션, 파일 업로드 취약점 등이 실제 해킹 공격에 악용되고 있다고 경고했습니다. 특히 PHP 8.1 미만 구버전을 사용하는 서버는 이미 패치가 중단된 상태로 공격 노출 위험이 매우 높으며, 국내 중소기업·소상공인 웹사이트 중 상당수가 여전히 구버전을 사용 중인 것으로 파악됩니다. 개인정보가 저장된 데이터베이스와 연동된 PHP 사이트는 해킹 한 번으로 수천~수만 건의 회원정보가 유출될 수 있습니다.
PHP 보안 보호조치 단계별 방법
1단계: PHP 버전 확인 및 업그레이드
서버 터미널에서 php -v 명령어를 입력해 현재 버전을 확인하세요. PHP 7.4 이하는 공식 보안 지원이 종료된 상태이며, 최소 PHP 8.1 이상으로 업그레이드해야 합니다. 현재 PHP 공식 지원 버전은 8.2(보안 지원) 및 8.3(활성 지원)이며, php.net 공식 사이트에서 최신 릴리즈를 확인할 수 있습니다.
2단계: php.ini 보안 설정 강화
php.ini 파일에서 반드시 다음 항목을 점검하세요. expose_php = Off(버전 정보 숨김), display_errors = Off(에러 메시지 외부 노출 차단), file_uploads 허용 확장자 제한, allow_url_fopen = Off 설정을 통해 원격 파일 접근을 차단합니다. 설정 변경 후 반드시 웹 서버를 재시작해야 적용됩니다.
3단계: 입력값 검증 및 DB 보호 적용
SQL 인젝션 방지를 위해 PDO(PHP Data Objects) 또는 MySQLi의 Prepared Statement를 반드시 사용하고, 사용자 입력값에는 htmlspecialchars(), strip_tags() 등의 필터링 함수를 적용하세요. 파일 업로드 기능이 있다면 확장자 화이트리스트 방식으로 검증하고, 업로드 디렉터리에 실행 권한을 부여하지 않는 것이 핵심입니다.
개인정보 유출 시 과징금 피하는 방법
개인정보보호법 제29조에 따라 개인정보처리자는 안전조치 의무를 반드시 이행해야 하며, 위반 시 위반행위와 관련된 매출액의 최대 3%에 해당하는 과징금이 부과될 수 있습니다. 보안 취약점으로 인한 개인정보 유출 사고가 발생하면 과징금 외에도 형사처벌(최대 2년 이하 징역 또는 2천만 원 이하 벌금)까지 받을 수 있습니다. 반면, 개인정보위가 제시한 안전조치(암호화, 접근통제, 접속기록 관리 등)를 성실히 이행한 사업자는 사고 발생 시에도 과징금 감경 사유로 인정받을 수 있어 사전 조치의 실질적 가치가 매우 큽니다. 한국인터넷진흥원(KISA)의 무료 보안 취약점 점검 서비스(118 상담센터)를 활용하면 전문가 도움을 받아 체계적으로 점검할 수 있습니다.
절대 놓치면 안 되는 보안 함정
PHP 보안 조치에서 가장 많이 실수하는 항목들을 반드시 확인하세요. 아래 항목 중 하나라도 해당한다면 즉시 조치가 필요합니다.
- 구버전 플러그인·CMS 방치: PHP 버전만 올리고 워드프레스, 그누보드 등 CMS와 플러그인을 구버전으로 방치하면 취약점은 그대로 남습니다. CMS 관리자 페이지에서 업데이트 알림을 즉시 적용하세요.
- 기본 에러 페이지 노출: PHP 에러 메시지가 그대로 화면에 출력되면 공격자에게 DB 구조, 파일 경로 등 핵심 정보가 노출됩니다. 반드시
display_errors = Off설정 후 별도 에러 페이지로 리다이렉트하세요. - 관리자 페이지 IP 미제한: /admin, /manager 등 관리자 접근 경로를 IP 화이트리스트 없이 공개하면 무차별 대입 공격(Brute Force) 표적이 됩니다. .htaccess 또는 서버 설정에서 허용 IP만 접근 가능하도록 즉시 제한하세요.
PHP 버전별 보안 지원 현황표
아래 표는 PHP 공식 사이트(php.net) 기준 버전별 보안 지원 상태를 정리한 것입니다. 현재 사용 중인 버전이 "지원 종료"에 해당한다면 즉시 업그레이드를 계획하세요.
| PHP 버전 | 보안 지원 상태 | 지원 종료일 |
|---|---|---|
| PHP 7.4 이하 | ⛔ 지원 종료 (즉시 업그레이드 필요) | 2022년 11월 28일 |
| PHP 8.0 | ⛔ 지원 종료 | 2023년 11월 26일 |
| PHP 8.1 | 🟡 보안 패치만 지원 | 2025년 12월 31일 |
| PHP 8.2 | 🟢 보안 패치 지원 중 | 2026년 12월 31일 |