Escoge la categoría

Seguridad en aplicaciones web Java

  • Autor:

  • Editores:

  • Editorial:

  • Año de Edición:

  • Idioma:

  • Nº Páginas:

  • ISBN:

  • Formato:
    Comparte

    Por: $67.000,00ou X de


    Comprar
    Seguridad-Aplicaciones-Web-Java-9789587629224-ediu
    Seguridad en aplicaciones web Java
    Por: $67.000,00ou
    48x de $1.395,83
    sem juros
    ComprarVendedor Libreria de la U
    334300
    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 pública, privada y firma digital que proporcionen servicios de encriptación, desencriptación, autentificación y comunicación segura.

    Atributos LU

    TítuloSeguridad en aplicaciones web Java
    AutorJosé Manuel Ortega Candel
    CoeditorRa-ma Editorial
    Tabla de Contenido
    Í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 CONOCIDAS

    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 KEYTOOL

    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 WEB

    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
    TipoLibro
    ISXN9789587629224
    Año de Edición2018
    Núm. Páginas430
    Peso (Físico)670
    Tamaño (Físico)17 x 24 cm
    Acabado (Físico)Tapa rústica

    Títulos Similares