Комментарии 33
ох сколько уже говорилось про security through obscurity… Про ложное чувство защищенности, про то, что подобные выкрутасы приносят больше головняка, чем профита. Но с завидной периодичностью возникают IS Rookies и пишут статьи как «сделать круто, бизипасна» путем сокрытия/подмены баннеров.
Грустно все это.
Грустно или нет, но бесполезно в большинстве случаев точно.
Полезно было подменить имя сервера на IIS когда разыгрывали пивные бокалы от MS — вот тогда mod_security пригодился ))
С завидной периодичностью появляются и эксплоиты. Так какой смысл всем объявлять, под какой веб-сервер и под какую его версию искать эксплоит? Мало того, что по умолчанию включена полная информация в заголовке Server, так еще и нет в документации конкретных инструкций, как это отключить.
А «круто, бизипасна» достигается не одним действием, а комплексом действий, в который по желанию можно включать и подмену Server.
Необходимо раз и навсегда уяснить, что сокрытие/подмена баннера не сделает сервер/сервис безопаснее. Ни на один процент. Но даст ложное ощущение безопасности и затруднит диагностику и сопровождение, если серверов много и ИТ-персонал — не один Вася в свитере в обнимку с парой серверов.
Перебрать сканером вагон эксплойтов ничего не стоит, ни по времени, ни по ресурсам.
>Ни на один процент.
Как померять процент?

>и затруднит диагностику и сопровождение
Как? Вы занимаетесь поддержкой серверов? Неужели ориентируетесь на заголовок Server? Не вижу никаких трудностей, связанных с этим.
Вопросы вида
Как померять процент?
и фразы
Не вижу никаких трудностей, связанных с этим.
собственно, и подтверждают ранг rookie (как и незнание нужных тегов).
Понимание придет, со временем. Из чужих уст оно не воспринимается, как правило, что мы и видим в данном посте.
собственно, и подтверждают ранг rookie (как и незнание нужных тегов).

Ага, особенно незнание нужных тегов.

Понимание придет, со временем. Из чужих уст оно не воспринимается, как правило, что мы и видим в данном посте.

