Saltar al contenido principal
Seguridad en Aplicaciones Web Java

Seguridad en Aplicaciones Web Java

Ortega Candel, José Manuel

Java es uno de los lenguajes de programación más utilizados a nivel empresarial a la hora de desarrollar aplicaciones de gestión con buenos niveles de escalabilidad y disponibilidad. Además de tener sólidos conocimientos en programación orientada a objetos y arquitectura de software, desde el punto de vista de la seguridad, aquellos que buscan desarrollar una carrera profesiona...

Editorial:
Ra-Ma
Año de edición:
2018
Materia:
Seguridad
ISBN:
978-84-9964-732-6
Páginas:
430
Encuadernación:
Rústica
Colección:
Informática
29,90 €
IVA incluido
Añadir a favoritos

Sinopsis

Java es uno de los lenguajes de programación más utilizados a nivel empresarial a la hora de desarrollar aplicaciones de gestión con buenos niveles de escalabilidad y disponibilidad. Además de tener sólidos conocimientos en programación orientada a objetos y arquitectura de software, desde el punto de vista de la seguridad, aquellos que buscan desarrollar una carrera profesional con tecnologías open source, es necesario conocer un conjunto de buenas prácticas a la hora de crear aplicaciones web. El objetivo de este libro es enseñar los principales criterios y buenas prácticas para crear aplicaciones web de forma segura en Java. Además comentaremos los aspectos de seguridad en las diferentes etapas del desarrollo de aplicaciones web en Java, alineadas a las buenas prácticas propuestas por OWASP (Open Web Application Security Project) y en particular el top ten de vulnerabilidades que podemos encontrar en aplicaciones web.Veremos cómo configurar la seguridad de nuestras aplicaciones en los principales servidores de aplicaciones del mercado y detallaremos los pasos a seguir para implementar mecanismos de seguridad con el framework Spring Security. Con el objetivo de desarrollar aplicaciones web seguras utilizando la especificación Java Enterprise Edition (J2EE), se estudiarán los mecanismos de clave publica, privada y firma digital que proporcionen servicios de encriptación, desencriptación, autentificación y comunicación segura.

Índice

