Revisión de Seguridad Quarkus
Buenas prácticas para asegurar aplicaciones Quarkus con autenticación, autorización y validación de entrada.
Cuándo Activar
- Agregar autenticación (JWT, OIDC, Basic Auth)
- Implementar autorización con @RolesAllowed o SecurityIdentity
- Validar entrada de usuario (Bean Validation, validadores personalizados)
- Configurar CORS o cabeceras de seguridad
- Gestionar secretos (Vault, variables de entorno, fuentes de configuración)
- Agregar limitación de velocidad o protección contra fuerza bruta
- Escanear dependencias por CVEs
- Trabajar con MicroProfile JWT o SmallRye JWT
Autenticación
Autenticación JWT
Configuración (application.properties):
Filtro de Autenticación Personalizado
Autorización
Control de Acceso Basado en Roles
Seguridad Programática
Validación de Entrada
Bean Validation
Validadores Personalizados
Prevención de Inyección SQL
Panache Active Record (Seguro por Defecto)
Consultas Nativas (Usar Parámetros)
Hash de Contraseñas
Configuración de CORS
Gestión de Secretos
Limitación de Velocidad
Nota de Seguridad: Nunca usar X-Forwarded-For directamente — los clientes pueden falsificarlo.
Usar la dirección remota real de la solicitud servlet, o una identidad autenticada
(clave API, subject del JWT) cuando esté disponible.
Cabeceras de Seguridad
Logging de Auditoría
Escaneo de Seguridad de Dependencias
Buenas Prácticas
- Siempre usar HTTPS en producción
- Habilitar JWT u OIDC para autenticación sin estado
- Usar
@RolesAllowedpara autorización declarativa - Validar toda entrada con Bean Validation
- Hashear contraseñas con BCrypt (nunca texto plano)
- Almacenar secretos en Vault o variables de entorno
- Usar consultas parametrizadas para prevenir inyección SQL
- Agregar cabeceras de seguridad a todas las respuestas
- Implementar limitación de velocidad para endpoints públicos
- Auditar operaciones sensibles
- Mantener dependencias actualizadas y escanear por CVEs
- Usar SecurityIdentity para verificaciones programáticas
- Establecer políticas CORS apropiadas
- Probar rutas de autenticación y autorización


