야간 서버 로그를 열었더니 8건 비정상 접근 — 제가 잡은 게 아니었습니다

2026-05-20 · 병원홈페이지보안 · WavePix 운영자 (의료기관 3곳 인프라 전담)

본 글은 정보 제공 목적이며, 광고/제휴 링크가 포함될 수 있습니다.

야간 서버 접근 로그를 다음 날 아침에 열었는데, 총 8건의 비정상 접근이 이미 차단된 상태로 기록되어 있었습니다. 웹셸 업로드 시도 1건, 경로 탐색(Path Traversal) 시도, 해외 스캐너 IP 7건이었습니다.

Path Traversal이 위험한 이유

경로 탐색 시도는 서버의 파일 구조를 외부에서 파악하려는 공격입니다. 성공하면 wp-config.php처럼 DB 접속 정보가 담긴 파일에 접근할 수 있습니다. 로그에서 아래와 같은 패턴이 보이면 즉시 확인하세요.

GET /../../../etc/passwd HTTP/1.1
GET /wp-content/uploads/../../../../wp-config.php

이런 요청이 차단 없이 200 응답을 받았다면 웹서버 경로 정규화 설정을 점검해야 합니다.

웹셸 업로드 경로 막기

업로드 디렉터리에 PHP 실행 권한이 남아 있으면 공격자가 파일을 올린 뒤 직접 실행할 수 있습니다. uploads 폴더에 아래 .htaccess를 추가해 PHP 실행 자체를 차단하세요.

# /wp-content/uploads/.htaccess
<FilesMatch "\.php$">
    Deny from all
</FilesMatch>

야간 스캐너 IP 자동 차단 기준

스캐너 IP는 보통 5분 안에 수십 개 경로를 순차적으로 두드립니다. 동일 [외부IP]가 5분 내 10회 이상 404를 유발하면 자동 차단하는 규칙을 설정해두면 야간에도 대응이 됩니다. 차단 후에는 정상 접근과 혼동하지 않도록 차단 목록을 로그로 남겨두는 것이 중요합니다.

☐ access.log에서 Path Traversal 패턴(../) 검색 ☐ uploads 폴더 PHP 실행 차단 여부 확인 ☐ 반복 404 유발 IP 자동 차단 규칙 설정 ☐ 웹셸 탐지용 파일 무결성 모니터링 구성 ☐ 야간 로그 자동 알림(메일·슬랙) 체계 구축 ☐ 해외 IP 대역 차단 목록 주기적 업데이트 ☐ 차단 로그와 접근 로그 주기적 교차 검증

야간 탐지 결과를 매일 아침 점검하다 보니, 공격 시도가 새벽 시간대에 집중되는 패턴이 보였습니다. 비슷한 탐지 경험이 있으신 분들, 대응 방법 댓글로 공유해 주시면 저도 참고하겠습니다!