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).
Puesta en Producción Segura
Fernández Riera, Máximo
*Este valor puede ser aproximado y podrá variar al momento del pago.
2023 | eBook |
Descripción
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).
Información adicional
Número de edición | |
---|---|
ano | |
Autor | |
Editorial | |
ID Digital Content | |
Formato | |
EISBN |
Tabla de contenido
CAPÍTULO 1. PRUEBA DE APLICACIONES WEB Y PARA DISPOSITIVOSMÓVILES
OBJETIVOS
INTRODUCCIÓN
1.1 FUNDAMENTOS DE LA PROGRAMACIÓN
1.1.1 Fundamentos de los lenguajes más utilizados I
1.1.2 Fundamentos de los lenguajes más utilizados II
1.2 LENGUAJES DE PROGRAMACIÓN INTERPRETADOS Y COMPILADOS
AUTOEVALUACIÓN
1.2.1 Compilación en tiempo de ejecución
1.3 CÓDIGO FUENTE Y ENTORNOS DE DESARROLLO
1.3.1 Entornos de desarrollo
EJERCICIO RESUELTO
1.4 EJECUCIÓN DE SOFTWARE
1.5 ELEMENTOS PRINCIPALES DE UN PROGRAMA
1.6 PRUEBAS
1.6.1 Etapas o niveles de pruebas
AUTOEVALUACIÓN
1.6.2 Tipos de pruebas
AUTOEVALUACIÓN
AUTOEVALUACIÓN
AUTOEVALUACIÓN
1.6.3 Técnicas de prueba
EJERCICIO RESUELTO
EJERCICIO RESUELTO
1.7 SEGURIDAD EN LOS LENGUAJES DE PROGRAMACIÓN Y SUS
ENTORNOS DE EJECUCIÓN (“SANDBOXES”)
CASO PRÁCTICO: MOCHA-CHAI
A. Preparando el entorno
B. Desarrollando el software
C. Probando el software
D. Ampliación
GLOSARIO
BIBLIOGRAFÍA
Fuentes documentales utilizadas en esta unidad
RESUMEN
Recursos adicionales
CAPÍTULO 2. DETERMINACIÓN DEL NIVEL DE SEGURIDAD REQUERIDO
POR LAS APLICACIONES
OBJETIVOS
INTRODUCCIÓN
2.1 FUENTES ABIERTAS PARA EL DESARROLLO SEGURO
2.1.1 Técnicas y herramientas
2.1.2 Desarrollo seguro y fuentes abiertas
AUTOEVALUACIÓN
2.2 LISTAS DE RIESGOS DE SEGURIDAD HABITUALES: OWASP TOP TEN
(WEB Y MÓVIL)
2.2.1 Proyectos fundación OWASP
2.2.2 OWASP Top Ten Web
2.2.3 OWASP Top Ten Móvil
AUTOEVALUACIÓN
2.3 REQUISITOS DE VERIFICACIÓN NECESARIOS ASOCIADOS AL
NIVEL DE SEGURIDAD ESTABLECIDO
2.3.1 Estándares para medir la calidad del software
2.3.2 Niveles de verificación
2.3.3 Estándar de Verificación de Seguridad en Aplicaciones (ASVS)
2.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
Fuentes documentales utilizadas en esta unidad
CAPÍTULO 3. DETECCIÓN Y CORRECCIÓN DE VULNERABILIDADES DE
APLICACIONES WEB
OBJETIVOS
INTRODUCCIÓN
3.1 PROTOCOLO HTTP
3.1.1 Formato del mensaje HTTP
3.1.2 Versiones del protocolo
3.1.3 Tecnologías Web
3.2 DESARROLLO SEGURO DE APLICACIONES WEB
3.3 LISTAS PÚBLICAS DE VULNERABILIDADES DE APLICACIONES
WEB. OWASP TOP TEN
3.3.1 Inyección
3.3.2 Pérdida de autenticación
3.3.3 Exposición de datos sensibles
3.3.4 Entidades externas XML (XXE)
3.3.5 Pérdida de Control de Acceso
3.3.6 Configuración de seguridad incorrecta
3.3.7 Cross-Site Scripting(XSS)
3.3.8 Deserialización insegura
CASO PRÁCTICO
3.3.9 Componentes con vulnerabilidades conocidas
3.3.10 Registro y monitoreo insuficientes
3.4 ENTRADA BASADA EN FORMULARIOS. INYECCIÓN. VALIDACIÓN
DE LA ENTRADA
CASO PRÁCTICO
3.4.1 Validación en el cliente
EJERCICIO RESUELTO
3.4.2 Validación en el servidor
3.5 ESTÁNDARES DE AUTENTICACIÓN Y AUTORIZACIÓN
3.5.1 Elementos de un sistema de autenticación y autorización básico
3.5.2 Estándares
AUTOEVALUACIÓN
3.6 ROBO DE SESIÓN
3.7 LMACENAMIENTO SEGURO DE CONTRASEÑAS
3.7.1 Ejemplo almacenamiento seguro NodeJs
3.8 CONTRAMEDIDAS. HSTS, CSP, CAPTCHAS, ENTRE OTROS
3.8.1 HSTS (HTTP Strict Transport Security)
3.8.2 CSP (Content Security Policy)
EJERCICIOS RESUELTOS
3.8.3 CAPTCHAs
AUTOEVALUACIÓN
3.9 SEGURIDAD DE PORTALES Y APLICATIVOS WEB. SOLUCIONES
WAF(WEB APPLICATION FIREWALL)
CASO PRÁCTICO
EJERCICIO RESUELTO
GLOSARIO
BIBLIOGRAFÍA
Fuentes documentales utilizadas en esta unidad
RESUMEN
CAPÍTULO 4. DETECCIÓN DE PROBLEMAS DE SEGURIDAD EN
APLICACIONES PARA DISPOSITIVOS MÓVILES
OBJETIVOS
INTRODUCCIÓN
4.1 MODELOS DE PERMISOS EN PLATAFORMAS MÓVILES
4.1.1 Android
4.1.2 iOS
4.2 FIRMA Y VERIFICACIÓN DE APLICACIONES
4.2.1 Fundamentos criptográficos
4.2.2 Android
4.2.3 iOS
4.3 ALMACENAMIENTO SEGURO DE DATOS
EJERCICIO
4.3.1 MSTG para el almacenamiento seguro en Android
EJERCICIO RESUELTO
4.3.2 MSTG para almacenamiento seguro en iOS
4.4 FUGA DE INFORMACIÓN EN LOS EJECUTABLES
4.4.1 Casos de prueba en Android
4.5 SOLUCIONES CASB (CLOUD ACCESS SECURITY BROKER)
EJERCICIO RESUELTO
GLOSARIO
BIBLIOGRAFÍA
Fuentes documentales utilizadas en esta unidad
RESUMEN
CAPÍTULO 5. IMPLANTACIÓN DE SISTEMAS SEGUROS DE DESPLEGADO
DE SOFTWARE
OBJETIVOS
INTRODUCCIÓN
5.1 PRÁCTICAS UNIFICADAS PARA EL DESARROLLO Y OPERACIÓN
DEL SOFTWARE (DEVOPS)
5.1.1 Ciclo de vida de las aplicaciones
5.1.2 Prácticas
5.1.3 Herramientas
5.2 SISTEMAS DE CONTROL DE VERSIONES
AUTOEVALUACIÓN
5.2.1 Git
AUTOEVALUACIÓN
5.3 SISTEMAS DE AUTOMATIZACIÓN DE CONSTRUCCIÓN (BUILD)
5.3.1 Construyendo un proyecto con Gradle
5.4 INTEGRACIÓN CONTINUA Y AUTOMATIZACIÓN DE PRUEBAS
5.5 ESCALADO DE SERVIDORES. VIRTUALIZACIÓN. CONTENEDORES
5.5.1 Virtualización
5.5.2 Contenedores
EJERCICIO RESUELTO
5.6 GESTIÓN AUTOMATIZADA DE CONFIGURACIÓN DE SISTEMAS
EJERCICIO RESUELTO
5.7 ORQUESTACIÓN DE CONTENEDORES
5.7.1 Componentes de Kubernetes
5.7.2 Objetos Kubernetes
5.8 HERRAMIENTAS DE SIMULACIÓN DE FALLOS
EJERCICIO RESUELTO
GLOSARIO
BIBLIOGRAFÍA
Fuentes documentales utilizadas en esta unidad
RESUMEN
ANEXOS. PRÁCTICAS RESUELTAS
PRACTICA 1: APPSALUD
Composición del Programa
Features
Instalación y Configuración
Arrays importantes para almacenar ciertos valores
MÉTODOS DE BÁSCULA (FUNCIONALIDAD)
Método anotar Peso y Altura
Método obtener Peso Máximo
Método obtener Peso Mínimo
PACIENTE EN APPSALUD
Métodos del Paciente Constructor
Métodos del Paciente Saludar()
Métodos del Paciente Cambiar Nombre()
Métodos del Paciente obtenerApellidos()
Métodos del Paciente cambiarApellidos()
Métodos del Paciente obtenerFechaNacimiento()
Método del Paciente modificarFechaNacimento(fecha)
Método del Paciente obtenerEdad()
CASOS TEST PACIENTE (USANDO MOCHA Y CHAI)
Configuración del archivo /test/paciente_test.js
Método Saludar del paciente
Método Test obtener Nombre del paciente
PRÁCTICA 2: HARDENING BÁSICO DE APACHE
Enunciado de la práctica propuesta
Práctica 319
PRACTICA 3: EL JUEGO DEL FIZZ BUZZ
Iniciamos el proyecto de node
Instalamos mocha y chai
Creación del archivo fizzBuzz.js
Primer caso test, verificamos que funciona y no le pasamos valor
Segundo caso test, devuelve 1
Tercer caso test, devuelve 2
Cuarto caso test, devuelve Fizz
Quinto caso test, devuelve Buzz
Sexto caso test, devuelve FizzBuzz
PRÁCTICA 4: HARDENING BÁSICO DE DOCKER
Enunciado de la práctica propuesta
Desarrollo de la práctica
PRÁCTICA 5: LOG4SHELL
Requisitos previos
Propuesta de concepto
Medidas de contención del ataque
Video explicativo
PRACTICA 6: CROSS SITE SCRIPTING
Dependencias necesarias5
Creación de repositorio
Proyecto