Administración/Archivos de Configuración

Configuración de Seguridad

Configura los ajustes relacionados con la seguridad para tu instancia de Gigantics, incluyendo claves de sesión y cifrado.

Propiedades de Configuración

Las propiedades de configuración de seguridad en tu archivo config/default.yaml controlan la gestión de sesiones y el cifrado de datos:

secretSessionKey: session secret
encryptionKey: my-secret-key

Detalles de las Propiedades

secretSessionKey

  • Tipo: Cadena
  • Predeterminado: 'session secret'
  • Descripción: Clave secreta usada para firmar cookies de sesión. Debe ser una cadena única y aleatoria en producción.

encryptionKey

  • Tipo: Cadena
  • Predeterminado: 'my-secret-key' (desarrollo) o generada aleatoriamente (producción)
  • Descripción: Clave usada para cifrar datos sensibles en la aplicación.

Ejemplos

Configuración de Desarrollo

secretSessionKey: session secret
encryptionKey: my-secret-key

Configuración de Producción

secretSessionKey: 'una-clave-secreta-muy-larga-y-aleatoria-para-sesiones'
encryptionKey: 'otra-clave-secreta-muy-larga-y-aleatoria-para-cifrado'

Generando Claves Seguras

Para entornos de producción, deberías generar claves aleatorias seguras:

Usando OpenSSL

# Genera una cadena aleatoria de 32 caracteres
env OPENSSL_CONF=/etc/ssl/openssl.cnf openssl rand -base64 32
 
# Genera una cadena aleatoria de 64 caracteres
env OPENSSL_CONF=/etc/ssl/openssl.cnf openssl rand -hex 32

Usando Node.js

# Genera una cadena aleatoria usando Node.js
node -e "console.log(require('crypto').randomBytes(32).toString('hex'));"

Mejores Prácticas

  1. Claves Únicas: Usa claves diferentes para secretSessionKey y encryptionKey
  2. Longitud de Claves: Usa al menos 32 caracteres para cada clave
  3. Aleatoriedad: Genera claves usando generadores criptográficamente seguros
  4. Almacenamiento: Almacena las claves de forma segura y nunca las comitees a control de versiones
  5. Entornos: Usa diferentes claves para desarrollo, staging y producción
  6. Rotación: Rota regularmente las claves de cifrado en producción

Configuración Específica por Entorno

La aplicación usa automáticamente diferentes claves predeterminadas basadas en el entorno:

  • Desarrollo: Usa claves predeterminadas fijas para conveniencia
  • Producción: Genera claves aleatorias para seguridad
  • Prueba: Usa claves específicas para test

Puedes verificar tu entorno con:

echo $NODE_ENV

Probando Cambios de Configuración

Después de modificar la configuración de seguridad:

  1. Reinicia la aplicación:
    ./gig stop
    ./gig start
  2. Los usuarios pueden ser desconectados y necesitar reautenticarse
  3. Prueba que las sesiones funcionan correctamente
  4. Verifica que los datos cifrados aún pueden ser descifrados

Nota que cambiar las claves de cifrado puede hacer que los datos previamente cifrados sean ilegibles, así que ten cuidado al rotar claves en producción.