Я не хочу, чтобы кто-нибудь смог обнаружить, что я использую NGINX или даже Ubuntu из Интернета. Существуют инструменты (например, BuiltWith), которые сканируют серверы, чтобы определить, какие инструменты они используют. Кроме того, некоторые инструменты для взлома могут помочь с обнаружением. Что лучше / ближе всего к тому, что я могу скрыть всю эту информацию извне?
81
Если вы установили nginx с помощью apt-get в Debian или Ubuntu, вам может потребоваться установить пакет nginx-extras, чтобы установить или очистить заголовок «Server»
Как только это будет сделано, вы можете добавить строки ниже в nginx.conf (обычно /etc/nginx/nginx.conf):
Чтобы полностью очистить заголовок «Сервер»:
Чтобы установить пользовательскую строку как «Сервер»
источник
more_clear_headers Server;
работает и в Debian Jessie 8.5 версия nginx: nginx / 1.6.2http
,server
,location
, иlocation if
контексты. Источник: документация ngx_headers_moresudo apt-get install nginx-extras
а затем установите заголовкиunknown directive "more_set_headers"
. Решил это путем явного включения модуля в/etc/nginx/nginx.conf
. Просто добавьтеload_module modules/ngx_http_headers_more_filter_module.so;
в начале файла конфигурации.@ Мартин Ф. Да, это так. Вам нужно будет скомпилировать его из исходного кода и изменить то, что необходимо, перед компиляцией исходного кода.
Я предполагаю, что вы скачали последнюю стабильную версию, распаковали ее и знаете, где находятся файлы. Если это так, сделайте следующее:
Затем найдите строку 48, если я правильно помню.
Замените nginx на MyWhwhatServerNameIWant, например
затем
искать линию
измените «nginx /» на «MyWhwhatServerNameIWant /», чтобы он читал
Наконец, если вы хотите также изменить номер версии
ищите строку #define NGINX_VERSION "1.0.4"
и измените "1.0.4" для любой версии, которую вы хотите. Например, это будет читать
Надеюсь, это поможет. Тем не менее. Защита сервера выходит далеко за рамки не показывая, что работает. PHP по своей природе небезопасен, как и Linux. Конечно, Linux может быть довольно безопасным, если будут приняты все необходимые меры для достижения достойной безопасности. Что касается PHP, я бы рекомендовал использовать Suoshin, чтобы повысить безопасность вашего кода.
источник
После долгих размышлений о том, как сделать пользовательский вариант nginx в Ubuntu, я понял, что для этого можно использовать модуль lua.
В Ubuntu 14.04, если вы устанавливаете
nginx-extras
пакет, вы можете удалить заголовок сервера, используя:header_filter_by_lua 'ngx.header["server"] = nil';
Добавьте это в блок http, и у каждого запроса будет отсутствовать
Server
заголовок.Если это не работает, запустите,
nginx -V
чтобы убедиться, что у вас есть модуль lua, скомпилированный в вашу копию nginx. Если нет, скорее всего, есть альтернативный пакет, который вы можете использовать для его получения.источник
nginx-extra
сделаннойmore_set_headers "Server: whatever";
работы, так что +1: DВместо header_filter_by_lua рекомендуется использовать новую директиву header_filter_by_lua_block, которая вставляет источник Lua непосредственно между фигурными скобками (
{}
). При этом не нужно экранировать спецсимволы.header_filter_by_lua_block { ngx.header["server"] = nil }
https://github.com/openresty/lua-nginx-module#header_filter_by_lua_block
источник
Прежде всего: зачем использовать дополнительный модуль в качестве заголовков More Nginx? Только чтобы скрыть заголовок сервера. Если несколько строк, простой патч может достичь того же решения для вас.
Использование дополнительного модуля может привести к нестабильности (насколько хорошо он был протестирован с вашей средой? С другими вашими модулями и т. Д.) Или ненадежности (регулярно ли этот модуль обновляется с исправлениями ошибок и / или безопасности?)
Во-вторых. В ответе 279389 эта ветка описывает, как вы можете настроить код Nginx для изменения заголовка сервера. Проблема в том, что они забыли HTTP / 2. Короче, ничего не изменится. Заголовок сервера все еще будет виден.
Чем меньше, тем лучше. Хорошо, я признаю, я также долго искал хорошее решение. Но наконец нашел:
Патч удаления заголовка сервера Nginx
Я наконец-то избавился от этого надоедливого заголовка сервера Nginx.
источник
Запустите эту функцию bash в папке с исходным кодом nginx. В версии nginx- $, а не в src /.
На основании этого ответа .
источник
Обратитесь к этой сути . Конечно, поможет вам.
источник