Windows Server IIS - IP 주소 및 도메인 제한과 오류 페이지 설정

IIS
최근 사용자가 홈페이지 접근 시 특정 IP 주소에서만 접근할 수 있도록 요구하여 IIS 자체 역할 기능에서 제공하는 「IP 주소 및 도메인 제한」「오류 페이지」 설정을 진행하였습니다. 설치 방법과 과정에서 발생한 오류를 남기기 위해 포스팅을 하게 되었습니다.

 

가상(VMware) 테스트에서는 「Windows Server 2012 R2 IIS 8.5로 진행하였지만, 최근 「Windows Server 2025 IIS 10 서버에서 동일하게 진행해 보니 거의 변화가 없는 것으로 확인되었습니다. 참고 자료는 위 공식 홈페이지 문서 링크를 클릭해 주시면 됩니다. 모든 사진은 직접 테스트하면서 캡처하였습니다. (※ 스압 주의)


◈ 역할 기능 추가

처음 IIS 설치 시 「IP 주소 및 도메인」 선택을 하지 않았다면 다시 서버 관리자에서 역할 및 기능 추가를 진행해 주시면 됩니다. 해당 기능은 서버 재시작은 하지 않습니다.

 


◈ IP 주소 제한 및 오류 페이지 설정

 

① IP 주소 제한

요청 내용 : 관리자 외에 모든 접근 불가능으로 「기능 설정 편집」 기본 설정을 「거부」로 지정합니다.

 

 

「거부 동작 유형」은 동일한 거부 결과라도 요청 상황에 따라 다른 에러 코드와 메시지를 제공하며, 사용자가 접근이 거부된 이유를 명확히 이해할 수 있도록 합니다.

 

 

「권한이 없음」「사용 권한 없음」「찾을 수 없음」은 거부(Reject) 유형으로, 서버가 응답을 하여 접근이 차단되었음을 알립니다. 반면, 「중단(Drop)」은 응답 자체가 없어 서버가 존재하는지조차 알 수 없게 되어 보안적으로 더 안전하며, 공격 대상에서 제외될 가능성이 높습니다.

 

모든 접근을 차단한 후, 특정 클라이언트 IP만 접근할 수 있도록 「허용 항목 추가」를 합니다. 「특정 IP 주소」는 단일 IP에 대해 허용하고, 「IP 주소 범위」는 서브넷 마스크(예: 255.255.255.0) 또는 접두사(Prefix) 표기(/24) 방식으로 설정할 수 있습니다. 둘 다 같은 의미이며 예를 들어 192.168.18.0/24는 192.168.18.0부터 192.168.18.255까지의 IP를 허용하는 의미입니다. 네트워크 관련은 그냥 외우자

 

 

「동적 IP 제한 설정」 동시 요청(세션) 수를 기준 또는 일정 기간의 요청 수를 기준으로 IP 주소를 거부할 수도 있습니다.

 

 

② 오류 페이지 설정

잘못된 접근에 의한 오류 페이지 설정을 할 수 있는 기능 합니다. 특정 페이지에 접근하거나, 제한된 운영을 할 경우 코드에 따라 오류 메시지를 다르게 할 수 있습니다. 내가 직접 .htm(html) / .ASP 소스를 작성하여 연결할 수도 있습니다.

 

 

③ 문제 발생 및 해결 방법

이제 여기서 문제가 하나 발생하게 됩니다.

도메인 접근을 기본적으로 「거부(Deny)」로 설정하고, 특정 허용된 IP만 예외로 두었으며, 나머지 외부 접근 자에겐 커스텀 에러 페이지를 보여주도록 설정했습니다. 그런데 실제로 테스트해 보니 다음과 같은 에러가 발생합니다. The page cannot be displayed because an internal server error has occurred.」

 

처음에는 설정이 잘못되었나 싶었지만, 곰곰이 생각해 보니 당연한 결과였습니다.

오류 페이지 역시 결국 HTTP(S)를 통해 불러와지는 리소스입니다. 그런데 도메인 접근 자체를 막아버리면, 오류 페이지의 경로조차도 접근이 제한되어 「IIS 내부적으로 500 오류」가 발생하게 되는 구조입니다.

 

그럼 해결 방법은 무엇일까요? 의외로 간단했습니다. 오류 페이지로 지정된 경로만 별도로 예외 처리해 주면 됩니다. 예를 들어, /errors/reject.html 같은 경로로 오류 페이지를 설정했다면, IIS IP 및 도메인 제한 설정에서 해당 경로(URL 기준)를 예외로 추가하면 됩니다.

 


+ IIS 10 테스트

 

Windows Server IIS는 기능은 추가되어도 기본 기능 자체는 크게 변함이 없어서 좋습니다. 다시 정리하자면 오류 페이지도 하나의 HTTP 요청이므로, 접근 제한 정책에 영향을 받습니다. 전체 거부 정책을 사용하더라도, 오류 페이지용 경로만은 반드시 허용해야 합니다. IIS에서는 URL별 예외 허용 기능을 통해 이를 해결할 수 있습니다. 참고하시면 좋을 것 같습니다.

Designed by JB FACTORY