Seguridad
Última actualización: 16 de marzo de 2026
1. Compromiso con la seguridad
sh0 se toma la seguridad en serio. Implementamos prácticas líderes en la industria para proteger tus datos, cuentas y aplicaciones desplegadas del acceso no autorizado, modificación y divulgación.
2. Seguridad de la arquitectura
2.1 Seguridad de red
- TLS 1.3: Todos los datos en tránsito cifrados con el último estándar
- HSTS: HTTP Strict Transport Security habilitado
- CORS: Intercambio de recursos de origen cruzado configurado de forma segura
- WAF: Firewall de aplicaciones web para prevenir ataques
- Protección DDoS: Mitigación DDoS de Cloudflare
- Limitación de tasa: Limitación de tasa de API para prevenir abuso
2.2 Seguridad de infraestructura
- Proveedores: Contabo y Hetzner (certificados ISO 27001)
- Firewalls: Firewalls de hardware y software configurados
- Segmentación de red: Redes separadas para diferentes servicios
- Aislamiento de contenedores: Cada despliegue se ejecuta en su propio contenedor aislado
- Sistemas de respaldo: Respaldos aislados y cifrados con retención configurable
3. Autenticación y autorización
3.1 Seguridad de contraseñas
- Hashing: Argon2 con sal para todas las contraseñas
- Requisitos mínimos: 8+ caracteres, mayúsculas y minúsculas, números/símbolos
- Restablecimiento de contraseña: Restablecimiento de contraseña seguro basado en token (expiración de 1 hora)
- Sin almacenamiento: Nunca almacenamos contraseñas en texto plano
3.2 Autenticación de dos factores (2FA)
- TOTP: Contraseña de un solo uso basada en tiempo (Google Authenticator, Authy)
- Códigos de respaldo: Códigos de recuperación para recuperar la cuenta
- Recomendado: Disponible para todos los usuarios, requerido para acceso de administrador
3.3 Gestión de sesiones
- Tokens JWT: Firmados, expiran en 24 horas
- Tokens de actualización: Rotación segura de tokens de actualización
- Tiempo de espera de sesión: Cierre de sesión automático después de 30 minutos de inactividad
- Sesiones simultáneas: Límite para prevenir acceso no autorizado
- Cookies seguras: Flags HttpOnly, Secure, SameSite
4. Cifrado de datos
4.1 En tránsito
- Protocolo: TLS 1.3 (mínimo)
- Certificado: SSL automático vía Caddy (Let's Encrypt / ZeroSSL)
- Perfect Forward Secrecy: Habilitado (claves efímeras)
4.2 En reposo
- Algoritmo: Cifrado AES-256-GCM
- Secretos: Todos los secretos, claves API y variables de entorno cifrados
- Base de datos: SQLite con cifrado completo de disco en almacenamiento
- Gestión de claves: Claves almacenadas separadas de los datos usando la biblioteca criptográfica ring
4.3 Claves de cifrado
- Generación de claves: Generación aleatoria criptográficamente segura
- Rotación de claves: Rotación anual para claves de larga duración
- Control de acceso: Restringido solo a sistemas autorizados
5. Seguridad de la aplicación
5.1 Seguridad del código
- OWASP Top 10: Mitigaciones para todas las vulnerabilidades comunes
- Validación de entrada: Validación estricta en todas las entradas
- Inyección SQL: Consultas parametrizadas vía rusqlite
- Prevención de XSS: Política de seguridad de contenido (CSP) habilitada
- Protección CSRF: Tokens CSRF en todas las solicitudes que cambian estado
5.2 Gestión de dependencias
- Análisis de vulnerabilidades: cargo-audit para dependencias de Rust
- Fijación de versiones: Producción usa versiones bloqueadas (Cargo.lock)
- Seguridad de la cadena de suministro: Solo paquetes verificados
5.3 Manejo de errores
- Mensajes de error seguros: Sin información sensible en las respuestas de error
- Registro: Errores registrados de forma segura vía tracing sin exponer datos
- Trazas de pila: Ocultos en producción
- Monitoreo: Alertas en tiempo real para anomalías
6. Seguridad de la API
- Claves API: Cifradas, con alcance definido, rotables
- Limitación de tasa: Límites por usuario, por IP
- Verificación de firma: HMAC-SHA256 para autenticidad de webhooks
- Tokens Bearer: Autenticación basada en JWT para todas las llamadas a la API
7. Seguridad de contenedores
- Contenedores no-root: Todos los contenedores se ejecutan como no-root por defecto
- Aislamiento de red: Las redes Docker aíslan los stacks entre sí
- Límites de recursos: Límites de CPU y memoria aplicados por contenedor
- Análisis de imágenes: Imágenes base analizadas en busca de vulnerabilidades conocidas
- Sistemas de archivos de solo lectura: Cuando aplica, los contenedores usan sistemas de archivos raíz de solo lectura
8. Monitoreo y registro
8.1 Monitoreo de seguridad
- Alertas: Alertas en tiempo real para actividad sospechosa
- Respuesta a incidentes: Tiempo de respuesta de 15 minutos para incidentes críticos
- Verificaciones de estado: Monitoreo continuo de salud de contenedores y servicios
8.2 Registro de auditoría
- Qué: Quién accedió a qué, cuándo, desde dónde, qué cambió
- Retención: 1 año para registros de auditoría
- Inmutabilidad: Los registros no pueden modificarse después de su creación
- Cifrado: Registros cifrados en tránsito y en reposo
9. Control de acceso
- Principio de mínimo privilegio: Los usuarios solo tienen el acceso necesario
- Control de acceso basado en roles: Roles de administrador, miembro y observador
- MFA requerido: Para todo acceso administrativo
- Registro de acceso: Todas las acciones de administración registradas
10. Seguridad del proxy inverso
- Caddy: HTTPS automático con grapado OCSP
- Gestión de certificados: Renovación automática, rotación sin tiempo de inactividad
- Seguridad de cabeceras: X-Frame-Options, X-Content-Type-Options, Referrer-Policy
- HTTP/2 y HTTP/3: Soporte de protocolos modernos
11. Pruebas de seguridad
11.1 Pruebas regulares
- SAST: Pruebas de seguridad estática de aplicaciones (clippy, cargo-audit)
- DAST: Pruebas de seguridad dinámica de aplicaciones (análisis en tiempo de ejecución)
- Pruebas de penetración: Pruebas de penetración externas anuales
11.2 Gestión de vulnerabilidades
- Programa de divulgación: Política de divulgación responsable
- Tiempo de respuesta: Crítico = 24 horas, Alto = 7 días
- Parcheo: Parches de emergencia desplegados en horas si es necesario
12. Respuesta a incidentes
En caso de un incidente de seguridad:
- Detección y análisis: Identificar alcance y gravedad (1 hora)
- Contención: Aislar sistemas afectados (4 horas)
- Investigación: Determinar la causa raíz y el impacto
- Notificación: Informar a los usuarios afectados (máximo 72 horas)
- Recuperación: Restaurar operaciones normales
- Post-incidente: Revisión y mejora de procesos
13. Cumplimiento y certificaciones
- GDPR: Cumple (protección de datos de la UE)
- CCPA: Cumple (privacidad de California)
- SOC 2 Tipo II: Planificado
- ISO 27001: Planificado
14. Reportar problemas de seguridad
¿Encontraste una vulnerabilidad de seguridad?
- Email: [email protected]
- No hacer: No divulgar públicamente antes de que hayamos tenido 90 días para parchar
- Nosotros: Confirmar recepción dentro de 24 horas, proporcionar actualizaciones regulares
- Agradecimiento: Investigadores de seguridad acreditados (si lo desean)
15. Contacto del equipo de seguridad
- Email: [email protected]
- General: [email protected]