INTRODUCCIÓN . OBJETIVOS DEL LIBRO. CAPÍTULO 1. VULNERABILIDADES EN APLICACIONES WEB DEL PROYECTO OWASP ?TOP TEN? EN JAVA INTRODUCCIÓN . OBJETIVOS DE LA UNIDAD DIDÁCTICA . 1.1 INYECCIÓN. 1.1.1 Introducción . 1.1.2 Inyección SQL. 1.1.3 Precedencia de operadores 1.1.4 Particularidades de los backends 1.1.5 Contramedidas generales. 1.2 PÉRDIDA DE AUTENTICACIÓN Y GESTIÓN DE SESIONES 1.2.1 Introducción . 1.2.2 Pérdida de autenticación y gestión de sesiones 1.2.3 Escenarios de exposición . 1.2.4 Contramedidas generales. 1.3 SECUENCIAS DE COMANDOS EN SITIOS CRUZADOS (XSS) 1.3.1 Introducción . 1.3.2 Definición de script . 1.3.3 Definición de ataque XSS . 1.3.4 Tipos de ataques XSS 1.3.5 Fases de un ataque XSS . 1.3.6 Ejemplo de un ataque XSS 1.3.7 Contramedidas. 1.4 REFERENCIA DIRECTA INSEGURA A OBJETOS. 1.4.1 Introducción . 1.4.2 Referencia directa insegura a objetos. 1.4.3 Ejemplos 1.4.4 Contramedidas. 1.5 CONFIGURACIÓN DE SEGURIDAD INCORRECTA. 1.5.1 Introducción . 1.5.2 Configuración de seguridad incorrecta. 1.5.3 Contramedidas. 1.6 EXPOSICIÓN DE DATOS SENSIBLES. 1.6.1 Introducción 1.6.2 Exposición de datos sensibles 1.6.3 Contramedidas. 1.7 AUSENCIA DE CONTROL DE ACCESO A LAS FUNCIONES 1.7.1 Introducción . 1.7.2 Problemática 1.7.3 Contramedidas. 1.8 FALSIFICACIÓN DE PETICIONES EN SITIOS CRUZADOS (CSRF). 1.8.1 Introducción . 1.8.2 Falsificación de peticiones en sitios cruzados (CSRF). 1.8.3 Política del mismo origen (SOP). 1.8.4 Contramedidas. 1.9 USO DE COMPONENTES CON VULNERABILIDADES CONOCIDAS49 1.9.1 Introducción . 1.9.2 Riesgos presentados 1.9.3 Ejemplos 1.9.4 Contramedidas. 1.10 REDIRECCIONES Y ENVÍOS NO VÁLIDOS . 1.10.1 Introducción 1.10.2 Riesgos que presenta 1.10.3 Contramedidas 1.11 EJERCICIOS 1.12 RESUMEN . 1.13 BIBLIOGRAFÍA. 1.14 AUTOEVALUACIÓN UNIDAD 1 1.15 LECTURAS RECOMENDADAS 1.16 GLOSARIO DE TÉRMINOS. CAPÍTULO 2. PROGRAMACIÓN SEGURA EN APLICACIONES DE COMERCIO ELECTRÓNICO. INTRODUCCIÓN . OBJETIVOS DE LA UNIDAD DIDÁCTICA . 2.1 TERMINOLOGÍA 2.2 MANEJO SEGURO DE INFORMACIÓN CONFIDENCIAL 2.3 CERTIFICADOS DIGITALES Y CRIPTOGRAFÍA DE CLAVE PÚBLICA 2.4 CREACIÓN DE CERTIFICADOS CON LA HERRAMIENTA KEYTOOL6 2.5 NORMATIVA PCI-DSS (PAYMENT CARD INDUSTRY DATA SECURITY STANDARD) . 2.6 MECANISMOS DE AUTENTICACIÓN. 2.6.1 OAuth2 2.6.2 OpenID Connect 2.6.3 Doble factor de autenticación. 2.7 DESARROLLO SEGURO EN JAVA. 2.7.1 Validación de parámetros de entrada y salida de datos 2.7.2 Listas negras. 2.7.3 Listas blancas . 2.7.4 Expresiones regulares. 2.7.5 Filtros 2.8 GUÍA OWASP DE DESARROLLO SEGURO. 2.9 EJERCICIOS . 2.10 RESUMEN . 2.11 BIBLIOGRAFÍA. 2.12 AUTOEVALUACIÓN UNIDAD 2 2.13 LECTURAS RECOMENDADAS 2.14 GLOSARIO DE TÉRMINOS. CAPÍTULO 3. PROGRAMACIÓN SEGURA EN SERVICIOS WEB INTRODUCCIÓN . OBJETIVOS DE LA UNIDAD DIDÁCTICA . 3.1 CARACTERÍSTICAS DE LOS SERVICIOS WEB 3.2 ARQUITECTURAS ORIENTADAS A SERVICIOS . 3.3 ARQUITECTURA DE LOS SERVICIOS WEB. 3.4 TECNOLOGÍAS 3.4.1 XML. 3.4.2 SOAP 3.4.3 WSDL 3.4.4 AJAX 3.4.5 Servicios REST . 3.4.6 Tecnologías de segunda generación 3.5 TECNOLOGÍAS J2EE PARA SERVICIOS WEB. 3.5.1 JAXP 3.5.2 JAXM 3.5.3 JAX-RPC / JAX-WS 3.5.4 JAXR 3.5.5 JAXB 3.5.6 Otras librerías 3.6 IMPLEMENTACIÓN DE LOS SERVICIOS WEB EN JAVA 3.6.1 Tipos de datos 3.6.2 Anotaciones. 3.7 SERVICIOS WEB AVANZADOS. 3.7.1 Optimización de mensajes 3.7.2 Servicios web seguros 3.7.3 Confidencialidad e integridad. 3.7.4 Autenticación en servicios web 3.8 FRAMEWORKS JAVA PARA SERVICIOS WEB SEGUROS 3.8.1 Axis 2 . 3.8.2 CXF. 3.8.3 JAX-WS . 3.9 SEGURIDAD EN API REST CON JAVA JAX-RS 3.9.1 Autenticación en JAX-RS 3.9.2 Autorización en JAX-RS 3.9.3 Encriptación . 3.9.4 Seguridad programática 3.10 EJERCICIOS 3.11 RESUMEN . 3.12 BIBLIOGRAFÍA. 3.13 AUTOEVALUACIÓN UNIDAD 3 3.14 LECTURAS RECOMENDADAS 3.15 GLOSARIO DE TÉRMINOS. CAPÍTULO 4. SEGURIDAD EN APLICACIONES WEB. INTRODUCCIÓN . OBJETIVOS DE LA UNIDAD DIDÁCTICA . 4.1 INTRODUCCIÓN 4.2 ATAQUES A APLICACIONES WEB 4.3 AUTENTICACIONES 4.3.1 Certificados Digitales y SSL . 4.4 SEGURIDAD EN APLICACIONES WEB. 4.4.1 Arquitecturas de seguridad en entornos web 4.4.2 Tipologías de seguridad y autenticación 4.4.3 Autenticación basada en formularios 4.4.4 Autenticación basic 4.4.5 Anotaciones relacionadas con la seguridad. 4.4.6 Acceso a la información de seguridad 4.5 SEGURIDAD EN SERVIDORES DE APLICACIONES J2EE . 4.5.1 Esquemas de autorización basados en roles. 4.5.2 Autenticación en Tomcat: realms 4.5.3 Seguridad en JBoss 4.5.4 Seguridad en GlassFish . 4.5.5 Seguridad con Apache Shiro . 4.6 EJERCICIOS . 4.7 RESUMEN 4.8 BIBLIOGRAFÍA 4.9 AUTOEVALUACIÓN UNIDAD 4. 4.10 LECTURAS RECOMENDADAS 4.11 GLOSARIO DE TÉRMINOS. CAPÍTULO 5. SPRING SECURITY. INTRODUCCIÓN . OBJETIVOS DE LA UNIDAD DIDÁCTICA . 5.1 CONFIGURACIÓN DE SEGURIDAD PARA UNA APLICACIÓN WEB23 5.2 AUTENTICACIÓN CONTRA UNA BASE DE DATOS 5.3 SEGURIDAD WEB. 5.3.1 Autenticación basada en formularios 5.3.2 Autenticación BASIC. 5.3.3 Recordar los datos del usuario . 5.3.4 Logout . 5.3.5 Seguridad en las páginas JSP . 5.4 SEGURIDAD EN LA CAPA DE NEGOCIO. 5.4.1 Seguridad con anotaciones estándar 5.4.2 Seguridad con anotaciones de Spring Security . 5.4.3 Seguridad en el XML de configuración 5.4.4 Seguridad en contraseñas . 5.5 EJEMPLO DE PROYECTO CON SPRING SECURITY. 5.6 EJERCICIOS . 5.7 RESUMEN 5.8 AUTOEVALUACIÓN UNIDAD 5 5.9 BIBLIOGRAFÍA 5.10 LECTURAS RECOMENDADAS 5.11 GLOSARIO DE TÉRMINOS. CAPÍTULO 6. JAAS (JAVA AUTHENTICATION AND AUTHORIZATION SERVICE) Y COMUNICACIÓN SEGURA (SSL) . INTRODUCCIÓN . OBJETIVOS DE LA UNIDAD DIDÁCTICA . 6.1 MODELO DE SEGURIDAD EN JAVA. 6.2 INTEGRANDO AUTENTICACIÓN Y AUTORIZACIÓN 6.2.1 JAAS: Java Authentication and Authorization Service. 6.2.2 javax.security.auth.login: LoginContext y Configuration 6.3 JAVAX.SECURITY.AUTH.CALLBACK: CALLBACK Y CALLBACKHANDLER. 6.4 INTERFAZ . 6.5 CLASE JAVAX.SECURITY.AUTH.SUBJECT. 6.6 AUTORIZACIÓN PROGRAMÁTICA. 6.7 CERTIFICADOS Y SSL 6.7.1 SSL Básico: Funcionamiento y HTTPS 6.7.2 Cliente y servidor HTTPS . 6.7.3 Autenticación del cliente. 6.8 EJERCICIO. 6.9 BIBLIOGRAFÍA 6.10 AUTOEVALUACIÓN UNIDAD 6 6.11 LECTURAS RECOMENDADAS 6.12 GLOSARIO DE TÉRMINOS. CAPÍTULO 7. CRIPTOGRAFÍA AVANZADA PARA APLICACIONES WEB. INTRODUCCIÓN . OBJETIVOS DE LA UNIDAD DIDÁCTICA . 7.1 CONFIGURACIÓN DE SISTEMAS OPERATIVOS EN JAVA 7.1.1 Herramientas de seguridad 7.1.2 java.policy 7.1.3 java.security. 7.2 JCA: JAVA CRYPTOGRAPHY ARCHITECTURE 7.2.1 Servicios Proveedores de cryptografía (CSP) 7.3 JCE: JAVA CRYPTOGRAPHY EXTENSION 7.3.1 Librería Bouncy Castle 7.4 ENCRIPTACIÓN SIMÉTRICA 7.4.1 Estrategias de clave secreta . 7.5 ENCRIPTACIÓN ASIMÉTRICA. 7.5.1 Clave Pública y Clave Privada 7.5.2 Clases e Interfaces en Java 7.5.3 Encriptación de Clave de Sesión. 7.6 AUTENTICACIÓN. FIRMA Y CERTIFICADO DIGITAL 7.6.1 Autenticación por Firma Digital 7.6.2 Certificados Digitales: Contenidos 7.6.3 Generando Certificados: keystore y keytool . 7.6.4 Certificados en Java 7.6.5 Listas de Revocación de Certificados (CRLs). 7.6.6 PKI: Creando nuestra propia CA (Certificate Authorithy) 7.6.7 Firmar Certificados X509 7.7 APLICACIÓN: SEGURIDAD EN BASES DE DATOS. 7.7.1 Ejemplo: Encriptación de Tarjetas de Crédito 7.7.2 Configuración de la Base de Datos 7.8 EJERCICIOS . 7.9 RESUMEN 7.10 BIBLIOGRAFÍA. 7.11 AUTOEVALUACIÓN UNIDAD 7 7.12 LECTURAS RECOMENDADAS 7.13 GLOSARIO DE TÉRMINOS. CAPÍTULO 8. VULNERABILIDADES, AUDITORÍAS DE SEGURIDAD Y HERRAMIENTAS DE ANÁLISIS . INTRODUCCIÓN . OBJETIVOS DE LA UNIDAD DIDÁCTICA . 8.1 PROCESO DE BÚSQUEDA DE VULNERABILIDADES. 8.2 COMMON VULNERABILITY SCORING SYSTEM (CVSS) 8.3 CVE (COMMON VULNERABILITIES AND EXPOSURES) 8.3.1 CVE en Java 8.3.2 Principales vulnerabilidades en Java 8.4 NVD (NATIONAL VULNERABILITY DATABASE). 8.5 AUDITORÍAS DE SEGURIDAD. 8.5.1 Estrategia y metodología de seguridad en aplicaciones web 8.5.2 Análisis de seguridad en aplicaciones web 8.6 AUDITORÍA DE CÓDIGO FUENTE EN CAJA BLANCA. 8.6.1 Análisis estático de código. 8.6.2 Auditoría de código fuente 8.7 AUDITORÍA DE CAJA NEGRA. 8.8 HERRAMIENTAS DE AUDITORÍA WEB PARA ANÁLISIS DE VULNERABILIDADES . 8.8.1 OWASP. 8.8.2 W3af 8.8.3 Acunetix . 8.8.4 Otras herramientas 8.9 EJERCICIOS . 8.10 RESUMEN . 8.11 BIBLIOGRAFÍA. 8.12 AUTOEVALUACIÓN UNIDAD 8 8.13 LECTURAS RECOMENDADAS 8.14 GLOSARIO DE TÉRMINOS. EVALUACIÓN FINAL . RESPUESTAS AUTOEVALUACIÓN. BIBLIOGRAFÍA COMPLEMENTARIA GLOSARIO DE TÉRMINOS MATERIAL ADICIONAL

