Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

DevOps Spain 2019. Luis hernández-Hopla

164 visualizaciones

Publicado el

Ponencia. Securización del pipeline del desarrollador a producción

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

DevOps Spain 2019. Luis hernández-Hopla

  1. 1. Patrocina Colabora Organiza Securización del Pipeline del Desarrollador a Produccion Luis Hernández - Hopla! Software
  2. 2. La economía de las aplicaciones LEGAL Mayor Calidad Mejor seguridad Menor tiempo Innovación Continua
  3. 3. La economía de las aplicaciones Lo Fabrican... Utilizando componentes de distintas fuentes
  4. 4. La importancia del Open Source Software (OSS) LEGAL “Modern apps are largely ‘assembled’, not developed, and developers often download and use known vulnerable open source components and frameworks.”* * Ref: Gartner.
  5. 5. Retos de la innovación continua Mas de 100 billones de descargas anuales desde repositorios publicos como Java, npm, PyPI o Rubygems LEGAL + de 200.000 componentes son descargados anualmente por una compañía de desarrollo promedio 1 de cada 16 componentes Open Source descargados contienen vulnerabilidades de seguridad conocidas
  6. 6. Retos de la innovación continua Más del 50% de las brechas de seguridad detectadas en los últimos años han sido relacionadas con componentes open source LEGAL Solo el 57% de las organizaciones tienen políticas de control para mantener los componentes open source defectuosos fuera de la cadena de suministro software 88% de las organizaciones están preocupadas por la seguridad de los contenedores pero solo el 47% han implementado medidas de seguridad para identificar vulnerabilidades a nivel de contenedores
  7. 7. Cómo nos afecta esto? LEGAL Administrator Coder
  8. 8. Por qué nos afecta esto? ● Infraestructura - Línea frontal de seguridad ○ DNS, WebServers, BBDDs, etc., son la base de nuestro datacenter, infraestructura de red y mucho mas. ● Desarrollo - Línea frontal de seguridad ○ 80%-90% de los servicios están hechos de componentes externos ○ El uso de componentes OSS y 3PP puede incrementar los vectores de ataque y los riesgos legales ● Los componentes Open Source o de terceros con evaluación de seguridad desconocida puede incrementar los riesgos de seguridad y legales de todos los productos
  9. 9. Cómo funcionan estos ataques? ● Infraestructure as Code NGINX, DNS, MongoDB, Docker. ● Code as Code Escenario malo: Borrado, DoS Peor escenario: Distribución de malware a clientes finales. ● Patching Actualización coordinada para minimizar vulnerabilidades Actualización versiones menores vs. versiones mayores Verificar las fuentes de actualización
  10. 10. El ciclo DevOps en la fábrica de desarrollo moderna BuildSource Control DeployRepository Public Component Repositories Dev Prod QA Developers CONTINUOUS INTEGRATION UAT CONTINUOUS INTEGRATION CONTINUOUS DELIVERY
  11. 11. Workflow manual de revisión de seguridad SEGURIDAD LEGAL ARQUITECTURA ● Pre-aprobación requerida tanto por el equipo de seguridad como por el equipo legal ○ Cada equipo que usa un componente necesitaba enviarlo a revisión ○ Aunque el mismo componente fuese utilizado en distintos proyectos requiere aprobación ya que los usos podrían diferir. ● Revisión de Seguridad ○ Verificar manualmente si el componente está en su última versión ○ Verificar los releases notes ○ Verificar manualmente Google/MIST/MITRE por CVEs ○ Hacer revisión manual del código ● Revisión legal ○ Verificar manualmente las licencias utilizadas.
  12. 12. Que es DevSecOps? ● DevSecOps es la evolución de DevOps que enfatiza la importancia de la seguridad en la ciclo de desarrollo de software ● DevSecOps se basa en la idea de que los equipos multifuncionales deben trabajar juntos y que todos son responsables de la seguridad. ● La automatización es clave en DevSecOps al igual que en DevOps ● Shift to the left
  13. 13. Estrategias propuestas por DevSecOps BuildSource Control DeployRepository Public Component Repositories Dev Prod QA Developers CONTINUOUS INTEGRATION UAT CONTINUOUS INTEGRATION CONTINUOUS DELIVERY Bloquear componentes defectuosos Alertas tempranas ante componentes riesgosos Análisis y verificación de políticas de seguridad Mantener el repositorio solo con componentes verificados Verificación de cumplimiento de políticas de seguridad Monitorización continua de los artefactos en producción en búsqueda de nuevas vulnerabilidades
  14. 14. Automatización en DevSecOps PLAN & CODE BUILD TEST DEPLOY OPERATE MONITOR Integration Security ● El movimiento cultural DevSecOps, propone implementar prácticas adecuadas de ciberseguridad dentro dentro del ciclo DevOps CI/CD. ● DevSecOps no se trata de herramientas, es un cambio en la cultura de la organización. ● Software version control ● Continuous integration ● Securing the automated build ● Vulnerability detection and remediation ● Continuous testing ● Secure staging ● Configuration Management and deployment ● Continuous monitoring ● Secure containerization ● Container orchestration ● Security monitoring ● Automated incident detection and root cause analysis DevSecOps Automation
  15. 15. MONITOR OPERATE TEST STORE ARTIFACTS BUILD Herramientas DevSecOps Integration PLAN & CODE Security DEPLOY
  16. 16. Seguridad en el marco DevSecOps ● Para cumplir con las políticas y normas de seguridad, los departamentos de seguridad deben verificar que el software cumple con los requisitos antes de lanzar a producción. Lo cual puede requerir varias aprobaciones sobre todo en industrias altamente reguladas. ● Las áreas de gestión de riesgos, auditoría y grupos de cumplimiento deben cambiar la forma en la que aprueban el software para poder adaptarse a la tendencia de release rápidas y frecuentes. ● La automatización es necesaria para estos procesos de verificación y cumplimiento de seguridad ● Actualmente existen varias soluciones tanto Open Source como comerciales que ayudan a automatizar estos procesos dentro del ciclo de desarrollo.
  17. 17. Patrocina Colabora Securizacion de componentes obtenidos de Repositorios Publicos
  18. 18. Nexus Firewall
  19. 19. Patrocina Colabora Securizacion automatizada del Desarrollo
  20. 20. Nexus Lifecycle Ayuda a los desarrolladores a elegir los componentes de mejor calidad y más seguros ● Ayuda a los desarrolladores a hacer la selección de componentes más segura en las fases más tempranas de desarrollo. ● Proporciona información detallada de los componentes a los desarrolladores en las herramientas que utilizan a diario. ● Seleccionar un componente más seguro es sencillo y se puede hacer con un click desde el IDE. ● La detección y resolución temprana de incidencias de seguridad, evita trabajo no planificado y problemas de mantenimiento.
  21. 21. Nexus Lifecycle
  22. 22. Patrocina Colabora Securizacion de la construcción automatizada
  23. 23. Nexus Lifecycle Analiza y refuerza el cumplimiento de las políticas automaticamente ● Asegura el cumplimiento de las políticas a medida que los componentes se consumen a lo largo de las distintas herramientas de desarrollo como Eclipse, Jenkins, Hudson, Maven, Bambu, GitHub, Chef, Puppet entre otras. ● Reemplace los flujos de trabajo ineficientes y la sobrecarga de revisiones manuales. ● Utilice políticas pre-definidas para obtener una visión inmediata de los riesgos de seguridad, licencias o calidad. ● Políticas personalizadas para cumplir con los objetivos de seguridad marcados por su organización. ● Todo lo anterior mediante la automatización que permite objetivos ágiles y continuos.
  24. 24. Nexus Lifecycle
  25. 25. Una mejor forma de identificar componentes Conozca cuáles componentes están en uso y en donde ● En cuestión de minutos, puede crear una relación precisa de los componentes software utilizado por cada aplicación. ● Identifique componentes específicos y sus dependencias. ● Obtenga información detallada sobre el nombre, tipo de licencia, antigüedad, popularidad, vulnerabilidades de seguridad conocidas y otros metadatos de cada componente. ● Conozca la ubicación exacta de cada componente - no es necesario buscar para saber si está impactado por una nueva vulnerabilidad.
  26. 26. Nexus Lifecycle
  27. 27. Patrocina Colabora Securizacion del staging
  28. 28. El rol del repositorio en el ciclo DevOps El acceso directo a los repositorios públicos resulta en: ● Problemas de seguridad ● No existe un inventario de componentes utilizados. ● Duplicación de versiones. ● Compilaciones más lentas. ● Ineficiencias en el proceso de desarrollo.
  29. 29. Por qué utilizar un gestor de repositorios? ● Mejor rendimiento y estabilidad en los procesos de compilación. ● Reducción en los costos de mantenimiento. ● Mejor visibilidad y control. ● Reducción de riesgos de seguridad. ● Mejoras en la auditoría.
  30. 30. Nexus Repository
  31. 31. Nexus Repository OSS
  32. 32. Nexus Repository Pro
  33. 33. Patrocina Colabora Monitorizacion Automatizada Deteccion Continua de Amenazas
  34. 34. Monitorización continua de nuevas amenazas ● Sistema automatizado de alertas tempranas para identificar defectos conforme sean detectados. ● Inteligencia detallada sobre vulnerabilidades, incluida la causa raíz precisa y las dependencias de los componentes. ● Monitoreo continuo y alertas ante nuevas vulnerabilidades detectadas organizadas por componentes, nivel de riesgo o aplicaciones afectadas. ● Mejore los tiempos de respuesta a incidentes con una identificación precisa de los componentes y aplicaciones que se deben reparar. Nexus Lifecycle
  35. 35. Nexus Lifecycle
  36. 36. Monitorización continua de aplicaciones dinámicas Retos en la monitorización de arquitecturas modernas ● Infraestructura dinámica ● Necesidad de monitorizar métricas a distintos niveles ● Basada en varios lenguajes de programación o frameworks. ● Entornos Multi-cloud /Data Center ● Registro de eventos (logs) a distintos niveles: ● Aplicaciones /Contenedores ● Infraestructura ● Monitorizar incidentes de seguridad a distintos niveles
  37. 37. CI/CD y Microservicios Imposible monitorizar de forma manual. Implica mucho tiempo y no es posible mantenerse al ritmo de los cambios.
  38. 38. Monitorización continua de aplicaciones dinámicas Open Source Tools Existen herramientas Open Source que deben ser integradas para resolver los retos antes planteados: ● Prometheus + Node Exporter + Cadvisor ● Grafana ● Administrador de alertas ● Jaeger ● Cassandra (como Data Store para Jaeger) Enfoque tradicional de monitorización implica varias tareas manuales: ● Instrumentación manual de Prometheus y Jaeger ● Configurar colectores de datos ● Instalar complementos manualmente ● Decidir manualmente como correlar los datos ● Configurar manualmente las reglas de alertas y thresholds ● Construir manualmente los dashboards Todo ese esfuerzo y aún hace falta: ● Correlación entre traces e infraestructura. ● Detección de anomalías ● Reducción de tormentas de alertas ● Velocidad
  39. 39. Instana ● Solución SaaS y On-premises ● Descubrimiento automático de stacks y servicios, sin necesidad de configuración ● Topología de Infraestructura actualizada en tiempo real con mapeo de dependencias ● Todas las peticiones (Requests) son registradas y analizadas automáticamente ● Correlación entre el código fuente la aplicación y datos de la infraestructura ● Identificación de la causa raíz probable de un incidente a través de AI
  40. 40. Instana Topología en tiempo real con mapa de dependencias
  41. 41. Instana Análisis y registro de peticiones
  42. 42. Instana Análisis y registro de peticiones Get calls ordered by time... With trace details
  43. 43. Instana Correlacion de código fuente con Datos de App.
  44. 44. Instana Correlación de código fuente con Datos de App. ● Permite obtener feedback valiosos en segundos del pipeline CI/CD. ● Permite verificar el rendimiento de cada endpoint despues de cara release.
  45. 45. Instana Optimización del rendimiento Compare el rendimiento de sus endpoints
  46. 46. Instana Optimización del rendimiento ● Identifique cuellos de botella. ● Analice cada petición extremo a extremo. ● Verifique el tiempo de respuesta en cada llamada incluida la latencia de red latency.
  47. 47. Instana Identificación de Incidentes mediante algoritmos AI ● Instana proporciona health checks automáticos de todas las tecnologías soportadas. ● KPIs obtenidos de forma automática sobre servicio orientados a clientes: performance, latency and error rate. ● AI deteccion de anomalias basado en los resultados de los KPIs. ● Detección de incidencias relacionadas con la infraestructura.
  48. 48. Sysdig Secure ● Basado en componentes Open Source ● Solución SaaS y On-premises ● Políticas de seguridad y de gestión de vulnerabilidades ● Políticas inteligentes para detección en Run-time de: ○ Procesos sospechosos ○ Datos sensibles ○ Networking ○ Modified File Bytes ● Auditoría y Forensics ● +250 Verificaciones de cumplimiento de estandades de seguridad out-of- box (CIS, PCI-DSS, GDPR,...)
  49. 49. Sysdig Secure Policy Events
  50. 50. Sysdig Secure Policy Editor
  51. 51. Sysdig Secure Commands Audit
  52. 52. Sysdig Secure Image Scanning
  53. 53. Patrocina Colabora Conclusiones
  54. 54. Cómo medir el éxito de DevSecOps ● Frecuencia de despliegue (releases rápidos y frecuentes) ● Lead time (code-to-cash cycle) ● Tiempo de detección de amenazas, vulnerabilidades y malware ● Tiempo medio de reparación y resolución ● Eficiencia del rollback y recovery
  55. 55. DevSecOps Best Practices ● Automatizar el escaneo a través de todo el pipeline. ● Crear políticas de seguridad bien definidas ● Implementar una estrategia rigurosa de staging ● Reducir la superficie de ataque sobre la infraestructura DevOps ● Monitorizar de forma continua las aplicaciones desplegadas ● Establezca trazabilidad hasta desarrollo ● Practique una limpieza continua de componentes y sistemas ● Utilizar herramientas para la gestión automatizada de la configuración ● Defina estrategias de rollback y recovery automatizadas. ● Practique una mejora continua mediante la inspección y adaptación continua para lograr mejoras de seguridad
  56. 56. Patrocina Colabora Gracias Luis Hernandez Hopla Software luis.hernandez@hoplasoftware.com
  57. 57. Patrocina Colabora

×