Скрытие стека технологий бэкэнда - PullRequest
1 голос
/ 14 сентября 2010

В качестве меры безопасности я хочу скрыть технологический стек, который я использую на своем сервере.Каковы эффективные способы сделать это?Я думал о

1) Используйте mod_rewrite или Rewrite Module, чтобы скрыть любые расширения страницы, такие как .php или .aspx.2) Отключите все отчеты об ошибках

1b) используйте mod_rewrite для преднамеренного использования вводящего в заблуждение расширения, например маскировки страницы php как aspx2b) Бросайте вводящие в заблуждение ошибки, чтобы идти с 1b), заставляя мои php-страницы отображать asp-подобные ошибки.

Ответы [ 3 ]

2 голосов

Это невыполнимая задача. Вам придется изменить весь стек, и в этом случае вы только что создали новые версии с ошибками, которые теперь должны синхронизироваться с версиями поставщика.

Буквально нет способа сделать это, не сделав ваш сайт менее безопасным.

Вы можете делать такие вещи, как удаление X-Powered-By, или изменить схему генерации сеанса, если она использует что-то вроде ASP или PHP, у которого есть известная. Дело в том, что это не остановит никого, кто действительно хочет знать , что вы запускаете.

Для базовых примеров (это на намного глубже, чем это), некоторые веб-серверы принимают любой заголовок, поэтому я могу сказать GET LOLOLOL HTTP/1.1, и он все еще будет работать. Некоторые стеки будут поддерживать сессию, некоторые не будут. Вы также можете увидеть, какие функции находятся в стеке, поскольку в Интернете их так много, и нигде на Земле нет ни одного стека, поддерживающего один и тот же набор.

1 голос
/ 14 сентября 2010
  1. Не показывать точные расширения страниц
  2. Не использовать стандартные страницы ошибок
  3. Убедитесь, что веб-сервер и прикладной уровень (ASP.NET, PHP и др.) Скрытыих присутствие в заголовках браузера)
  4. Если ваши страницы с ошибками делают что-то динамическое, предположим, что это может как-то не получиться, и у вас есть набор статических HTML-страниц, которые вы можете обслуживать, но не веб-серверы по умолчанию
  5. Убедитесь, что все наши технологические стеки настроены так, чтобы не показывать трассировки стеков на страницах с ошибками, передаваемых на машины, отличные от локального сервера.Если по какой-то причине все ваши пользовательские ошибки завершатся неудачно, то пользователь может увидеть технологический стек, но у него не будет окна в основной код
0 голосов
/ 14 сентября 2010

Вы можете добавить к ответу поддельные заголовки Server: и / или X-Powered-By, делая вид, что он был создан другим сервером. (Или Server: My Unhackable Server)

...