Puesta en producción segura

Puesta en producción segura

  • Author: Fernández Riera, Máximo
  • Publisher: Rama Editorial
  • ISBN: 9788418971952
  • eISBN Pdf: 9788419444325
  • Place of publication:  Madrid , Spain
  • Year of publication: 2022
  • Pages: 358
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).
  • CAPÍTULO 1. PRUEBA DE APLICACIONES WEB Y PARA DISPOSITIVOS MÓVILES
    • Objetivos
    • Introducción
    • Fundamentos de la programación
      • Fundamentos de los lenguajes más utilizados I
      • Fundamentos de los lenguajes más utilizados II
    • Lenguajes de programación interpretados y compilados
    • Autoevaluación
      • Compilación en tiempo de ejecución
    • Código fuente y entornos de desarrollo
      • Entornos de desarrollo
    • Ejercicio Resuelto
    • Ejecución de software
    • Elementos principales de un programa
    • Pruebas
      • Etapas o niveles de pruebas
    • Autoevaluación
      • Tipos de pruebas
    • Autoevaluación
    • Autoevaluación
    • Autoevaluación
      • Técnicas de prueba
    • Ejercicio Resuelto
    • Ejercicio Resuelto
    • 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
    • Fuentes abiertas para el desarrollo seguro
      • Técnicas y herramientas
      • Desarrollo seguro y fuentes abiertas
    • Autoevaluación
    • Listas de riesgos de seguridad habituales: OWASP Top Ten (web y móvil)
      • Proyectos fundación OWASP
      • OWASP Top Ten Web
      • OWASP Top Ten Móvil
    • Autoevaluación
    • Requisitos de verificación necesarios asociados al nivel de seguridad establecido
      • Estándares para medir la calidad del software
      • Niveles de verificación
      • Estándar de Verificación de Seguridad en Aplicaciones (ASVS)
    • 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
    • Protocolo HTTP
      • Formato del mensaje HTTP
      • Versiones del protocolo
      • Tecnologías Web
    • Desarrollo seguro de aplicaciones web
    • Listas públicas de vulnerabilidades de aplicaciones web. OWASP Top Ten
      • Inyección
      • Pérdida de autenticación
      • Exposición de datos sensibles
      • Entidades externas XML (XXE)
      • Pérdida de Control de Acceso
      • Configuración de seguridad incorrecta
      • Cross-Site Scripting(XSS)
      • Deserialización insegura
    • Caso práctico
      • Componentes con vulnerabilidades conocidas
      • Registro y monitoreo insuficientes
    • Entrada basada en formularios. Inyección. Validación de la entrada
    • Caso práctico
      • Validación en el cliente
    • Ejercicio Resuelto
      • Validación en el servidor
    • Estándares de autenticación y autorización
      • Elementos de un sistema de autenticación y autorización básico
      • Estándares
    • Autoevaluación
    • Robo de sesión
    • lmacenamiento seguro de contraseñas
      • Ejemplo almacenamiento seguro NodeJs
    • Contramedidas. HSTS, CSP, CAPTCHAs, entre otros
      • HSTS (HTTP Strict Transport Security)
      • CSP (Content Security Policy)
    • Ejercicios Resueltos
      • CAPTCHAs
    • Autoevaluación
    • 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
    • Modelos de permisos en plataformas móviles
      • Android
      • iOS
    • Firma y verificación de aplicaciones
      • Fundamentos criptográficos
      • Android
      • iOS
    • Almacenamiento seguro de datos
    • Ejercicio
      • MSTG para el almacenamiento seguro en Android
    • Ejercicio Resuelto
      • MSTG para almacenamiento seguro en iOS
    • Fuga de información en los ejecutables
      • Casos de prueba en Android
    • 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
    • Prácticas unificadas para el desarrollo y operación del software (DevOps)
      • Ciclo de vida de las aplicaciones
      • Prácticas
      • Herramientas
    • Sistemas de control de versiones
    • Autoevaluación
      • Git
    • Autoevaluación
    • Sistemas de automatización de construcción (build)
      • Construyendo un proyecto con Gradle
    • Integración continua y automatización de pruebas
    • Escalado de servidores. Virtualización. Contenedores
      • Virtualización
      • Contenedores
    • Ejercicio Resuelto
    • Gestión automatizada de configuración de sistemas
    • Ejercicio Resuelto
    • Orquestación de contenedores
      • Componentes de Kubernetes
      • Objetos Kubernetes
    • Herramientas de simulación de fallos
    • Ejercicio Resuelto
    • Glosario
    • Bibliografía
      • Fuentes documentales utilizadas en esta unidad
    • Resumen
  • 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
    • 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

Subjects

SUBSCRIBE TO OUR NEWSLETTER

By subscribing, you accept our Privacy Policy