2016-02-12 2 views
2

У меня есть «Сервер: Apache» в заголовках HTTP-ответа и вы хотите удалить его. я следовал инструкции, как добавив в httpd.conf:Не удается удалить Сервер: заголовок Apache

ServerSignature Off 
ServerTokens Prod 
Header unset Server 

Но последняя строка не имеет никакого эффекта. Первые две строки изменили содержимое заголовка (ранее он содержал также информацию об ОС и PHP), но мне нужно полностью удалить его. Как это сделать?

+0

У вас есть 'mod_headers'enabled? Это необходимо для отмены полей заголовка. – maxhb

+0

я. Он включен и работает, но не может удалить этот заголовок – Audiophile

+0

OK. Просто протестировал его на моем собственном веб-сервере, и он действительно не работает для этого одного поля заголовка :-( – maxhb

ответ

9

Apache не позволяют сбросить это полностью. На самом деле некоторые разработчики категорически против добавления этого, несмотря на то, что это было простое изменение кода, которое было предложено (и даже написано!) Несколько раз. См. here и here только для некоторых обсуждений, где это было поднято и отклонено.

Они дают различные причины для этого, в том числе:

  1. Безопасность через маскировку миф, и дает ложное чувство безопасности, как это легко отпечатки пальцев сервера, чтобы увидеть, какие программы это вероятно, на основе о том, как он реагирует на определенные запросы. Хотя в этом есть подозрение, указав ServerTokens как Full по умолчанию , определенно - это проблема безопасности, которая пропускает слишком много информации, чем должна отображаться по умолчанию на общедоступном веб-сайте.

  2. Это может быть или не быть против спецификации HTTP, чтобы не поставлять заголовок сервера. Это похоже на некоторые споры и по-прежнему не отвечает, почему они не позволяют вам изменить его на некоторую случайную строку, а не на Apache.

  3. Это может затруднить подсчет количества установок Apache в дикой природе. Это противоречит аргументу 1 выше, если это так легко отпечатать пальцы и вонять причины эго.

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

  5. Прокси-серверы «могут» обрабатывать запросы по-разному, если они знают тип сервера на другом конце. Что неправильно прокси-серверов IMHO, и я сомневаюсь, что это уже сделано намного больше.

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

Они даже доходит до того, как добавление этого в official documentation:

Установка ServerTokens менее минимальной не рекомендуется, потому что это делает его более трудным для отладки межоперационных проблем. Также отмечают, что отключение заголовка Server: ничего не делает, чтобы сделать вашим сервером более безопасным. Идея «безопасности через безвестность» - это миф и приводит к ложному чувству безопасности.

Вся ситуация, ИМХО, смешно, и они должны изменить свою позицию, чтобы люди могли настроить программное обеспечение по своему усмотрению. В худшем случае он ничего не добавляет, как они говорят, и это все время поднимает весь этот вопрос, хотя лично я думаю, что чем меньше ненужной информации вы выдаете, тем лучше, поэтому предпочтете, чтобы это было отключено.

До этого вряд ли разворота, вы остались:

  1. Установки его минимальным - что, вероятно, достаточно
  2. хорошее Редактирования исходного кода - который является излишеством для большинства параноидального
  3. за исключением
  4. Установка ModSecurity - который (по крайней мере, используется) позволяет вам переписать (но не удалить) этот заголовок на все, что вы хотели скрыть серверное программное обеспечение. Вероятно, слишком сложно установить это только для этого, хотя есть и другие преимущества для WAF.
  5. Прокси-сервер Apache за другим веб-сервером, который позволяет вам изменять это поле.
  6. Переключиться на другой веб-сервер.

Rant over.

-2

Возможно, вы не включили mod_headers.

Проверьте, если он включен:

[email protected]: a2query -m headers 

Если mod headers включен выход должен быть чем-то вроде headers (enabled by ...).

Если он не включен, включите модуль с помощью:

a2enmod headers 
+0

Включено, я могу добавить другие заголовки htaccess, но не могу удалить этот – Audiophile