Artículos relacionados

Fancy Bear se Va de Phishing

Fancy Bear se Va de Phishing

Shapiro, Scott J.

Es una paradoja de nuestros tiempos que vivamos en la sociedad de la información, pero no entendamos cómo funciona. ¿Qué pasaría si supiésemos más? En Fancy Bear se va de phishing, Scott J. Shapiro recurre a su popular clase en la universidad de Yale sobre hackeo para mostrar que el cibercrimen tiene menos que ver con la programación defectuosa que con el cableado imperfecto de...

✅ Disponible

31,95 €

Seguridad en la Nube, Api y Arquitecturas Serverless

Seguridad en la Nube, Api y Arquitecturas Serverless

Ortega Candel, José Manuel

Aprenda a proteger sus APIs, las aplicaciones cloud y las arquitecturas serverless La nube, las APIs y las arquitecturas serverless son los pilares de la infraestructura digital moderna. Su agilidad y escalabilidad han revolucionado el desarrollo de software, pero también han introducido un nuevo y complejo ecosistema de amenazas. A medida que las organizaciones migran a estos...

✅ Disponible

31,10 €

Cultura Hacker de la a a la Z

Cultura Hacker de la a a la Z

Crawley, Kim

La cultura hacker puede ser misteriosa, pero esta entretenida guía de referencia está aquí para ayudar. Escrita por Kim Crawley, una investigadora de ciberseguridad y escritora experimentada, esta guía de referencia divertida te presenta a personas y empresas importantes, ideas fundamentales junto con películas, juegos y revistas que marcaron hitos en los anales de la piratería...

