IIS는 호스트 헤더 없이 HTTP/1.0 요청으로 내부 IP를 유출합니다.

IIS는 호스트 헤더 없이 HTTP/1.0 요청으로 내부 IP를 유출합니다.

IIS 10 서버에 대한 보안 검사 Location결과 https://example.org/Content. 그러면 다음이 생성됩니다( xxx내부 IP를 나타냄).

HTTP/1.1 301 Moved Permanently
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
Expires: -1
Location: https://xxx.xxx.xxx.xxx/Content/
....

몇 가지 질문:

  • 이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
  • 이를 시뮬레이션하고 수정 후 테스트하기 위해 스캐닝 소프트웨어 외부에서 GET HTTP/1.0 요청을 어떻게 수행합니까?

감사합니다.

업데이트:URL 재작성 규칙을 다음에서 시도했습니다.이 게시물하지만 500 오류가 발생합니다.

답변1

이 기사와 함께이 하나Host 헤더가 누락된 요청을 중단하여 이러한 종류의 공격(클라이언트 액세스 서버 정보 공개 취약점)으로부터 보호하는 방법을 설명합니다.

이 문제를 해결하는 단계는 다음과 같습니다. 당신이 가지고 있는지 확인하십시오URL 재작성 모듈설치,

  1. IIS를 엽니다.

  2. 귀하의 웹사이트를 선택하세요.

  3. URL 재작성을 두 번 클릭합니다.

  4. 오른쪽 작업 패널에서 규칙 추가를 클릭합니다.

  5. 인바운드 규칙 > 차단 요청을 선택합니다.

  6. 규칙에 대해 다음 설정을 입력합니다.

    다음을 기준으로 액세스를 차단합니다.: 호스트 헤더

    차단 요청: 패턴과 일치하지 않습니다.

    패턴(호스트 헤더): .+ (읽기: "점 더하기", "하나 이상의 문자와 일치"를 의미)

    사용: 정규 표현식

    차단 방법: 중단 요청

  7. 확인을 클릭하여 규칙을 저장합니다.

업데이트:Windows Server에서 수행된 보안 검사에서 이 변경 이후에는 더 이상 존재하지 않는 취약점이 밝혀졌습니다.

관련 정보