A medida que más organizaciones adoptan un modelo de implementación de microservicios, también están adoptando la infraestructura como código (IaC) para optimizar la entrega continua. IaC codifica configuraciones para automatizar la implementación y el aprovisionamiento de servicios. Pero, ¿qué hay de la seguridad como código? Algunos creen que las políticas de seguridad también deben describirse e integrarse dentro del proceso de CI / CD.
La seguridad como código llega justo cuando también están surgiendo las mejores prácticas de DevSecOps . Y, en medio del creciente uso de contenedores, los ingenieros están recurriendo a soluciones como Kubernetes para la orquestación y la malla de servicios para manejar las preocupaciones transversales de los microservicios. Las mallas de servicio como Istio utilizan Envoy Proxy , cuya cadena de filtros podría ser una ubicación adecuada para agregar funcionalidades declarativas adicionales, como controles de seguridad.
Un ejemplo de una herramienta que intenta abordar esto es Curiefense , un proyecto CNCF de código abierto. Recientemente me reuní con Tzury Bar Yochay, CTO y cofundador de Reblaze, y mantenedor de Curiefense, para explorar las amenazas de seguridad que enfrentan los ecosistemas basados en contenedores de hoy. A continuación, consideraremos qué tácticas pueden usar los marcos basados en Envoy para mejorar su postura de seguridad.
Problemas de seguridad en general
La seguridad es una preocupación urgente para todos los sitios web, API, servicios y microservicios. Un estudio reciente de Salt Security encontró que el 84% de las empresas sufren al menos 10 ataques de API por mes y ha habido un aumento del 211% en el tráfico malicioso durante el último año. Para los contenedores, las amenazas como valores predeterminados inseguros , configuraciones incorrectas, estados demasiado permisivos o credenciales filtradas son vulnerabilidades comunes existentes.
Respuestas de seguridad
Como describe Bar Yochay, las organizaciones realmente necesitan monitorear el tráfico a nivel HTTP y controlar el flujo de aplicaciones. Esto puede proporcionar una perspectiva de seguridad de 360 grados para proteger contra bots, buscar cookies, verificar encabezados y analizar otros vectores de riesgo que podrían indicar código malicioso, dice.
La seguridad es un término general, y están surgiendo muchos proyectos de seguridad nativos de la nube para respaldar la seguridad de red o de confianza cero . Según Bar Yochay, centrarse en la capa de aplicación ofrece un método único para profundizar en la sesión y el contexto de los comportamientos.
Bar Yochay también enfatiza cómo el código abierto es esencial para armar la infraestructura y compartir exploits de día cero. Como mencioné anteriormente, el software de código abierto ahora es fundamental para los esfuerzos de transformación en muchas empresas. Aunque pueda parecer contradictorio, la apertura en todo el espectro de la seguridad es cada vez más importante para la seguridad.
La apertura es crucial para, por ejemplo, compartir las vulnerabilidades y exposiciones comunes (CVE) diarias y reducir la ventana de tiempo entre un exploit de día cero y un parche de software asociado. El código abierto también aporta ventajas de colaboración. “La belleza del código abierto es que convierte una solicitud de función en una solicitud de extracción”, dice Bar Yochay. Los esfuerzos de código abierto permiten más espacio para las contribuciones de desarrolladores externos para resolver errores e impulsar un proyecto hacia adelante. Por lo tanto, Bar Yochay recomienda el uso de herramientas de seguridad con bases de código abierto y estándares abiertos al aplicar prácticas de seguridad como código.
Ampliación de Envoy Proxy
Envoy , ahora un proyecto CNCF de código abierto graduado, está ganando popularidad en los nuevos entornos de producción. Dado que Envoy funciona con muchos marcos, una extensión de Envoy podría aplicarse a un sidecar de aplicación, una puerta de enlace de entrada y / o un proxy de borde, entre otros casos de uso. Por lo tanto, basarse en Envoy podría permitir una distribución más amplia.
Los recientes esfuerzos para ampliar Envoy también subrayan la naturaleza componible de los ecosistemas de software modernos. «En una era de API y servicios conectados», explica Bar Yochay, «hacer que todo sea extensible y componible es la clave del éxito».
Fuera de la ciberseguridad, la emoción en torno a Envoy está impulsando el desarrollo de otras capacidades de la cadena de filtros. Por ejemplo, como mencioné recientemente, otros prevén que la cadena de filtros Envoy se utilizará como una puerta de enlace API para llevar el tráfico de norte a sur a la malla de servicios . Bar Yochay está de acuerdo en que la implementación de la funcionalidad de la puerta de enlace API a través de una cadena de filtros Envoy es totalmente posible; tome Ambassador como prueba.
Hacer que la seguridad como código sea simple y eficaz
“Uno de los principales éxitos de la seguridad sostenible es la simplicidad”, dice Bar Yochay. «Si una solución no es fácil de usar con el tiempo, las cosas se dejarán como estaban el primer día».
Para montar una defensa sólida, las herramientas de seguridad deben ser amigables para los desarrolladores . Estrategias como mejorar la experiencia del desarrollador, reducir la fatiga de las alertas y proporcionar controles basados en la interfaz de usuario de código bajo son algunas de las formas más citadas de hacer que las herramientas orientadas al desarrollador sean más sencillas de usar.
Bar Yochay agrega que las herramientas centradas en el desarrollador deben encajar en los flujos de trabajo existentes mediante la adopción de un enfoque basado en GitOps, lo que permite a los desarrolladores integrar la seguridad de manera más fluida dentro de las canalizaciones DevOps existentes. Esto presentaría una forma novedosa de introducir la ciberseguridad al mismo nivel que la infraestructura como código.
El futuro de la seguridad como código
El software nativo de la nube actual necesita una sólida respuesta de seguridad nativa de la nube. Con Envoy creciendo en ubicuidad en varios marcos y mallas de servicios, algunos lo consideran un componente razonable para ampliar con la funcionalidad de seguridad como código. Esto ayudaría a localizar amenazas e introducir políticas basadas en roles para proteger los marcos basados en Envoy.
Independientemente de la implementación precisa, las empresas necesitarán inherentemente adoptar mejores puntos de apoyo de seguridad para responder a los crecientes vectores de ataque. Dado que los equipos de DevOps ya han conquistado un medio para escalar y orquestar vastas redes de contenedores rápidamente utilizando configuraciones preconfiguradas, ahora tiene sentido que el próximo paradigma implique automatizar las políticas de seguridad de una manera similar.