IIS пропускает внутренний IP-адрес с помощью запроса HTTP/1.0 без заголовка Host

IIS пропускает внутренний IP-адрес с помощью запроса HTTP/1.0 без заголовка Host

Проверка безопасности нашего сервера IIS 10 показала, что он раскрывает внутренний IP-адрес сервера через заголовок 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 Rewrite изэта почтано выдает ошибку 500.

решение1

Эта статьявместе сВот этотописать защиту от такого рода атак (уязвимость раскрытия информации сервера клиентского доступа) путем отмены запросов, в которых отсутствует заголовок Host.

Вот шаги, чтобы исправить это. Убедитесь, что у вас естьМодуль перезаписи URL-адресовустановлен,

  1. Откройте IIS.

  2. Выберите свой веб-сайт.

  3. Дважды щелкните «Перезапись URL».

  4. Нажмите Добавить правило(а) на панели «Действия» справа.

  5. Выберите Правила для входящих соединений > Запросить блокировку.

  6. Введите следующие настройки для правила:

    Блокировать доступ на основе: Заголовок хоста

    Запрос на блокировку, который: Не соответствует образцу

    Шаблон (заголовок хоста): .+ (читается как «точка плюс», что означает «соответствует одному или нескольким любым символам»)

    С использованием: Обычные выражения

    Как заблокировать: Отменить запрос

  7. Нажмите ОК, чтобы сохранить правило.

Обновлять:Сканирование безопасности, проведенное на сервере Windows, показало, что после этого изменения уязвимость больше не существовала.

Связанный контент