[asp.net] Удаление / скрытие / отключение чрезмерных заголовков HTTP-ответа в Azure / IIS7 без UrlScan



Answers

MSDN опубликовала эту статью о том, как скрыть заголовки на сайтах Azure. Теперь вы можете скрыть сервер из web.config, добавив запись в system.webServer

<security>
      <requestFiltering removeServerHeader ="true" />
</security>

Однако VS будет недооценивать вышеупомянутое как недействительное. Вышеупомянутая ссылка имеет код как фото, который трудно найти. Версия MVC по-прежнему скрыта при запуске приложения, как указано выше, так же, как для x-powered-by и .Net-версии.

Question

Мне нужно удалить избыточные заголовки (в первую очередь, пройти тестирование на проникновение). Я потратил время на решения, связанные с запуском UrlScan, но они громоздки, поскольку UrlScan необходимо устанавливать каждый раз при запуске экземпляра Azure .

Должно быть хорошее решение для Azure, которое не предполагает развертывание установщиков из startup.cmd.

Я понимаю, что заголовки ответов добавляются в разных местах :

  • Сервер : добавлен IIS.
  • X-AspNet-версия : добавлена ​​System.Web.dll во время Flush в классе HttpResponse
  • X-AspNetMvc-Version : Добавлен MvcHandler в System.Web.dll.
  • X-Powered-By : добавлено IIS

Есть ли способ настроить (через web.config и т. Д.?) IIS7, чтобы удалить / скрыть / отключить заголовки ответов HTTP, чтобы избежать предупреждения «Чрезмерные заголовки» на asafaweb.com , без создания модуля IIS или развертывания установщиков, которые должны запускаться каждый раз при запуске экземпляра Azure?




Прокручивая предыдущие ответы от @ giveme5minutes и @AKhooli, поскольку они относятся к Azure Websites, а также к другим вещам, которые сканер хочет увидеть, это те изменения, которые я сделал, чтобы сделать ASafaWeb счастливым с сайтом Azure.

Он по-прежнему жалуется, что cookie заголовка азартной рекламы не является только https, но сродство - это тип файла cookie, который вы хотите воспроизвести в любом случае, не так ли?

<system.web>
    <compilation debug="false">
    <httpRuntime enableVersionHeader="false" />
    <httpCookies httpOnlyCookies="true" requireSSL="true" />    
    <customErrors mode="RemoteOnly" defaultRedirect="~/Error.aspx" />
</system.web>

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="X-Frame-Options" value="DENY" />
        <remove name="X-Powered-By" />
      </customHeaders>
    </httpProtocol>
    <security>
      <!--removes Azure headers-->
      <requestFiltering removeServerHeader="true" />
    </security>
</system.webServer>



Links