🔐 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.localapidocs.cordia.localswagger.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.mdyroles.md.