Есть ли причина сохранять заголовок ответа «Сервер» в Apache

16

Мой сервер отвечает Server: Apache/2.2.15 (CentOS)на все запросы. Я предполагаю, что это выдает мою серверную архитектуру, облегчая попытки взлома.

Это когда-нибудь полезно для веб-браузера? Должен ли я держать это на?

Ник Коттрелл
источник
Очевидно, что мои серверы также обновляются с помощью yum-cron!
Ник Коттрелл

Ответы:

16

На мой взгляд, лучше всего замаскировать это как можно больше. Это один из инструментов, которые вы используете для взлома веб-сайта - откройте для себя его технологию, используйте известные недостатки этой технологии. По той же причине, по которой лучшие практики безопасности некоторое время назад начали продвигать URL-адреса в форме "/ view / page" вместо "/view/page.jsp" или "/view/page.asp" ... так что основная технология не будет выставлен.

Есть некоторые дискуссии на эту тему, такие как /programming/843917/why-does-the-server-http-header-exist и http://www.troyhunt.com/2012/02/shhh- dont-let-your-response-headers.html и, очевидно, Hacking Exposed book.

Также это на Security SE /security/23256/what-is-the-http-server-response-header-field-used-for

Но имейте в виду, что это не конец безопасности ваших серверов. Еще один шаг в правильном направлении. Это не мешает выполнению любого взлома. Это просто делает его менее заметным относительно того, какой хак должен быть выполнен.

ETL
источник
6
Удаление расширений имен файлов в URL не имеет ничего общего с безопасностью ... это более читабельно для людей. Существует тысяча других способов раскрытия платформы вашего приложения.
Брэд
Если сервер настроен правильно, то раскрытие платформы желающему злоумышленнику в любом случае ему не поможет.
Ктулху
19

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

RFC 2616 заявляет, частично:

Разработчикам серверов рекомендуется сделать это поле настраиваемым параметром.

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

Майкл Хэмптон
источник
4
+1 Мои журналы полны «атак» на программное обеспечение, которое не установлено. Хакеры просто бросают все, что у них есть, и видят, что прилипает. Если есть какая-либо утилита для изменения токенов сервера, в лучшем случае она ничтожна.
Крис С
@ChrisS Действительно. Я даже не беспокоюсь; Вместо этого я обновляю свои веб-серверы.
Майкл Хэмптон
3
Я вроде не согласен. Хотя он может быть незначительным, безопасность никогда не бывает достаточно сильной, и необходимо применять все, что может помочь без недостатков или снижения производительности.
mveroone
2
Зачем добровольно информация о версии? Я всегда устанавливаю «ServerSignature Off» и «ServerTokens Prod». Также согласитесь, что поддержание ваших веб-серверов в актуальном состоянии является единственной реальной защитой. Если вы не удалите информацию о версии и не пройдете сторонний тест на проникновение, они обязательно отметят это как «утечка информации».
HTTP500
@ HTTP500 Я имею дело с соответствием PCI-DSS на регулярной основе. Это полная проблема, если вы исправлены. Причиной возникновения проблемы является утечка информации о других частях системы (т. Е. Я могу сказать, что OP использует CentOS 5.x) или вы не следили за обновлениями.
Майкл Хэмптон
2

Отображение полной строки с информацией о версии может повысить риск 0-дневных атак, если злоумышленник ведет список того, на каких серверах работает какое программное обеспечение.

При этом не следует ожидать, что сокрытие строки сервера защитит вас от попыток взлома. Существуют способы снятия отпечатков с сервера в зависимости от того, как сообщаются ответы и ошибки.

Насколько я могу, я отключаю свои строки, но не беспокоюсь о тех, которые не могу скрыть (например, OpenSSH).

Дэн
источник