Cambiar el nombre del header Server en nginx
Anteriormente hemos visto como esconder la versión exacta de nginx que esta en un servidor, pero no como cambiar la cadena a mostrar. Vamos a ver como modificar el código fuente de nginx para modificar el Server header.
Una vez descomprimido el código fuente del nginx deberemos editar el fichero src/http/ngx_http_header_filter_module.c dónde encontraremos dos cadenas:
static char ngx_http_server_string[] = "Server: nginx" CRLF; static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
La primera se usa cuando tenemos la opción server_tokens off, mientras que la segunda contiene la cadena con la versión según se define en el fichero NGINX_VER con los siguientes defines:
#define NGINX_VERSION "0.7.65" #define NGINX_VER "nginx/" NGINX_VERSION
Podemos modificar estas dos cadenas para identificar el nginx como cualquier otro servidor web, por ejemplo Apache, o bien para adaptar el nombre a como algunos lo pronuncian:
$ curl -I ejemplo.systemadmin.es HTTP/1.1 301 Moved Permanently Server: nyinch Date: Thu, 20 May 2010 06:13:19 GMT Content-Type: text/html; charset=iso-8859-1 Connection: keep-alive Location: http://systemadmin.es/
Relacionados
Imprimir
25. May 2010 at 10:34 pm :
yo prefiero “enyin-eks”