✅ Disponible

35,95 €

Seguridad de Equipos Informáticos. Edición 2024

Seguridad de Equipos Informáticos. Edición 2024

Mata Garcia, Arturo Enrique

El libro constituye una guía completa para aquellos usuarios que quieren proteger su información personal, su privacidad y su seguridad en línea. Con esta obra aprenderá a proteger su información y estar preparados para actuar en caso de una violación de seguridad. Todo el contenido está redactado de forma clara y didáctica, para que sea accesible por cualquier usuario, con o s...

✅ Disponible

24,90 €

Ciberseguridad Paso a Paso

Ciberseguridad Paso a Paso

Caballero Velasco, María Ángeles / Baus Lerma, Laura / Cilleros Serrano, Diego

¿Sabías que el 60 % de las empresas que son atacadas cierra su negocio a los 6 meses? En la nueva era digital, es vital elaborar una adecuada estrategia de ciberseguridad que nos permita protegernos de las amenazas de ciberseguridad y de los nuevos actores de amenazas del ciberespacio. El cibercrimen tiene un coste de trillones de euros superando al PIB de muchos países. ¿Soy u...

✅ Disponible

37,50 €

Ingeniería Social. La Ciencia de la Piratería Humana

Ingeniería Social. La Ciencia de la Piratería Humana

