Puesta en producción segura

Este libro tiene como objetivo que los lectores adquieran los conocimientos necesarios para la puesta en producción mediante el desarrollo de un sistema de despliegue de software seguro. La función de implantación de un sistema de despliegue seguro incluye aspectos como la monitorización de aplicaciones y dispositivos para detectar los vectores de ataque más comunes. Las actividades profesionales asociadas a esta función se aplican en el análisis de las aplicaciones web y dispositivos móviles así como en la configuración de servidores web.
Con un lenguaje didáctico se introduce al lector de forma secuencial en esta disciplina donde la teoría está acompañada de numerosos ejemplos prácticos y ejercicios resueltos lo que ayudará al lector a para poner en práctica los conceptos aprendidos. Para ello el libro se estructura de la siguiente forma:
• Fundamentos para la puesta en producción segura
• Prueba de aplicaciones web y para dispositivos móviles
• Determinación del nivel de seguridad requerido por las aplicaciones
• Detección y corrección de vulnerabilidades de aplicaciones web
• Detección de problemas de seguridad en aplicaciones para dispositivos móviles
• Implantación de sistemas seguros de desplegado de software

Los contenidos, además, han sido adaptados para los requeridos en el módulo profesional “Puesta en Producción segura”, que se engloba dentro del “Curso de Especialización de Ciberseguridad en Entornos de las Tecnologías de la Información” (Título LOE).

Escritor
Colección
Ciberseguridad en entornos de las tecnologías de la información
Materia
Seguridad Informática, Ciberseguridad entornos Tec. Infor.
Idioma
  • Castellano
EAN
9788418971952
ISBN
978-84-18971-95-2
Depósito legal
M-xxxxxx-2022
Ancho
17 cm
Alto
24 cm
Edición
1
Fecha publicación
11-04-2022

Disponibilidad

Novedad. Próxima publicación

Índice de contenido

TEMA 1:FUNDAMENTOS PARA LA PUESTA EN PRODUCCIÓN SEGURA
Objetivos
Introducción
1. Introducción al control de versiones
2. Introducción a la virtualización ligera para desarrolladores
3. Orquestadores de contenedores
Casos práctico: Docker y Kubernetes
A.- Preparando el entorno
B.- Práctica
Glosario
Bibliografía
Resumen
Recursos adicionales

