Saltar a contenido

🔐 Certificados y acceso seguro

CORDIA aplica distintas medidas de seguridad para garantizar que el acceso al sistema sea seguro, cifrado y controlado. Esto incluye el uso de certificados SSL, autenticación básica, protección por dominios, y claves SSH para acceso a servidores.


🔒 HTTPS y certificados SSL

  • En producción se utiliza HTTPS con certificados válidos emitidos por Let's Encrypt (vía Nginx Proxy Manager)
  • Cada subdominio (api.cordia.org, admin.cordia.org, etc.) cuenta con su propio certificado
  • NPM gestiona la renovación automática

🧩 Autenticación HTTP (básica)

  • Algunos subdominios locales como:

  • docs.cordia.local

  • devdocs.cordia.local
  • apidocs.cordia.local
  • swagger.cordia.local

Están protegidos mediante autenticación básica con .htpasswd, gestionada desde el contenedor cordia-proxy


🔑 Acceso por clave SSH

  • Los despliegues automáticos (GitHub Actions) y manuales requieren claves SSH
  • Clave privada: pull_ed25519, almacenada de forma segura en servidores o como secreto en GitHub
  • Repositorio clonado mediante:
GIT_SSH_COMMAND="ssh -i ~/.ssh/pull_ed25519" git pull origin prod

📁 Archivos clave

/etc/nginx/.htpasswd           # Accesos básicos protegidos
.docker-data/letsencrypt/      # Certificados SSL generados por NPM
~/.ssh/pull_ed25519            # Clave privada para pulls en producción

🛠 Recomendaciones

  • No compartir claves ni contraseñas entre usuarios
  • Revisar periódicamente las fechas de expiración de certificados
  • Configurar alertas en NPM si una renovación falla
  • Cambiar las credenciales por defecto de NPM (admin/admin)

Para más detalles sobre autenticación avanzada, consulta también jwt.md y roles.md.