passenger_enabled ruby-on-rails security http-headers nginx passenger

ruby on rails - passenger_enabled - ¿Cómo eliminar el encabezado "X-Runtime" de Nginx/Passenger?



passenger config nginx (5)

Lo siguiente es para Apache. No leí la pregunta correctamente. :)

Habilite el módulo de encabezados, mod_headers , y agregue lo siguiente a la configuración de Apache

Header always unset "X-Runtime"

Probablemente también quiera eliminar el encabezado X-Powered-By así que agregue lo siguiente también.

Header always unset "X-Powered-By"

EDITAR - la solución que publiqué a continuación probablemente se aplique a cualquier servidor (Nginx / Apache / cualquier otra cosa), porque este encabezado está configurado en Rails.

¿Alguien sabe dónde se puede eliminar el encabezado "X-Runtime" en Nginx & Passenger?

He agotado los archivos fuente y aún no he encontrado nada, pero me gustaría deshacerme de él por seguridad, ya que es un signo revelador de Rails.


Resultó que no se estaba configurando ni en Nginx ni en Pasajero.

Está en benchmarking.rb en /gems/actionpack-2.3.2/lib/action_controller/, línea 90.


En Apache puede usar mod_headers para eliminar cualquier encabezado de la respuesta (o la solicitud para ese asunto).

Para eliminar los encabezados, debe habilitar el módulo:

# a2enmod headers

Luego puede usar la opción desarmada para la directiva de Encabezado para desarmarlos:

Header unset X-Runtime Header unset X-Powered-By

Esta directiva se puede usar tanto a nivel global como para el servidor virtual único


Sé que es una pregunta un tanto vieja, pero como el problema todavía existe y muchos sitios aún exponen su versión para pasajeros y nginx, doy una respuesta que me funciona muy bien. La misma solución se aplica al encabezado de X-Runtime.

Simplemente instale ngx_headers_more de terceros: http://github.com/agentzh/headers-more-nginx-module (debe reconstruirlo desde el origen). Agregue a su configuración (creé /etc/nginx/conf.d/security.conf para ello): server_tokens off; el servidor de more_clear_headers '''' X-Powered-By '''' X-Runtime '';


Para cualquiera que todavía esté tropezando con esto, creo que la manera más simple y correcta de hacerlo es en config / application.rb, agregando lo siguiente:

config.middleware.delete(Rack::Runtime)

Todos los otros métodos parecen no deshabilitar tanto el encabezado como filtrarlo de la salida. Esto es para rails4, no estoy seguro de si se aplica a otras versiones.

Actualizar:

El siguiente código en un archivo de inicializador puede ser más robusto ya que otros componentes pueden suponer la existencia de middleware Rack :: Runtime.

Rails.application.config.middleware.delete(Rack::Runtime)