Проверка безопасности нашего сервера 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-адресовустановлен,
Откройте IIS.
Выберите свой веб-сайт.
Дважды щелкните «Перезапись URL».
Нажмите Добавить правило(а) на панели «Действия» справа.
Выберите Правила для входящих соединений > Запросить блокировку.
Введите следующие настройки для правила:
Блокировать доступ на основе: Заголовок хоста
Запрос на блокировку, который: Не соответствует образцу
Шаблон (заголовок хоста): .+ (читается как «точка плюс», что означает «соответствует одному или нескольким любым символам»)
С использованием: Обычные выражения
Как заблокировать: Отменить запрос
Нажмите ОК, чтобы сохранить правило.
Обновлять:Сканирование безопасности, проведенное на сервере Windows, показало, что после этого изменения уязвимость больше не существовала.