Resumen
DevSecOps significa desarrollo, seguridad y operaciones. Se trata de un enfoque que aborda la cultura, la automatización y el diseño de plataformas, e integra la seguridad como una responsabilidad compartida durante todo el ciclo de vida de la TI.
Diferencias entre DevSecOps y DevOps
DevOps no solo se trata de los equipos de desarrollo y operaciones. Si desea aprovechar al máximo la agilidad y la capacidad de respuesta del enfoque de DevOps, la seguridad de la TI debe ser una parte integral de todo el ciclo de vida de sus aplicaciones.
¿A qué se debe? En el pasado, solo un equipo específico se encargaba de la seguridad en la etapa final del desarrollo. Esto no era un problema cuando esos ciclos duraban meses o incluso años, pero esas épocas se terminaron. Un enfoque de DevOps efectivo garantiza ciclos de desarrollo frecuentes y rápidos (que suelen durar semanas o días); sin embargo, las prácticas de seguridad desactualizadas pueden revertir hasta las iniciativas más eficientes.
![DevSecOps Linear Illustration representing a linear progression from Development to Security and then to Operations](/https/www.redhat.com/rhdc/managed-files/styles/wysiwyg_full_width/private/devsecops-linear-405x259.png.webp?itok=sAeNhh03)
Actualmente, en el marco de trabajo en colaboración de DevOps, la seguridad es una responsabilidad compartida e integrada durante todo el proceso. Es un enfoque tan importante que llevó a que se acuñara el término "DevSecOps" para enfatizar la necesidad de diseñar una base de seguridad en las iniciativas de DevOps.
![DevSecOps Collaboration Illustration representing collaboration between Development, Security, and Operations roles](/https/www.redhat.com/rhdc/managed-files/styles/wysiwyg_full_width/private/devsecops-collab-405x308.png.webp?itok=TewcMqFm)
DevSecOps implica pensar desde el principio en la seguridad de las aplicaciones y de la infraestructura. También supone automatizar algunas puertas de seguridad para evitar que se ralenticen los flujos de trabajo de DevOps. A fin de cumplir con estos objetivos, es necesario seleccionar las herramientas adecuadas para integrar la seguridad de manera permanente, como acordar el uso de un entorno de desarrollo integrado (IDE) con funciones que permitan proteger los sistemas. Sin embargo, la seguridad efectiva de DevOps requiere más que nuevas herramientas, ya que se construye sobre los cambios culturales de este enfoque para integrar el trabajo de los equipos de seguridad lo antes posible.
La seguridad de DevOps está integrada
Ya sea que utilice los términos "DevOps" o "DevSecOps", siempre es conveniente incluir a la seguridad como parte integral de todo el ciclo de vida de la aplicación. Con DevSecOps, la seguridad es una función integrada y no un perímetro que rodea a las aplicaciones y los datos. Si esta función se deja para el final del canal de desarrollo, las empresas que adopten DevOps volverán a tener los ciclos largos que intentaban evitar.
En parte, DevSecOps destaca la necesidad de que los equipos y los partners de seguridad adopten las iniciativas de DevOps desde el comienzo para incorporar medidas de protección de la información y establecer un plan para automatizar la seguridad. Resalta la necesidad de ayudar a los desarrolladores a escribir el código teniendo en cuenta la seguridad, lo cual implica que los equipos encargados de esta área compartan el conocimiento, los comentarios y la información valiosa sobre las amenazas conocidas, como las internas o el posible malware. Además, se centra en identificar los riesgos de la cadena de suministro del software y hace hincapié en la seguridad de los elementos del software open source y las dependencias al principio del ciclo de vida del desarrollo. Para tener éxito, un enfoque efectivo de DevSecOps debe incluir también capacitaciones de seguridad nuevas para los desarrolladores, ya que no siempre ha sido el centro del desarrollo de aplicaciones más tradicional.
¿Cómo es la seguridad integrada? Para empezar, en una buena estrategia de DevSecOps, se debe determinar la tolerancia a los riesgos y llevar a cabo un análisis sobre los riesgos y las ventajas. ¿Cuál es la cantidad de controles que se necesitan en una aplicación determinada? ¿Qué tan importante es el tiempo de comercialización? La automatización de las tareas rutinarias es fundamental para DevSecOps, ya que consume mucho tiempo comprobar la seguridad en el canal de manera manual.
La seguridad de DevOps está automatizada
Mantenga ciclos de desarrollo cortos y frecuentes, integre medidas de seguridad con una interrupción mínima de las operaciones, manténgase al día con las tecnologías innovadoras (como los contenedores y los microservicios) y, al mismo tiempo, fomente una colaboración más estrecha entre los equipos que suelen estar aislados, lo cual es una tarea difícil para cualquier empresa. Todas estas iniciativas comienzan con tareas manuales, con los pormenores que implica la colaboración en su empresa; pero la automatización se encarga de facilitar esa clase de cambios en un marco de DevSecOps.
![devsecops automation Illustrations representing that DevOps plus Automation equals Security](/https/www.redhat.com/rhdc/managed-files/styles/wysiwyg_full_width/private/devsecops-automation3-549x160_0.png.webp?itok=XxGprSJj)
¿Pero qué conviene automatizar y cómo se puede hacer? Hay una guía escrita que responde esta pregunta. Las empresas deben retroceder y tener en cuenta los entornos completos de desarrollo y operaciones. Esto incluye los repositorios de control de código fuente, los registros de contenedores, el canal de integración e implementación continuas (CI/CD), la gestión de la interfaz de programación de aplicaciones (API), la organización y la automatización de los lanzamientos, y la gestión y la supervisión de las operaciones.
Las nuevas tecnologías de automatización han ayudado a que las empresas adopten prácticas de desarrollo más ágiles y también han contribuido a impulsar la creación de nuevas medidas de seguridad. Sin embargo, la automatización no es lo único que ha cambiado en el entorno de la TI en los últimos años: las tecnologías originales de la nube, como los contenedores y los microservicios, ahora representan una parte importante de la mayoría de las iniciativas de DevOps, y la seguridad de este enfoque debe adaptarse para que se cumplan.
Open Technology Sessions en español
Explora esta serie de webinars on-demand y descubre cómo impulsar la innovación tecnológica en tu organización. ¡Aprende más sobre automatización, infraestructura, plataforma de aplicaciones, cloud services y mucho más!
La seguridad de DevOps se diseñó para los contenedores y los microservicios
La infraestructura más dinámica y la mayor escalabilidad que permiten los contenedores han cambiado la forma en la que operan las empresas. Debido a esto, las prácticas de seguridad de DevOps deben adaptarse a los entornos nuevos y concordar con las guías de seguridad específicas para los contenedores.
Las tecnologías de la nube no se prestan para las políticas de seguridad estáticas ni las listas de verificación. En realidad, la seguridad debe ser continua y estar integrada en cada etapa de los ciclos de vida de las aplicaciones y la infraestructura.
Con DevSecOps, esta función se incluye en el desarrollo de manera integral, lo cual requiere herramientas y un enfoque empresarial nuevos en igual medida. Los equipos de DevOps deben tener esto en cuenta al automatizar la seguridad para proteger el entorno y los datos por completo, así como el proceso de integración y distribución continuas. Este objetivo seguramente incluya la seguridad de los microservicios en contenedores.
Red Hat® Advanced Cluster Security utiliza los principios de la nube y los elementos de la arquitectura de microservicios, las definiciones declarativas y las infraestructuras inmutables para automatizar las prácticas recomendadas de DevSecOps. La plataforma funciona con cualquier entorno de Kubernetes y se integra a DevOps y las herramientas de seguridad, lo cual permite que los equipos operen y protejan mejor su cadena de suministro, infraestructura y cargas de trabajo.
Seguridad del entorno y de los datos
- Estandarice y automatice el entorno: los servicios deben tener la menor cantidad de privilegios posible para reducir las conexiones y los accesos no autorizados.
- Centralice las funciones de control de acceso y de identidad de los usuarios: el control de acceso estricto y los mecanismos de autenticación centralizados son fundamentales para proteger los microservicios, ya que la autenticación se inicia en varios puntos.
- Aísle de la red y entre sí los contenedores que ejecutan microservicios: se aplica tanto para los datos en tránsito como para aquellos en reposo, ya que ambos pueden ser objetivos de gran valor para los atacantes.
- Cifre los datos entre las aplicaciones y los servicios: una plataforma de organización de contenedores con funciones de seguridad integradas disminuye las posibilidades de accesos no autorizados.
- Incorpore puertas de enlace de API seguras: las API seguras aumentan la supervisión de los enrutamientos y las autorizaciones. Al disminuir la cantidad de API expuestas, se reduce la superficie de ataque de las empresas.
Seguridad del proceso de CI/CD
- Integre el análisis de la seguridad para los contenedores: esto debería ser parte del proceso para agregar contenedores al registro.
- Automatice las pruebas de seguridad en el proceso de integración continua: esto incluye ejecutar las herramientas del análisis estático de la seguridad como parte de las compilaciones, así como examinar las imágenes prediseñadas de los contenedores para detectar los puntos vulnerables de seguridad conocidos a medida que se incorporan al canal de diseño.
- Incorpore pruebas automatizadas para las funciones de seguridad al proceso de pruebas de verificación: automatice las pruebas de validación de los datos de entrada, así como las funciones de verificación, autenticación y autorización.
- Automatice las actualizaciones de seguridad, como la aplicación de parches para los puntos vulnerables conocidos: lleve a cabo este proceso mediante el canal de DevOps. Esta tarea debería eliminar la necesidad de que los administradores ingresen a los sistemas de producción y, al mismo tiempo, crear un registro en el cual se documenten y se rastreen los cambios.
- Automatice las funciones de gestión de la configuración de los sistemas y los servicios: con esta tarea, podrá cumplir con las políticas de seguridad y eliminar los errores manuales. También se recomienda automatizar los procesos de auditoría y corrección.