¿Cómo verificar que los proyectos de Ruby on Rails estén en los niveles de parches actuales?

1

Tengo algunos sistemas Ruby on Rails que ejecutan Ubuntu 14.04LTS. La versión de Ubuntu de Ruby compatible es 1.9.1 pero los desarrolladores usan un Gemfile y Bundler que (AFAIK) instala fuera de banda Ruby (y gemas) de las actualizaciones del sistema operativo para permitir que diferentes proyectos utilicen diferentes pilas de Rails.

Creo que la versión real de Ruby en uso es 2.3.5, pero no se puede decir de las utilidades del paquete de Ubuntu. Ha sido así durante años, pero las políticas de seguridad recientes nos están empujando en la dirección de probar que estamos al tanto de estas actualizaciones y no puedo marcar una casilla que dice "los desarrolladores web dicen que está bien" .

He intentado bundle show y obtener una lista de gemas de Ruby en uso en el proyecto actual (directorio), pero cualquier servidor individual puede tener varias sucursales de proyectos, con muchas versiones diferentes de gemas en uso en cada rama . No podría decirle con seguridad qué sistemas / proyectos están actualizados con los niveles de parches actuales.

A los desarrolladores realmente no les importa involucrarse con los aspectos de seguridad, pero si tomo algunos datos duros para la gestión y digo "Este sistema está ejecutando la versión vulnerable XX Este es el CVE. No estamos parchados" mi trabajo está hecho.

¿Existe una forma más fácil de obtener versiones actuales de Ruby / Bundler / Gems que no sean algunas feos find /var/www -name Gemfile -exec ... shell-fu?

    
pregunta Server Fault 06.04.2018 - 17:56
fuente

1 respuesta

-1

Lo que describe es una pesadilla de seguridad en sí misma: múltiples entornos en versiones desconocidas (efectivamente, por lo tanto, no documentadas), sin registro central que actualizar si es necesario.

Entonces, eso es en sí mismo digno de informar.

Ahora, su trabajo se convierte en hacer un mapa de todas las instalaciones; ejecute sus comandos en cada uno de estos (de forma automatizada) y realice un informe a partir de eso, así como integrándolo en cualquier infraestructura para la administración del servidor (vagrant? ¿Ansible? Puppet? ...) Lo usan. Felicidades!

    
respondido por el Marcus Müller 06.04.2018 - 18:06
fuente

Lea otras preguntas en las etiquetas