Cuando se abre una aplicación de Rails en vivo, ¿es peligroso dejar la key de la session en secreto en el control de la fuente?

Tengo una aplicación de Rails que se ha estado ejecutando en vivo por un time, y estoy planeando abrirla en un futuro cercano. Me pregunto qué tan peligroso es dejar el secreto de la tienda key de la session en control de fuente mientras la aplicación está activa.

Si es peligroso, ¿cómo la gente suele manejar este problema? Supongo que es más fácil simplemente mover la cadena a un file de text que SCM ignora, y leerlo más tarde.

Solo por claridad, estoy hablando de esto:

# Your secret key for verifying cookie session data integrity. # If you change this key, all old sessions will become invalid! # Make sure the secret is at least 30 characters and all random, # no regular words or you'll be exposed to dictionary attacks. ActionController::Base.session = { :key => '_application_session', :secret => '(long, unique string)' } 

Y mientras estamos en el tema, ¿hay algo más en una aplicación de Rails pnetworkingeterminada que debería estar protegida cuando se abre una aplicación en vivo?

Dale la vuelta a la pregunta. ¿Reutilizaría una key secreta del proyecto de otra persona que acaba de download? Probablemente no, y otros usuarios inteligentes de tu código tampoco lo harán. Los usuarios malintencionados tendrán una key para usar como ataque en su sitio principal, así como también contra cualquier usuario que tenga la pereza suficiente para no cambiar la key.

Otros files de configuration que podría tener y que no deberían compartirse incluyen database.yml, s3.yml, amazon_s3.yml, etc. Si no lo envía a un extraño, no lo guarde en su scm cuando libere su código al mundo.

Pondré esto en un file de configuration. Probablemente necesites algunos ajustes de configuration, así que ¿por qué no lo pones ahí y agregas un comentario que debe modificarse cuando el usuario instala el software?

Puede encontrar un ejemplo de código y algunas experiencias sobre cómo trabajar con sesiones existentes si está actualizando una aplicación ya existente en la publicación de blog de Michael Hartl. Problema de security con las keys de session secretas de Rails .