TEMA 2: PRUEBA DE APLICACIONES WEB Y PARA DISPOSITIVOS MÓVILES
Objetivos
Introducción
1.- Fundamentos de la programación
1.1.- Fundamentos de los lenguajes más utilizados I
1.2.- Fundamentos de los lenguajes más utilizados II
2.- Lenguajes de programación interpretados y compilados
2.1.- Compilación en tiempo de ejecución
3.- Código fuente y entornos de desarrollo
3.1. - Entornos de desarrollo
4.- Ejecución de software
5. -Elementos principales de un programa
6.- Pruebas
6.1.- Etapas o niveles de pruebas
6.1.1.- Pruebas unidad
6.1.2.- Pruebas de integración
6.1.3.- Pruebas de sistema
6.1.4.- Pruebas de aceptación
6.2.- Tipos de pruebas
6.2.1.- Pruebas funcionales
6.2.2.- Pruebas no funcionales
6.3.- Técnicas de prueba
6.3.1.- Pruebas de caja negra
6.3.2.- Pruebas de caja blanca
7. -Seguridad en los lenguajes de programación y sus entornos de ejecución (“sandboxes”).
Caso prácticos
A.- Preparando el entorno
B.- Desarrollando el software
C.- Probando el software
D.- Ampliación
Glosario
Bibliografía
Resumen
Recursos adicionales
TEMA 3: DETERMINACIÓN DEL NIVEL DE SEGURIDAD REQUERIDO POR LAS APLICACIONES
Objetivos
Introducción
1.- Fuentes abiertas para el desarrollo seguro.
1.1.- Técnicas y herramientas
1.2.- Desarrollo seguro y fuentes abiertas.
2.- Listas de riesgos de seguridad habituales: OWASP Top Ten (web y móvil)
2.1.- Proyectos fundación OWASP.
2.2.- OWASP Top Ten Web.
2.3. -OWASP Top Ten Móvil.
3.- Requisitos de verificación necesarios asociados al nivel de seguridad establecido.
3.1. - Estándares para medir la calidad del software.
3.2. - Niveles de verificación.
3.3. - Estándar de Verificación de Seguridad en Aplicaciones (ASVS).
3.3.1. - Web Security Testing Guide.
3.3.2. - Mobile Security Testing Guide.
3.3.2.1. - Estándar de verificación de seguridad de aplicaciones móviles. (MASVS).
4.- Comprobaciones de seguridad a nivel de aplicación: ASVS .
Caso práctico: Práctica Web
A.- Preparando el entorno
B.- Práctica
Glosario
Bibliografía
Resumen
TEMA 4. DETECCIÓN Y CORRECCIÓN DE VULNERABILIDADES DE APLICACIONES WEB
Objetivos
Introducción
1.- Protocolo HTTP.
1.1.- Formato del mensaje HTTP.
1.2.- Versiones del protocolo.
1.3. -Tecnologías Web.
2.-Desarrollo seguro de aplicaciones web.
3.- Listas públicas de vulnerabilidades de aplicaciones web. OWASP Top Ten.
3.1. - Inyección.
3.2. - Pérdida de autenticación.
3.3. - Exposición de datos sensibles.
3.4. - Entidades externas XML (XXE).
3.5. -Pérdida de Control de Acceso.
3.6. -Configuración de seguridad incorrecta.
3.7. - Cross-Site Scripting(XSS).
3.8. - Deserialización insegura.
3.9. - Componentes con vulnerabilidades conocidas.
3.10. - Registro y monitoreo insuficientes.
4.- Entrada basada en formularios. Inyección. Validación de la entrada.
4.1. - Validación en el cliente.
4.1.1.- Ejemplo práctico con Angular.
4.2. - Validación en el servidor.
4.2.1.- Ejemplo práctico con NodeJs
5. - Estándares de autenticación y autorización.
5.1. - Elementos de un sistema de autenticación y autorización básico.
5.2. - Estándares.
5.2.1. - Tokens JWT
5.2.1.1. - Ejemplo práctico con NodeJs.
5.2.2. - OAth.
6. - Robo de sesión.
7. - Almacenamiento seguro de contraseñas.
7.1.- Ejemplo almacenamiento seguro NodeJs.
8. - Contramedidas. HSTS, CSP, CAPTCHAs, entre otros.
8.1. - HSTS (HTTP Strict Transport Security)
8.2. - CSP (Content Security Policy)
8.3. - CAPTCHAs
9. - Seguridad de portales y aplicativos web. Soluciones WAF(Web Application Firewall).
Caso práctico.
Glosario
Bibliografía
Resumen
TEMA 5. DETECCIÓN DE PROBLEMAS DE SEGURIDAD EN APLICACIONES PARA DISPOSITIVOS MÓVILES
Objetivos
Introducción
1.- Modelos de permisos en plataformas móviles
1.1.- Android.
1.1.1.- Fichero Androidmanifest.xml
1.1.2.- Solicitando permisos
1.1.2.1.- Permisos de instalación o normales
1.1.2.2.- Permisos en tiempo de ejecución
1.1.3.- Estableciendo permisos
1.2.- iOS
2. - Firma y verificación de aplicaciones.
2.1.- Fundamentos criptográficos
2.2.- Android
2.3.- iOS
3.- Almacenamiento seguro de datos.
3.1.- MSTG para el almacenamiento seguro en Android.
3.1.1.- Análisis de MSTG-1 y 2
3.2.- MSTG para almacenamiento seguro en iOS
4.- Fuga de información en los ejecutables
4.1. - Casos de prueba en Android
5.- Soluciones CASB (Cloud Access Security Broker).
Glosario
Bibliografía
Resumen
TEMA 6. IMPLANTACIÓN DE SISTEMAS SEGUROS DE DESPLEGADO DE SOFTWARE
Objetivos
Introducción
1. - Prácticas unificadas para el desarrollo y operación del software (DevOps).
1.1.- Ciclo de vida de las aplicaciones.
1.2.- Prácticas
1.3.- Herramientas.
2.- Sistemas de control de versiones.
2.1.- Git.
2.1.1.- Instalación.
2.1.2.- Primeros pasos.
2.1.3.- Ramas.
2.1.4.- Trabajando en remoto.
2.1.5.- GitFlow
2.1.6.- Hook / Ganchos
3.- Sistemas de automatización de construcción (build).
3.1.- Construyendo un proyecto con Gradle
4.- Integración continua y automatización de pruebas.
5.- Escalado de servidores. Virtualización. Contenedores.
5.1.- Virtualización
5.2.- Contenedores
5.2.1.- Docker
5.2.1.1.- Instalación
5.2.1.2.- Descargando imágenes y creando contenedores
5.2.1.3.- Persistencia de datos
Ejercicio resuelto
5.2.1.4.- Dockfile
6.- Gestión automatizada de configuración de sistemas.
Ejercicio resuelto
7.- Orquestación de contenedores.
7.1.- Componentes de Kubernetes.
7.2.- Objetos Kubernetes.
8.- Herramientas de simulación de fallos.
Glosario
Bibliografía
Resumen
Recursos adicionales

ANNEXOS

1. Prácticas propuestas
1.1. Soluciones
2. Diapositivas

Libros relacionados