SEGURIDAD EN APLICACIONES WEB JAVA

SEGURIDAD EN APLICACIONES WEB JAVA

ORTEGA CANDEL, JOSÉ MANUEL

28,75 €
Editorial:
RAMA
Año de edición:
2018
Materia
Lenguaje Java
ISBN:
978-84-9964-732-6
Páginas:
416
Encuadernación:
Otros
Colección:
VARIAS
28,75 €
(1)
Añadir a favoritos

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

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.

Complemento perfecto con teoría y práctica

4 stars -
el 23.05.2018 Por Fernando lopez

Mezcla muy bién la parte práctica con la teoría,además de ofrecer un conjunto de buenas prácticas a nivel de seguridad para aquellos que estén desarrollando aplicaciones que tengan como base un framework java


Añadir comentario

Complemento perfecto con teoría y práctica

Por Fernando lopez el 23/05/2018

Mezcla muy bién la parte práctica con la teoría,además de ofrecer un conjunto de buenas prácticas a nivel de seguridad para aquellos que estén desarrollando aplicaciones que tengan como base un framework java


Añadir comentario

Artículos relacionados

  • JAVASCRIPT ELOCUENTE. UNA INTRODUCCION MODERNA A LA PROGRAMACION
    HAVERBEKE, MARIJN
    Con este libro tiene la posibilidad de aprender JavaScript de manera efectiva y clara. Esta obra está repleta de explicaciones estupendas sobre conceptos de programación y cómo se aplican en JavaScript. Para ayudar a la comprensión, las explicaciones teóricas se ilustran con ejemplos prácticos muy interesantes, de mayor o menor complejidad en función del tema. Así, veremos desd...
    Nos queda 1 ejemplar

    40,34 €

  • CURSO DE PROGRAMACIÓN JAVA
    NADAL, MARIONA
    Java es un lenguaje de programación orientado a objetos, portable y con un alto nivel de implantación en aplicaciones empresariales. Se mantiene año tras año en los puestos más altos del ranking de lenguajes más utilizados. Este Manual Imprescindible te acompañará desde los primeros pasos en la programación hasta la comprensión de conceptos más avanzados. Aquí se ofrecen los co...
    Nos queda 1 ejemplar

    28,80 €

  • CREACIÓN DE COMPONENETES EN JAVASCRIPT. CURSO PRÁCTICO
    FERNÁNDEZ CASADO, PABLO E.
    Por mucho que los frameworks intenten simplificar los desarrollos y nos vendan que son supereficaces y novedosos, JavaScript siempre lo hará mejor y más rápido. Este libro muestra, desde cero y con ejemplos prácticos, cómo crear diversas funcionalidades, siempre apoyándose en las premisas de la simplicidad y mejor rendimiento. Con él se comprenderán y aprenderán todo lo necesar...
    Disponible en 1 semana

    22,02 €

  • APRENDE A PROGRAMAR EN JAVA. DE CERO AL INFINITO
    CAIRO BATTISTUTTI, OSVALDO
    Si quiere comenzar a programar desde cero, ha llegado al libro indicado. No importa si es un niño, un joven o un adulto, lo fundamental es que sea curioso y sienta la motivación de aprender algo nuevo, de conocer un poco más, de razonar, de pensar, de resolver problemas, de transformar una dificultad en una posibilidad, de poner a trabajar la mente. Así como el agua y la arcil...
    Disponible en 1-5 días

    24,95 €

  • JAVA 17. PROGRAMACION AVANZADA
    VEGAS GERTRUDIX, JOSE MARIA
    Java está presente a nuestro alrededor, se utiliza en servidores, en aplicaciones de escritorio, en dispositivos multimedia, en teléfonos móviles e incluso en juegos como el popular Minecraft. De ahíque haya estado presente en la cotidianidad de tus padres, está en la nuestra y estará presente en la de tus hijos. Este libro va dirigido a todas las personas que con conocimientos...
    Disponible en 1 semana

    31,63 €

  • JAVA 17. FUNDAMENTOS PRACTICOS DE PROGRAMACION
    VEGAS GERTRUDIX, JOSE MARIA
    Java está presente a nuestro alrededor, se utiliza en servidores, en aplicaciones de escritorio, en dispositivos multimedia, en teléfonos móviles e incluso en juegos como el popular Minecraft. De ahí que haya estado presente en la cotidianidad de tus padres, está en la nuestra y estará presente en la de tus hijos.Este libro va dirigido a todas las personas que, con o sin conoci...
    Disponible en 1 semana

    28,75 €

Otros libros del autor

  • 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...
    Nos queda 1 ejemplar

    33,46 €

  • BLOCKCHAIN. TECNOLOGÍAS, PROYECTOS Y CIBERSEGURIDAD
    ORTEGA CANDEL, JOSÉ MANUEL
    Este libro nos sumerge en el fascinante mundo de la tecnología Blockchain y explora los aspectos técnicos fundamentales de la cadena de bloques, al mismo tiempo que examina los principales proyectos que tienen como base esta revolucionaria tecnología que está cambiando la manera en que las personas interactúan y se relacionan entre sí. A través de su contenido, el lector será ...
    Disponible en 1-5 días

    24,95 €

  • BIG DATA, MACHINE LEARNING Y DATA SCIENCE EN PYTHON
    ORTEGA CANDEL, JOSE MANUEL
    El libro está dirigido aquellos lectores que estén trabajando en proyecto relacionados con big data y busquen identificar las características de una solución de Big Data, los datos asociados a estas soluciones, la infraestructura requerida, y las técnicas de procesamiento de esos datos. Entre los principales objetivos podemos destacar: Introducir los conceptos de ciencias de da...
    Disponible en 1 semana

    31,63 €

  • DESARROLLO DE MOTORES DE BUSQUEDA UTILIZANDO HERRAMIENTAS OPEN SOURCE
    ORTEGA CANDEL, JOSE 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 y...
    Disponible en 1-5 días

    33,46 €

  • DESARROLLO SEGURO EN INGENIERIA DEL SOFTWARE
    ORTEGA CANDEL, JOSÉ MANUEL
    El desarrollo seguro de aplicaciones implica un cambio hacia un nuevo modelo de trabajo. Si quiere estar a la última sobre cómo mitigar errores comunes de programación y evitar posibles atacantes en sus aplicaciones, este es su libro. El manual expone los procesos necesarios a seguir por todo desarrollador e ingeniero de software para disponer de buenas prácticas de seguridad d...
    Disponible en 1-5 días

    32,50 €

  • HACKING ÉTICO CON HERRAMIENTAS PYTHON
    ORTEGA CANDEL, JOSÉ MANUEL
    En los últimos años, Python se ha convertido en un lenguaje muy adoptado por la industria de la seguridad informática, debido a su simpleza, practicidad, además de ser un lenguaje tanto interpretado como de scripting. Su integración con multitud de librerías de terceros hace pensar en Python como un lenguaje con múltiples posibilidades tanto desde el punto de vista ofensivo com...
    Disponible en 1 semana

    24,90 €