DevSecOps

Actualmente, en el marco de trabajo en colaboración de DevOps, la seguridad es una responsabilidad compartida e integrada durante todo el proceso. Puesto que es un enfoque tan importante, se acuño el término “DevSecOps” para enfatizar la necesidad de crear una base de seguridad en las iniciativas de DevOps.

DevSecops implica pensar desde el principio en la seguridad de las aplicaciones y de la infraestructura. También implica automatizar algunas puertas de seguridad para impedir que se ralentice el flujo de trabajo de DevOps.

Para 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 de seguridad. Sin embargo, la seguridad efectiva de DevOps requiere más que herramientas nuevas; se basa en los cambios culturales de DevOps para integrar el trabajo de los equipos de seguridad lo antes posible.

Ya sea que lo llame ”DevOps” o que prefiera ”DevSecOps” para incorporar en el nombre la seguridad, lo ideal siempre ha sido incluirla como parte integral de todo el ciclo de vida de la aplicación.

El término DevSecIps no se refiere a una perímetro de seguridad que rodea las aplicaciones y los datos, sino a la seguridad integrada. Si esta sigue quedándose al final del proceso de desarrollo, las empresas que adoptan DevOps corre el riesgo de volver a los largos ciclos que pretendían evitar desde el principio.

En parte, DevSecOps destaca la necesidad de invitar a los equipos de seguridad desde el inicio de las iniciativas de DevOps, para que incorporen la seguridad de la información y establezcan un plan para su automatización.

También subraya la necesidad de ayudar a los desarrolladores a escribir código teniendo en cuenta la seguridad, lo cual implica que los equipos de seguridad compartan sus perspectiva, los comentarios y la información valiosa sobre las amenazas conocidas. Posiblemente esto también implique que los desarrolladores tengan que capacitarse en seguridad, ya que el método tradicional para desarrollar aplicaciones no siempre ha hecho hincapié en el tema.

¿Qué significa la seguridad integrada?

Para empezar, una buena estrategia de DevSecOps implica determinar la tolerancia a los riesgos y realizar un análisis de riesgos y beneficios al respecto. ¿Qué cantidad de controles de seguridad es necesaria en cierta aplicación? ¿Qué tan importante es la velocidad de comercialización para las diferentes aplicaciones?

La automatización de las tareas repetidas es clave para DevSecOps, ya que la ejecución de comprobaciones de seguridad manuales en el proceso puede requerir muchos tiempo.

Seguridad automatizada en DevOps

Se recomienda mantener ciclos de desarrollo cortos y frecuentes, integrar medidas de seguridad con una interrupción mínima de las operaciones, mantenerse al día con las tecnologías innovadoras (como los contenedores y los microservicios) y, al mismo tiempo, fomentar 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 a nivel humano, con los pormenores de la colaboración en su empresa, pero automatización facilita esos cambios humanos en un marco de DevSecOps.

Las empresas deben dar un paso atrás y considerar todo el entorno 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 automatización de los lanzamientos y la coordinación, y la gestión y la supervisión operativas.

Las nuevas tecnologías de automatización han ayudado a las empresas a adoptar prácticas de desarrollo más ágiles, y a promover nuevas medidas de seguridad.

Pero la automatización no es lo único que ha cambiado en el panorama de TI durante los últimos años; las tecnologías nativas de la nube, como los contenedores y los microservicios, son ahora una parte importante de la mayoría de las iniciativas de DevOps, y la seguridad de la plataforma debe adaptarse para cumplir con ellas.

La seguridad de DevOps se diseño para los contenedores y los microservicios.

La mayor escalabilidad y la infraestructura más dinámica habilitadas por los contenedores han cambiado la forma de hacer negocios de muchas empresas. Debido a esto, las prácticas de seguridad de DevOps deben adaptarse al nuevo panorama y ajustarse a las pautas de seguridad especificas de los contenedores.

Las tecnologías nativas de la nube no son adecuadas para las listas de verificación y las políticas de seguridad estáticas. Por el contrario, la seguridad debe ser constante y estar integrada en cada etapa del ciclo de vida de la aplicación y la infraestructura.

DevSecOps significa integrar la seguridad al desarrollo de las aplicaciones durante todo el proceso. Esta integración requiere las nuevas herramientas, pero también un enfoque organizativo distinto.

Los equipos de Devops deben tenerlo en mente al automatizar la seguridad para proteger el entorno y los datos en general, así como el proceso de integración y distribución continuas; un objetivo que probablemente incluya la seguridad de los microservicios en contenedores.

Seguridad del entorno y de los datos

Estandarice y automatice el entorno: Los servicios deben tener el menor número de privilegios posibles para reducir las conexiones y el acceso no autorizados.

Aísle los contenedores que ejecutan microservicios unos de otros y de la red: Esto incluye tanto los datos en tránsito como un reposo, ya que ambos pueden representar objetivos de alto valor para los ataques informáticos.

Centralice la identidad del usuario y las funciones de control de acceso: 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.

Seguridad del proceso de CI/CD

Integre escáneres de seguridad para los contenedores: Esto debe ser parte del proceso para agregar contenedores al registro.

Agregue pruebas automatizadas para las funciones se seguridad en el proceso de pruebas de aceptación: Automatice las pruebas la validación de entrada, así como las funciones de verificación, autenticación y autorización.

Automatice las pruebas de seguridad en el proceso de CI: Esto incluye ejecutar herramientas de análisis estáticos de seguridad como parte de las compilaciones, así como escanear las imágenes de contenedores creadas previamente para detectar puntos vulnerables de seguridad conocidos, a medida que se incorporan al proceso de compilación.