Revisión de Seguridad Spring Boot
Usar al agregar autenticación, manejar entradas, crear endpoints o trabajar con secretos.
Cuándo Activar
- Agregar autenticación (JWT, OAuth2, basada en sesión)
- Implementar autorización (@PreAuthorize, control de acceso basado en roles)
- Validar entrada de usuario (Bean Validation, validadores personalizados)
- Configurar CORS, CSRF o cabeceras de seguridad
- Gestionar secretos (Vault, variables de entorno)
- Agregar limitación de velocidad o protección contra fuerza bruta
- Escanear dependencias por CVEs
Autenticación
- Preferir JWT sin estado o tokens opacos con lista de revocación
- Usar cookies
httpOnly,Secure,SameSite=Strictpara sesiones - Validar tokens con
OncePerRequestFiltero resource server
@Component
public class JwtAuthFilter extends OncePerRequestFilter {
private final JwtService jwtService;
public JwtAuthFilter(JwtService jwtService) {
this.jwtService = jwtService;
}
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response,
FilterChain chain) throws ServletException, IOException {
String header = request.getHeader(HttpHeaders.AUTHO…