Não quero que ninguém seja capaz de detectar que estou usando o NGINX ou mesmo o Ubuntu da Internet. Existem ferramentas por aí (como o BuiltWith) que examinam os servidores para detectar quais ferramentas estão sendo usadas. Além disso, algumas ferramentas de cracking podem ajudar na detecção. Qual é o melhor / mais próximo possível de esconder todas essas informações de fora?
80
Se você instalou o nginx usando o apt-get no Debian ou Ubuntu, pode ser necessário instalar o pacote nginx-extras para definir ou limpar o cabeçalho "Servidor"
Feito isso, você pode adicionar as linhas abaixo no nginx.conf (geralmente /etc/nginx/nginx.conf):
Para limpar o cabeçalho "Servidor" completamente:
Para definir uma sequência personalizada como "Servidor"
fonte
more_clear_headers Server;
Trabalhos confirmados também no Debian Jessie 8.5 versão nginx: nginx / 1.6.2http
,server
,location
, elocation if
contextos. Fonte: ngx_headers_more documentationsudo apt-get install nginx-extras
e defina os cabeçalhosunknown directive "more_set_headers"
. Resolvido via ativação explícita do módulo em/etc/nginx/nginx.conf
. Basta adicionarload_module modules/ngx_http_headers_more_filter_module.so;
no início do arquivo de configuração.@ Martin F. Sim, sim. Você precisará compilá-lo da fonte e alterar o que for necessário antes de compilar a fonte.
Suponho que você baixou a última versão estável, descompactou e sabe onde estão os arquivos. Se for esse o caso, faça o seguinte:
Então procure a linha 48 se bem me lembro.
Substitua nginx por MyWhateverServerNameIWant, por exemplo
Então
procure a linha
altere "nginx /" para "MyWhateverServerNameIWant /" para ler
Finalmente, se você também quiser alterar o número da versão
procure a linha #define NGINX_VERSION "1.0.4"
e mude "1.0.4" para a versão que você desejar. Por exemplo, ele lerá
Espero que ajude. Mesmo assim. Proteger um servidor vai muito além de não mostrar o que está sendo executado. O PHP é inseguro por natureza, e o linux também. Fora do curso, o linux pode ser bastante seguro se todas as medidas necessárias forem tomadas para obter uma segurança decente. No que diz respeito ao PHP, eu recomendaria o uso do Suoshin para ajudar a fortalecer a segurança do seu código.
fonte
Depois de muito tempo resolvendo como criar um sabor personalizado do nginx no ubuntu, percebi que você pode usar o módulo lua para isso.
No ubuntu 14.04, se você instalar o
nginx-extras
pacote, poderá remover o cabeçalho do servidor usando:header_filter_by_lua 'ngx.header["server"] = nil';
Jogue isso no bloco http e todas as solicitações não terão um
Server
cabeçalho.Se não funcionar, execute
nginx -V
para verificar se o módulo lua foi compilado na sua cópia do nginx. Caso contrário, é provável que você possa usar um pacote alternativo para obtê-lo.fonte
nginx-extra
feitamore_set_headers "Server: whatever";
de trabalho, de modo +1: DEm vez do header_filter_by_lua , é recomendável usar a nova diretiva header_filter_by_lua_block, que alinha a fonte Lua diretamente entre chaves (
{}
). Com isso, não é necessário escapar de caracteres especiais.header_filter_by_lua_block { ngx.header["server"] = nil }
https://github.com/openresty/lua-nginx-module#header_filter_by_lua_block
fonte
Primeiro e mais importante: Por que usar um módulo extra como cabeçalhos mais Nginx? Apenas para ocultar o cabeçalho do servidor. Se algumas linhas, o patch simples pode alcançar a mesma solução para você.
Como o uso de um módulo extra pode resultar em instabilidade (quão bem ele foi testado com seu ambiente? Com seus outros módulos etc.) ou insegurança (este módulo é atualizado regularmente com erros e / ou correções relacionadas à segurança?)
Em segundo lugar. Este tópico descreve como resposta 279389 como você pode ajustar o código Nginx para alterar o cabeçalho do servidor. O problema é que eles esqueceram o HTTP / 2. Em suma, nada vai mudar. O cabeçalho do servidor ainda estará visível.
Menos é mais é melhor. Ok, eu admito, eu também tenho procurado uma boa solução por um longo tempo. Mas finalmente encontrei:
Patch de remoção do cabeçalho do servidor Nginx
Finalmente sou resgatado daquele cabeçalho irritante do servidor Nginx.
fonte
Execute esta função bash na pasta de código-fonte nginx. Na versão nginx- $, não no src /.
Com base nesta resposta .
fonte
Consulte esta essência . Certamente irá ajudá-lo.
fonte