Моя компания проводит сканирование на соответствие PCI, и каждый раз нас беспокоит утечка информации о подробных сообщениях об ошибках ASP.NET.
Описание: Было обнаружено подробное сообщение об ошибке ASP.NET... и он обеспокоен тем, что мы показываем потенциальным хакерам нашу версию ASP.NET, версию IIS и т. д.
То, что запускает эту информацию, — это просмотр «нашего сайта»/Trace.axd, и если вы это сделаете, вы получите сообщение об ошибке трассировки, подобное этому:
Описание ошибки трассировки: Текущие настройки трассировки запрещают удаленный просмотр trace.axd (по соображениям безопасности). Однако его могут просматривать браузеры, работающие на локальном сервере.
который имеет это внизу страницы:
-------------------------------------------------- ------------------------------ Информация о версии: Версия Microsoft .NET Framework: 2.0.50727.4234; Версия ASP.NET: 2.0.50727.4223
Самое смешное, что в сообщении об ошибке говорится, что трассировка отключена, и вам нужно изменить web.config, чтобы увидеть это! Мой web.config имеет (отрывок):
<configuration>
<system.web>
<trace enabled="false" requestLimit="10" pageOutput="false" localOnly="true" />
Я считаю, что это правильная иерархия для оператора отключения трассировки. Я не понимаю, почему сервер отвечает сообщением о том, что трассировка отключена, если она отключена. Если это нормальное поведение, то почему наш PCI-сканер жалуется на разглашение слишком большого количества информации?
Любая помощь, которая заставит его перестать быть таким разговорчивым, очень ценится.
Кстати, если это имеет значение, мои пользовательские ошибки выглядят так:
<system.web>
<customErrors mode="Off" defaultRedirect="~/Errors/GeneralError.aspx">
<error statusCode="404" redirect="~/Errors/PageNotFound.aspx" />
</customErrors>
<customErrors mode="On"
? - person MikeSmithDev   schedule 03.02.2014