생활 가이드
PHP 보안 취약점 점검 방법과 도구 체크리스트
PHP 보안 취약점 점검은 ① PHP 버전의 지원 상태 ② php.ini·세션 설정 ③ 입력 검증·쿼리·출력 코드 ④ 파일 업로드와 권한 ⑤ 정적 분석 도구 순서로 하면 빠짐없이 볼 수 있습니다. 도구는 PHPStan·Psalm 같은 무료 정적 분석 도구와 OWASP 체크리스트를 함께 씁니다.
이 글은 직접 할 수 있는 PHP 보안 점검 순서, 무료 도구, 보안 체크리스트를 다룹니다. 보안 업체 선정과 진단 비용은 서비스마다 달라 다루지 않습니다.
아래 버튼에서 필요한 다음 단계를 확인하세요.
👉 PHP 홈페이지 바로가기👉 PHP 보안 업데이트 최신 버전 확인 EOL 점검👉 PHP SQL 인젝션 XSS 파일 업로드 보안 방어법1. 점검 범위를 다섯 가지로 나눕니다
PHP 보안 점검은 한 번에 모든 것을 보려 하면 놓치기 쉽습니다. 실행 환경(버전), 설정, 코드, 파일·권한, 도구 점검으로 나눠 하나씩 확인하세요.
점검 결과는 항목별로 기록해 두면 업데이트 뒤에 다시 점검할 때 비교할 수 있습니다.
| 점검 영역 | 확인 내용 | 참고 글 |
|---|---|---|
| 버전 | 지원 종료·보안 패치 여부 | PHP 보안 업데이트 글 |
| 설정 | php.ini·세션·오류 표시 | PHP 서버 보안 설정 글 |
| 코드 | SQL·XSS·업로드·비밀번호 | 코드 보안 글 |
| 파일·권한 | 업로드 폴더·쓰기 권한·낯선 파일 | 웹쉘 탐지 글 |
| 도구 | 정적 분석·체크리스트 | 이 글 |
2. 버전과 설정부터 확인합니다
가장 먼저 PHP 버전이 지원 중인지 확인합니다. php.net은 지원 종료(EOL)된 버전이 더는 보안 수정을 받지 못한다고 안내하며, 2026년 10월 기준 8.1 이하는 지원이 끝났습니다.
설정은 OWASP PHP 설정 치트시트를 기준으로 봅니다. expose_php, display_errors, allow_url_fopen, allow_url_include 같은 항목이 운영 서버에 맞게 꺼져 있는지 점검하세요.
- php -v 또는 phpversion()으로 버전 확인
- 지원 종료 버전이면 업그레이드 계획 수립
- expose_php=Off, display_errors=Off 확인
- allow_url_include=Off 확인
3. 코드에서 위험한 패턴을 찾습니다
코드 점검은 외부 입력이 들어오는 곳(요청 값, 파일 업로드, 쿠키)에서 시작해 DB 쿼리, 파일 경로, 화면 출력까지 따라가며 봅니다.
특히 문자열을 이어 붙여 만든 SQL, 이스케이프 없이 출력하는 값, 검증 없이 쓰는 업로드 파일 이름이 대표적인 위험 신호입니다. 방어 방법은 코드 보안 글에 정리했습니다.
| 찾을 패턴 | 위험 | 방어 |
|---|---|---|
| 문자열로 만든 SQL | SQL 인젝션 | PDO 준비된 구문 |
| 이스케이프 없는 출력 | XSS | htmlspecialchars |
| 업로드 파일명 그대로 사용 | 악성 파일 실행 | 파일명 새로 생성·형식 검증 |
| 평문·약한 해시 비밀번호 | 계정 탈취 | password_hash |
4. 무료 도구로 자동 점검을 더합니다
PHPStan은 테스트 없이 코드의 버그를 찾아 주는 오픈소스 정적 분석 도구이고, Psalm도 무료 오픈소스 정적 분석 도구입니다. 두 도구는 코드 오류와 타입 문제를 찾는 데 쓰이며, 보안만을 위한 취약점 스캐너는 아닙니다.
따라서 도구 결과와 체크리스트를 함께 쓰는 것이 안전합니다. 운영 서버를 외부에서 스캔하는 도구는 허락받지 않은 서버에 사용하면 안 되고, 본인 서버에서만 쓰세요.
- PHPStan: 코드 버그 탐지(무료, 오픈소스)
- Psalm: 정적 분석(무료, 오픈소스)
- OWASP 치트시트: 설정·SQL 방어 기준
- 본인 소유 서버에서만 스캔
5. 점검 결과를 정리하고 반복합니다
발견한 문제는 위험도가 높은 것부터 고칩니다. 지원 종료 버전 사용, 외부 입력을 그대로 쓰는 쿼리, 공개된 오류 메시지는 먼저 처리하세요.
PHP는 보안 업데이트가 수시로 나오므로 점검은 한 번으로 끝나지 않습니다. 분기마다 버전과 설정을, 기능을 바꿀 때마다 코드를 다시 점검하는 일정을 잡아 두세요.
실행 체크리스트
표시한 항목은 이 브라우저에만 저장되며 어디에도 전송하지 않습니다.
이 환경에서는 저장할 수 없어 이번 화면에서만 표시됩니다.
확인한 공식 자료
작성·점검일 2026-10-22. PHP·워드프레스·OWASP·KISA 공식 문서를 바탕으로 정리한 편집 가이드입니다. 보안 설정은 서버 환경에 따라 정상 기능을 막을 수 있으니 운영 서버에 적용하기 전에 테스트 환경에서 확인하세요.