Hadnagy, Christopher

En la fortaleza de defensa que construimos en torno a nuestros datos, el elemento humano siempre es el eslabón más débil. Los hackers, buenos y malos, utilizan una serie de trucos específicos para acceder a información sensible, y emplean técnicas de «piratería humana» para convencer a la gente de que revele contraseñas, envíe archivos sensibles, transfiera grandes cantidades d...

✅ Disponible

31,95 €

Otros libros del autor

Seguridad en la Nube, Api y Arquitecturas Serverless

Seguridad en la Nube, Api y Arquitecturas Serverless

Ortega Candel, José Manuel

Aprenda a proteger sus APIs, las aplicaciones cloud y las arquitecturas serverless La nube, las APIs y las arquitecturas serverless son los pilares de la infraestructura digital moderna. Su agilidad y escalabilidad han revolucionado el desarrollo de software, pero también han introducido un nuevo y complejo ecosistema de amenazas. A medida que las organizaciones migran a estos...

✅ Disponible

31,10 €

Fundamentos en Devops y Arquitecturas de Microservicios

Fundamentos en Devops y Arquitecturas de Microservicios

Ortega Candel, José Manuel

Domine DevOps y microservicios para construir el futuro del software La creciente demanda de aplicaciones más rápidas, escalables y resilientes ha impulsado la adopción de nuevas metodologías y arquitecturas. En este contexto, DevOps y la arquitectura de microservicios han emergido como pilares fundamentales para construir y operar sistemas de software modernos y complejos. E...

