HTTPQUERY
Русский

Server

Применение

Серверы включают заголовок Server, чтобы указать программное обеспечение и необязательные сведения о версии, обрабатывающей запрос. Значение следует формату продуктовых токенов, похожему на заголовок запроса User-Agent: одно или несколько названий продуктов, за каждым из которых необязательно следуют версия и комментарий.

Степень детализации в Server различается от развёртывания к развёртыванию. Раскрытие конкретных версий программного обеспечения создаёт угрозу безопасности. Злоумышленники сканируют известные уязвимости в определённых версиях веб-серверов, фреймворков и операционных систем. Подробный заголовок Server упрощает такую разведку.

Примечание

Раскрытие сведений о версии в заголовке Server помогает злоумышленникам, сканирующим известные уязвимости. В производственных развёртываниях полезно ограничить значение обобщённым названием продукта или полностью убрать заголовок.

Распространённые подходы к снижению этого риска:

Большинство веб-серверов предоставляют параметры конфигурации для управления значением заголовка Server. Nginx использует директиву server_tokens. Apache использует ServerTokens и ServerSignature. Обратные прокси и CDN часто заменяют значение сервера-источника собственным идентификатором.

product

Один или несколько продуктовых токенов, идентифицирующих серверное ПО. Каждый токен необязательно включает версию, отделённую косой чертой, и комментарий в круглых скобках.

Server: <product>/<version> (<comment>)

Несколько продуктов перечисляются через пробел, в порядке значимости.

Пример

Минимальный ответ указывает серверное ПО, не раскрывая номер версии. Это рекомендуемый подход для производственных сред.

Server: nginx

Некоторые серверы включают сведения о версии и операционной системе. Такой формат открывает большую поверхность для сканирования по версиям.

Server: Apache/2.4.57 (Ubuntu)

CDN и облачные платформы часто заменяют значение сервера-источника собственным названием продукта.

Server: cloudflare

Произвольное или намеренно расплывчатое значение скрывает используемый технологический стек.

Server: webserver

Конфигурация

Подавите или минимизируйте заголовок Server, чтобы снизить утечку информации в production.

nginx:

server_tokens off;

Это сокращает значение до nginx без номера версии. Чтобы полностью удалить заголовок, требуется модуль headers-more:

more_clear_headers Server;

Apache:

ServerTokens Prod
ServerSignature Off

ServerTokens Prod сокращает значение до Apache без сведений о версии и модулях. ServerSignature Off убирает информацию о сервере со страниц ошибок.

IIS:

Удалите заголовок с помощью исходящих правил URL Rewrite или задайте removeServerHeader=“true” в applicationHost.config (.NET 8+).