
Secure Your Node.js Web Application
Karl Duuna
- Editorial
- The Pragmatic Programmers
- Año
- 2016
- Páginas
- ~222
- Nivel
- Intermedio
De qué trata
Guía eminentemente práctica de Karl Düüna orientada a integrar la seguridad como un requisito transversal dentro del ciclo de vida del desarrollo de aplicaciones web (SDLC) sobre Node.js (enfocado en las versiones 4.x y 6.x LTS). Está diseñada para desarrolladores full-stack y backend que ya trabajan con JavaScript y frameworks como Express, y que necesitan aprender a pensar como un atacante para diseñar arquitecturas resistentes y conformes a buenas prácticas en producción.
El libro profundiza en una amplia variedad de vectores de ataque y sus soluciones específicas en código: el principio de mínimo privilegio en el servidor, endurecimiento de la configuración del sistema operativo y configuración de redes seguras con TLS. Aborda la prevención de inyecciones de código (eval e inyección de órdenes en el shell mediante el módulo nativo child_process), así como la seguridad de datos frente a SQL Injection en MySQL y NoSQL Injection en MongoDB. Dedica un análisis riguroso a la gestión de concurrencia y prevención de condiciones de carrera (race conditions), autenticación segura con almacenamiento seguro de contraseñas mediante bcrypt, manejo de tokens y sesiones, y defensas perimetrales del cliente frente a Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF), clickjacking y redirecciones abiertas no confiables.
La metodología del libro se fundamenta en pares de vulnerabilidad y contramedida: cada capítulo muestra un escenario de código vulnerable, explica cómo explotarlo y guía detalladamente en la aplicación del parche de seguridad y la configuración de cabeceras HTTP defensivas bajo una estrategia de defensa en profundidad. Su gran mérito es tratar problemáticas avanzadas como la concurrencia asíncrona y la inyección en bases NoSQL, temas habitualmente ignorados en manuales generalistas. Aunque algunas librerías accesorias han evolucionado desde 2016, los principios de saneamiento, validación y fortificación arquitectónica expuestos conservan plena relevancia y utilidad.
- Node.js
- Express
- Seguridad web
- Inyección SQL
- NoSQL Injection
- XSS
- CSRF
- MongoDB
- MySQL
- Bcrypt
- Concurrencia
- Defensa en profundidad
¿Cómo enseña?
Con ejercicios
- ✓ Incluye ejercicios
- ✗ Sin proyectos