✅ Disponible

33,50 €

Inteligencia Artificial. Investigaciones, Aplicaciones y Avances

Inteligencia Artificial. Investigaciones, Aplicaciones y Avances

Ortega Candel, José Manuel

1. **Avances en Inteligencia Artificial: Lo Último en Investigaciones y Aplicaciones** Explora los desarrollos más recientes en el campo de la inteligencia artificial, desde sus teorías fundamentales hasta sus aplicaciones prácticas en diversas industrias.2. **Tecnología disruptiva: Inteligencia Artificial en la Sociedad Moderna** Descubre cómo la inteligencia artificia...

✅ Disponible

24,95 €

Desarrollo de Microservicios con Python

Desarrollo de Microservicios con Python

Ortega Candel, José Manuel

Domine las herramientas imprescindibles para programar de forma eficaz y desarrolle sus propias aplicaciones con Python En el mundo actual de la tecnología, las aplicaciones basadas en microservicios se han convertido en el estándar para construir aplicaciones escalables y flexibles. El lenguaje más adecuado para llevar a cabo esta tarea es, sin duda, Python. Si desea una guía...

Entrega 3/5 días

34,80 €

Ciberseguridad. Manual Práctico

Ciberseguridad. Manual Práctico

Ortega Candel, José Manuel

La ciberseguridad es uno de los desafíos;más importantes de la era digital;pues se trata de un punto crítico;en cualquier entorno tecnológico.;Debido a que los entornos son cada vez más dinámicos y cambiantes, es necesario estar actualizado ante nuevas amenazas y vulnerabilidades que aparecen cada día. Por ello, las organizaciones han empezado a destinar una parte de su presupu...

Entrega 3/5 días

29,95 €

Desarrollo de Motores de Búsqueda Utilizando Herramientas Open Source

Desarrollo de Motores de Búsqueda Utilizando Herramientas Open Source

Ortega Candel, José Manuel

El desarrollo de motores de búsqueda ha crecido en los últimos años gracias al uso de herramientas y frameworks open source, pues facilitan una base sobre la cual realizar nuestras aplicaciones orientadas a la extracción y búsqueda de diferentes fuentes de datos. Si desea adquirir los conocimientos necesarios para dominar las principales herramientas open source, las librerías ...

Entrega 3/5 días

34,80 €