IIS 10 на Windows Server 2016. Все текущие исправления установлены. Недавнее сканирование PCI утверждает, что внутренний IP-адрес сервера просачивается в заголовки HTTP. К сожалению, эта сканирующая компания не сообщает подробностей о том, как они пришли к такому выводу, чтобы я мог его воспроизвести. Все мои исследования показывают, что это проблема не в IIS 10, а только в более старых версиях IIS. У меня есть правила перезаписи URL-адресов, которые используют перенаправление для обеспечения того, чтобы соединения были https, и что у них есть www в имени хоста.
<rule name="HTTPS Redirect">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
<rule name="Redirect to www">
<match url="(.*)" />
<conditions trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^example\.com$" />
</conditions>
<action type="Redirect" url="https://www.example.com/{R:1}" redirectType="Permanent" />
</rule>
Что вызывает утечку внутреннего IP-адреса сервером и как это предотвратить? Я пробовал использовать curl -lkL example.com
, но я не вижу IP-адреса ни в одном из возвращенных заголовков.
Это может быть раскрыто через заголовок ответа HTTP. Проверьте общую информацию заголовка в инструменте разработчика браузера. Прилагается снимок экрана из локального приложения, поэтому он просто показывает локальный адрес. Здесь может помочь переписать переменную сервера перед отправкой ответа.
Чтобы воспроизвести то, что они пытались сделать, сделайте следующее:
• openssl s_client - хост www.docuboxportal.com -порт 443 • GET / HTTP / 1.0