Ушли от ответа, попутно обозначив собеседника rookie. Но главное, что теги нужные знаете. Похвально.
я уже дал ответы на вопросы, и продолжал бы их охотно давать, но ты не слушаешь, в чем смысл?
Ты вложил силы и время в то, что превратилось в топик, я прекрасно понимаю, почему ты не хочешь слышать ничего про то, что противоречит текущему состоянию твоих понятий о безопасности и защищенности. Это вполне нормально, у всех бывает такой этап, пожалуй. Rookie не я тебя обозначал, это просто констатация на основе простых фактов. Ничего обидного нет, даже наоборот, подумай над смыслом этого слова, можешь погуглить.
Ну давайте разберём:
— неправильное имя сервера (логичнее всего пытаться представиться совершенно другим реально существующим) отвлекает внимание потенциального хацкера (от профессионального взлома не защитит, там пойдут и fingerprint`ы в ход и прочие инструменты. Не защитит и от инструментального, если инструментарий тупо брутфорсит эксплоитами). ИМХО — это профит. Ну и увеличение времени на взлом (внимание-то будет отвлечено) — тоже профит.
— не надо ложных надежд — кому сильно надо, сломают любой уровень безопасности. Вопрос только в ресурсах необходимых для этого. В этом плане ни один уровень защиты не даёт защиту, они просто отсеивают очередной виток потенциальных нарушителей.

в чём я не прав?
и вдогонку: чем это затруднит диагностику и сопровождение?
Перечитай коммент, на который отвечаешь. Там есть ответы на все твои вопросы.
В том и дело — там мнение, а не ответ, взвешенный и обдуманный со всех сторон.

Ложное ощущение защищённости складывается только из непонимания ситуации и не более того.
За взвешенными ответами рекомендую проследовать в энциклопедию. В комментах на хабре (и подобных тусовках) кроме мнений ты ничего не найдешь, т.к. каждый взвешенный коммент будет размером с топик примерно (в противном случае он получится однобоким и не объективным). Такие комменты-топики попадаются, впрочем, можешь понаблюдать.
Необходимо учиться извлекать факты из мнений, а не кушать готовые ответы. Строить свое мнение.
Кроме того, например в риторике-софистике никогда не существует окончательного ответа, есть всего лишь противостояние мнений, побеждает тот, кто эффективнее способен убедить читателя (или даже соперника) в своей правоте, а отнюдь не тот, кто прав на самом деле.
Не представляю себе энциклопедии, содержащей данный материал.

Суть проблемы в том, что вы пытаетесь навязать своё мнение («Необходимо раз и навсегда уяснить»), но при этом не даёт даже отсылки на материал, который подтверждает оное. На уточняющие вопросы — так же не отвечаете (согласитесь, труд ответить на мой комментарий в вашем стиле и в стиле ссылка где почитать практически одинаков).
Мда, с хабра тебя не пускают во внешние инторнеты?
А меж тем на дворе 2012 год, информация стала более лучше доступна, овощи, там, рожь, это вот всё…
Почитай документы NIST, почитай ITIL Red Book, ISO 27001+27002, ну и так далее.
внешние энторнеты — они таки внешние, не всегда есть возможность что-то поискать (на грамотный поиск тоже нужно время, да и в теме желательно несколько разбираться, в противном случае найдёшь лишь подтверждение своим догадкам), да и результат будет разный у человека, который хочет что-то доказать и у человека, который хочет что-то изучить.

Спасибо за ссылки.
Полезно было научить астериск прикидываться тупой железкой:) Некоторые проввайдеры доставляли…
А вы читали лицензионное соглашение, например, к серверу Apache HTTPD?

А там прямо написано, что хотя бы Server: Apache в заголовках ответа быть должно (по крайней мере, было написано для 1.3, как сейчас — не уверен, но вряд ли изменилось). Можно больше, но никак не меньше. Короче, уважаемый, вы так нарушаете условия использования сервера ;) За бесплатность вы должны платить, например, вот так.

В статье нет призыва, нарушать или не нарушать. Есть метод, а пользоваться или нет — дело ваше.
> На мой взгляд, это потенциальная прореха в безопасности.

Я так понимаю предполагается что кулхацкер зная версию вашего ПО и уязвимости в данной конкретной версии сможет ими воспользоваться?
Не проще ли озаботиться обновлением собственно версии ПО (все вэб-серверы которые вы перечислили более-менее активно развиваются), в которой устраняются указанные неисправности?

П.С. Хотя наверно после перекомпиляции вэб-серверов из сорцов либо установки всех модулей действо с обновление для вас перестает быть тривиальным…

>Не проще ли озаботиться обновлением собственно версии ПО (все вэб-серверы которые вы перечислили более-менее активно развиваются), в которой устраняются указанные неисправности?

Это вещи не взаимозаменяемые. Никто не мешает обновляться с двумя дополнительными строчками в конфиге, подменяющими Server.

>П.С. Хотя наверно после перекомпиляции вэб-серверов из сорцов либо установки всех модулей действо с обновление для вас перестает быть тривиальным…

Не совсем понял, что вы хотите сказать. В статье как раз расказано, как изменить Server без перекомпиляции, хотя в сети бытует мнение, что для этого она обязательно нужна.
Эмм, а ничего что для HttpHeadersMoreModule как бы?

ngx_headers_more — Set and clear input and output headers...more than «add»!
This module is not distributed with the Nginx source
Прошу прощения, не обратил внимания. Тестировал на фре, там при установке из портов все равно компилить приходится. Я этот модуль себе включил.
Мысль сводилась к тому что вместо того чтобы скрывать — правильнее устранять. Поскольку скрыв вы ничего не устраняете, а устранив вам незачем особо скрывать (при условии оперативности обновлений). Если у вас есть время и на то и на другое, думаю вы просто мало загружены :)

По поводу компиляции бытует мнение, что подключение модулей крадет производительность в рантайме, поэтому целесообразнее один раз потратить время и перекомпилить, чем все время тратить долю производительности на модули. Предлагаемые вами решения — это по сути дополнительные фильтры перед отправкой данных в сокет, поэтому я склонен верить тому самому мнению.

Для nginx есть опция малой параноидальности, — server_tokens.

И, скорее всего, также сработает add_header, который есть по умолчанию.

И, скорее всего, также сработает add_header, который есть по умолчанию.

Если воспользоваться просто add_header, предварительно не удалив существующее значение, то в ответ получите два заголовка:
Server: nginx
Server: gws
Server Spy покажет их значения через запятую. Проверено.
Такое «одурачивание», конечно, лишним не будет. Но оно должно быть последним (по приоритетам) приемом в обеспечении безопасности Вашего сервера. Иначе Ваш совет выглядит как: «носите свитер похожий на бронежилет и Вас, возможно, не застрелят».
Я ничего не советую. Я показал, что подмену Server можно сделать на перечисленных веб-серверах без перекомпиляции (в комментах уже выяснили, что в nginx модуль нужно вкомпилить, но сорцы править не надо).
отличная аналогия, возьму на вооружение ) Просто великолепно.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.