nginx 관리자 페이지 접근 차단, 이렇게 하면 불필요한 로그인 시도를 줄인다
← 전체 목록
병원홈페이지보안

nginx 관리자 페이지 접근 차단, 이렇게 하면 불필요한 로그인 시도를 줄인다

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

워드프레스 병원 홈페이지를 운영하다 보면 관리자 로그인 시도가 생각보다 많이 들어옵니다. 이때 nginx 관리자 페이지 접근 차단을 적용하면 비밀번호 방어 이전에 접근면 자체를 줄일 수 있습니다.

실제로 병원 3곳 서버에서 wp-admin으로 하루 수백 번씩 외부 로그인 시도가 들어오는 것을 확인했습니다. 방화벽이 아니라 nginx 관리자 페이지 접근 차단 설정으로 병원 고정 IP만 허용하자, fail2ban 로그에서 관련 항목이 거의 사라졌습니다.

적용 전 확인할 것

먼저 병원에서 사용하는 고정 IP가 있는지 확인해야 합니다. 실제 IP를 문서나 블로그에 노출할 필요는 없고, 내부 운영 문서에만 관리하면 됩니다.

확인할 항목은 단순합니다.

  1. 병원 내부망 고정 IP 여부
  2. 재택근무나 외부 관리 방식
  3. VPN 사용 가능 여부
  4. 차단 후 긴급 해제 담당자

nginx 관리자 페이지 접근 차단은 설정 자체보다 운영 절차가 더 중요합니다. 외부에서 관리해야 하는 팀원이 있다면 VPN을 쓰거나 임시 IP 허용 후 다시 닫는 규칙이 필요합니다.

nginx 설정 예시

아래는 문서용 예시 IP를 사용한 형태입니다. 실제 운영 IP는 공개 글에 쓰지 말고 서버 내부 설정과 별도 보안 문서에서만 관리합니다.

location ^~ /wp-admin/ {
    allow 203.0.113.10;
    deny all;
    try_files $uri $uri/ /index.php?$args;
}

location = /wp-login.php {
    allow 203.0.113.10;
    deny all;
    include fastcgi_params;
    fastcgi_pass php-fpm;
}

설정 후에는 nginx -t로 문법을 확인하고 reload합니다. 접속 테스트는 허용 IP와 비허용 IP에서 각각 해야 합니다.

return 403과 deny all

운영하면서 return 403deny all의 로그 차이도 확인했습니다. 둘 다 접근을 막을 수 있지만, nginx 접근 제어 맥락에서는 allowdeny 조합이 허용 목록 관리에 더 직관적입니다.

nginx 관리자 페이지 접근 차단을 적용한 뒤에는 access.log에서 403 응답이 의도대로 찍히는지 봅니다. fail2ban을 함께 쓰는 경우, 차단 대상 로그가 줄어드는지도 비교하면 효과를 확인하기 쉽습니다.

재택근무 시 절차

재택이나 외부 장소에서 관리가 필요할 때는 아무 IP나 계속 열어두면 안 됩니다. 임시 허용 절차를 정해두면 nginx 관리자 페이지 접근 차단을 유지하면서도 업무를 이어갈 수 있습니다.

  1. 담당자가 현재 공인 IP를 확인
  2. 운영자가 nginx 설정에 임시 allow 추가
  3. 작업 종료 시각을 기록
  4. 종료 후 임시 IP 제거
  5. nginx -t와 reload 재실행

가능하면 VPN을 통해 병원 고정 IP 대역으로 들어오게 하는 방식이 더 깔끔합니다. 임시 허용은 예외 절차로 두는 편이 좋습니다.

운영 기준

nginx 관리자 페이지 접근 차단은 병원 홈페이지의 진료나 의료 정보와 무관한 서버 운영 보안 조치입니다. 핵심은 관리자 페이지를 모두에게 열어두지 않는 것입니다.

비밀번호 정책, 2단계 인증, fail2ban도 필요하지만 접근 경로를 먼저 줄이면 로그가 조용해집니다. 관리자 로그인 시도가 많다면 오늘은 비밀번호만 바꾸지 말고, nginx에서 누가 들어올 수 있는지부터 확인해보는 것이 좋습니다.

편집 정책

AI가 초안을 생성하고, 의료기관 인프라 운영자가 1차 데이터 기반으로 최종 검수·승인합니다.

작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)