No quiero que nadie pueda detectar que estoy usando NGINX o incluso Ubuntu desde Internet. Existen herramientas (como BuiltWith) que escanean servidores para detectar qué herramientas están utilizando. Además, algunas herramientas de craqueo pueden ayudar con la detección. ¿Qué es lo mejor / más cercano que puedo conseguir para ocultar toda esta información desde el exterior?
80
Si ha instalado nginx usando apt-get en Debian o Ubuntu, es posible que necesite instalar el paquete nginx-extras para configurar o borrar el encabezado "Servidor"
Una vez hecho esto, puede agregar las siguientes líneas en nginx.conf (generalmente /etc/nginx/nginx.conf):
Para borrar el encabezado "Servidor" por completo:
Para establecer una cadena personalizada como "Servidor"
fuente
more_clear_headers Server;
funciona también en Debian Jessie 8.5 versión nginx: nginx / 1.6.2http
,server
,location
, ylocation if
contextos. Fuente: documentación de ngx_headers_moresudo apt-get install nginx-extras
y luego configure los encabezadosunknown directive "more_set_headers"
. Lo resolvió habilitando el módulo explícitamente en/etc/nginx/nginx.conf
. Simplemente agregueload_module modules/ngx_http_headers_more_filter_module.so;
al comienzo del archivo de configuración.@ Martin F. Sí, lo hace. Tendrá que compilarlo desde la fuente y cambiar lo que se necesita antes de compilar la fuente.
Supongo que descargó la última versión estable, la descomprimió y sabe dónde están los archivos. Si ese es el caso, haga lo siguiente:
Luego busque la línea 48 si recuerdo correctamente.
Reemplace nginx con MyWhateverServerNameIWant ej.
Entonces
busca la linea
cambie "nginx /" a "MyWhateverServerNameIWant /" para que se lea
Finalmente si quieres también cambia el número de versión
busque la línea #define NGINX_VERSION "1.0.4"
y cambie "1.0.4" para cualquier versión que desee. Por ejemplo leerá
Espero eso ayude. Sin embargo. Asegurar un servidor va mucho más allá de no mostrar lo que se está ejecutando. PHP es inseguro por naturaleza, y también lo es Linux. Por supuesto, Linux puede ser bastante seguro si se toman todas las medidas necesarias para lograr una seguridad decente. En lo que respecta a PHP, recomendaría usar Suoshin para ayudar a fortalecer la seguridad de su código.
fuente
Después de mucho tiempo resolviendo cómo hacer un sabor personalizado de nginx en ubuntu, me di cuenta de que puede usar el módulo lua para esto.
En ubuntu 14.04 si instala el
nginx-extras
paquete, puede eliminar el encabezado del servidor usando:header_filter_by_lua 'ngx.header["server"] = nil';
Agregue esto en el bloque http y cada solicitud carecerá de un
Server
encabezado.Si no funciona, ejecute
nginx -V
para verificar que tiene el módulo lua compilado en su copia de nginx. Si no, es probable que haya un paquete alternativo que pueda usar para obtenerlo.fuente
nginx-extra
hizo elmore_set_headers "Server: whatever";
trabajo, así que +1: DEn lugar de header_filter_by_lua , se recomienda utilizar la nueva directiva header_filter_by_lua_block que alinea la fuente Lua directamente entre llaves (
{}
). Con esto no es necesario escapar de caracteres especiales.header_filter_by_lua_block { ngx.header["server"] = nil }
https://github.com/openresty/lua-nginx-module#header_filter_by_lua_block
fuente
Primero y principal: ¿Por qué usar un módulo adicional como encabezados más Nginx? Solo para ocultar el encabezado del servidor. Si unas pocas líneas, un parche simple puede llegar a la misma solución para usted.
Como el uso de un módulo adicional podría provocar inestabilidad (¿qué tan bien se ha probado con su entorno? Con sus otros módulos, etc.) o inseguridad (¿este módulo se actualiza regularmente con errores y / o correcciones relacionadas con la seguridad?)
En segundo lugar. Este hilo describe como respuesta 279389 cómo puede ajustar el código Nginx para cambiar el encabezado del servidor. El problema es que han olvidado HTTP / 2. En resumen, nada cambiará. El encabezado del servidor seguirá siendo visible.
Menos es más es mejor. Ok, lo admito, también he estado buscando una buena solución durante mucho tiempo. Pero finalmente encontró:
Parche de eliminación del encabezado del servidor Nginx
Finalmente soy redimido de ese molesto encabezado del servidor Nginx.
fuente
Ejecute esta función bash en la carpeta de código fuente nginx. En la versión nginx- $, no en src /.
Basado en esta respuesta .
fuente
Consulte esta esencia . Seguramente te ayudará.
fuente