새벽 3시 병원 홈페이지에 분당 200번 접속 시도, 막은 설정 3가지
본 글은 정보 제공 목적이며, 광고/제휴 링크가 포함될 수 있습니다.
왜 병원 홈페이지 보안이 특히 취약할까요
병원 홈페이지 보안이 취약한 데는 구조적인 이유가 있습니다.
첫째, 초기 설치 후 관리자 계정을 그대로 쓰는 경우가 많습니다. 실무에서 점검을 나가 보면 관리자 아이디가 admin, 비밀번호가 admin123 같은 기본값에 머물러 있는 경우를 드물지 않게 봅니다. 공격자 입장에서 가장 먼저 시도하는 조합입니다.
둘째, IT 전담 인력이 없어 보안 설정을 한 번 해두면 그대로 방치되는 경우가 많습니다. 워드프레스 플러그인 업데이트도 수개월씩 밀리기 일쑤입니다.
셋째, 병원 홈페이지는 예약 폼, 환자 문의 데이터가 있어 해커 입장에서 매력적인 타깃입니다.
fail2ban으로 무차별 대입 공격 즉시 차단하기
fail2ban은 wp-login.php 반복 요청을 감지해 해당 IP를 자동 차단하는 도구입니다. 설치된 서버라면 아래 설정만으로 병원 홈페이지 보안 수준을 크게 높일 수 있습니다.
1단계 — 필터 파일 생성 (/etc/fail2ban/filter.d/wordpress-hard.conf):
[Definition]
failregex = ^<HOST> - .* "POST /wp-login\.php(?:\?.*)? HTTP/
ignoreregex =
2단계 — jail 설정 (/etc/fail2ban/jail.local에 추가):
[wordpress-hard]
enabled = true
filter = wordpress-hard
logpath = /var/log/httpd/access_log
maxretry = 3
bantime = 86400
findtime = 60
maxretry=3은 60초 안에 3번 요청이 감지되면 차단, bantime=86400은 24시간 차단을 의미합니다.
⚠️ 로그 경로는 배포판마다 다릅니다 — RHEL/CentOS 계열은
/var/log/httpd/access_log, Debian/Ubuntu 계열은/var/log/apache2/access.log입니다. 또한failregex는 서버의 실제 access log 포맷에 맞춰 조정해야 정상 동작합니다. 적용 전 본인 서버의 로그 경로와 형식을 먼저 확인하세요. 그리고 Cloudflare·로드밸런서·프록시를 앞단에 두는 환경이라면 access log에 실제 방문자 IP가 남는지(아니면 프록시 IP만 찍히는지) 먼저 확인해야 합니다 — 그렇지 않으면 엉뚱한 IP가 차단됩니다.
설정 후 아래 명령으로 차단 상태를 확인할 수 있습니다:
fail2ban-client status wordpress-hard
새벽 그 사건에서 저는 이 설정 하나로 CN발 IP 4개를 모두 차단했고, 이후 해당 IP의 접속 시도는 완전히 끊겼습니다.
아래는 제가 직접 운영하는 서버의 실제 차단 현황입니다. 설정 이후 지금까지 61개 IP가 차단된 상태입니다.

▲ 실제 서버 차단 현황 (2026-05-19) — wordpress-hard jail, 총 61개 IP 차단 중
💡 더 강력하게 쓰고 싶다면:
maxretry=1(1회 시도 즉시 차단),bantime=2592000(30일 차단)으로 설정하면 공격 시도 자체가 거의 없어집니다. 단, 병원 직원 실수로 잠길 수 있으니 고정 IP 화이트리스트 설정과 함께 써야 합니다.
💡 지금 바로 해보실 수 있습니다. 서버 접근이 어렵다면 호스팅사에 fail2ban 설정 지원 여부를 문의해보세요.
wp-admin 접근을 병원 고정 IP로만 제한하기
fail2ban은 반복 시도를 차단하지만, 더 강력한 병원 홈페이지 보안 방법은 애초에 관리자 페이지 접근 자체를 병원 IP로만 허용하는 것입니다.
.htaccess 파일에 아래를 추가하세요 (Apache 2.4 기준 — 호스팅 환경에 따라 다를 수 있습니다):
<Files wp-login.php>
Require ip 병원_고정_IP
</Files>
⚠️ Apache 2.2 구형 환경이라면
Order Deny,Allow / Deny from all / Allow from 병원_고정_IP방식을 사용하세요. 호스팅사에 버전을 확인 후 적용하는 것을 권장합니다. 또한.htaccess는 서버의AllowOverride설정에 따라 무시될 수 있으니, 적용 후 병원이 아닌 다른 네트워크에서wp-login.php에 접속해 403이 뜨는지 반드시 확인하세요.
병원 고정 IP는 인터넷 회선 제공사에 문의하면 월 몇천 원 수준으로 신청 가능합니다.
주의할 점이 있습니다. 차단 규칙을 강하게 걸면 정상적인 운영 작업이나 내부 자동화가 오탐으로 막히는 일이 생길 수 있습니다. 그래서 보안 규칙은 적용 후에도 정상 트래픽이 차단되지 않는지 반드시 확인하고, 필요하면 예외(화이트리스트) 규칙을 함께 설정해야 합니다.
지금 바로 확인할 병원 홈페이지 보안 체크리스트
- 관리자 계정 아이디가
admin이 아닌가 - 비밀번호가 12자리 이상, 특수문자 포함인가
- fail2ban 또는 Wordfence 플러그인이 설치·활성화돼 있는가
- wp-login.php 접근이 병원 IP로만 제한돼 있는가
- 워드프레스 코어·플러그인·테마가 최신 버전인가
- 관리자 이메일 계정에 2단계 인증이 설정돼 있는가
이 중 하나라도 체크가 안 된다면, 홈페이지 보안 측면에서 우선 점검이 필요한 상태입니다.
새벽 3시 로그를 실시간으로 보기 전까지는 저도 “설마 우리 병원이”라고 생각했습니다. 하지만 공격은 규모와 무관하게 모든 워드프레스 사이트를 대상으로 자동으로 이뤄집니다.
위 체크리스트 중 어느 항목이 막히시나요? 댓글로 알려주시면 구체적인 방법을 안내해드리겠습니다.
해시태그
#병원홈페이지보안 #워드프레스보안 #병원IT #fail2ban #wp보안 #의원홈페이지 #홈페이지해킹방지