Jump to section

¿Qué es DevSecOps?

Copiar URL

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.

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.

Illustration representing a linear progression from Development to Security and then to Operations

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.

Illustration representing collaboration between Development, Security, and Operations roles

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.

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.

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.

Illustrations representing that DevOps plus Automation equals Security

¿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.

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.

Obtenga más información sobre la seguridad de la CI/CD

Imagen de la portada del ebook DevOps Culture and Practice with OpenShift

Acceda a DevOps Culture and Practice with OpenShift

Artículos relacionados

ARTÍCULO

¿Qué es DevSecOps?

Si desea aprovechar al máximo la agilidad y la capacidad de respuesta de los enfoques de DevOps, la seguridad de la TI debe desempeñar un papel principal en todo el ciclo de vida de sus aplicaciones.

ARTÍCULO

¿Qué son la integración/distribución continuas (CI/CD)?

La integración y la distribución continuas (CI/CD) incorporan la automatización y la supervisión permanentes en todo el ciclo de vida de las aplicaciones, desde las etapas de integración y prueba hasta las de distribución e implementación.

ARTÍCULO

¿Qué hace un ingeniero de DevOps?

Un ingeniero de DevOps es alguien que posee una combinación única de habilidades y experiencia que permite la colaboración, la innovación y los cambios culturales dentro de una empresa.  

Más información sobre DevOps

Productos

Programa intensivo y altamente especializado con personal experto de Red Hat, que le enseñará a utilizar una metodología ágil y herramientas open source para solucionar los problemas comerciales de su empresa.

Servicio de nuestros asesores estratégicos, quienes tienen una visión amplia de su empresa, analizan sus desafíos y lo ayudan a superarlos con soluciones completas y rentables.

Contenido adicional

Lista de verificación

Automatización empresarial con metodología DevOps

Whitepaper

Optimice los canales de CI/CD con Red Hat Ansible Automation Platform