Como saben la mayoría de los expertos en seguridad, los contenedores de aplicaciones (Docker, rkt, etc.) y los elementos de orquestación (como Kubernetes) utilizados para respaldarlos se utilizan cada vez más en muchas organizaciones.
A menudo, las organizaciones de seguridad no son la primera parada para implementar estas herramientas. (Si está en su tienda, considérese uno de los afortunados). En cambio, el uso tiende a provenir de la base. En primer lugar, los desarrolladores utilizan contenedores en sus estaciones de trabajo para simplificar las pruebas unitarias y la configuración del entorno, aumentar la tracción a medida que el proceso de integración se adapta a un enfoque más de «integración continua» facilitado por los contenedores y, finalmente, lograr la aceptación en entornos de producción más amplios.
En resumen, a menudo, muchos expertos en seguridad encuentran uso cuando su organización ya está en lo más profundo.
Esto deja a los profesionales de la seguridad en un aprieto. No solo necesitamos proteger los tiempos de ejecución de los contenedores y los entornos de orquestación, sino que también debemos proporcionar garantías para las aplicaciones, las bibliotecas de soporte, los componentes de middleware, etc. que se almacenan en esos contenedores.
Necesitamos hacer todo esto sin sacrificar la calidad o el rigor del trabajo en otras áreas, mientras desarrollamos experiencia en los matices de los diferentes motores de contenedores, entornos de orquestación, enfoques arquitectónicos de microservicios y tecnologías de nube que respaldan su uso.
¿Suena desafiante? Por supuesto que sí.
Eso significa que los profesionales de la seguridad, especialmente aquellos que son más técnicos, necesitan todas las ventajas que puedan obtener al proteger los contenedores. Cualquier «multiplicador de fuerza» ayuda: automatización, herramientas de descubrimiento y visibilidad, mejor seguimiento, etc.
Hay muchas herramientas comerciales que pueden ayudar en estas áreas (y muchas otras), pero a veces necesitas ayuda ahora mismo. Es posible que no pueda esperar al ciclo presupuestario para comprar herramientas listas para usar. En este caso, las opciones de código abierto pueden proporcionar un punto de entrada sin esperar un presupuesto.
¿Qué hay en ese contenedor?
Hay algunas herramientas de código abierto que están haciendo olas en el espacio de seguridad de contenedores en este momento, pero en las que me centraré aquí son motor de anclaque aborda los desafíos a los que se enfrentan muchas organizaciones: en particular, el desembalaje, la verificación y el aseguramiento del contenido de los contenedores.
Ancla Engine es un proyecto de código abierto (Apache License 2.0) que puede ayudarlo de dos maneras. Primero, analizará el contenido dentro del contenedor dado por usted. Esto incluye proporcionar manifiestos de software, incluidos componentes del sistema operativo y paquetes de soporte, así como artefactos como versiones de JRE, bibliotecas intermedias y más.
«Anchore Engine es una herramienta de código abierto para la inspección profunda de imágenes de contenedores», dijo Ross Turk, vicepresidente de marketing de Anchore. «Estas imágenes pueden contener muchas cosas: paquetes de SO, bibliotecas de idiomas, credenciales y secretos, y configuraciones que afectan la forma en que se ejecuta el contenedor resultante. Anchore Engine aplana y descomprime las imágenes capa por capa, y hace un inventario de lo que hay dentro».
Esta información es valiosa no solo porque brinda información sobre qué software puede necesitar actualizarse en caso de un parche de seguridad o una actualización, sino también porque le permite comprender cómo se implementan sus aplicaciones y servicios antes, después o durante entorno de producción. Puede informar revisiones de arquitectura de software, modelado de amenazas, conversaciones sobre gestión de secretos, actividades de auditoría y revisiones de diseño, entre otros.
También es útil porque puede ayudarlo a comprender posibles problemas en contenedores individuales. Por ejemplo, puede usarlo para analizar qué vulnerabilidades (por número de CVE) existen en un contenedor a través del software instalado.
En cierto modo, es similar a obtener los resultados del análisis de vulnerabilidades de un contenedor; sin embargo, a diferencia de un análisis de vulnerabilidades, un contenedor no necesita recopilar esta información «en tiempo real». Entonces, si tiene un contenedor serializado (como almacenado en un registro o en la estación de trabajo de un desarrollador), aún puede obtener información sobre las vulnerabilidades que podrían afectar el software en esos contenedores.
Integrarse en su entorno
Por supuesto, hay muchas otras herramientas que hacen cosas similares, algunas comerciales y otras opciones de código abierto. Una ventaja que ofrecen las opciones de código abierto (y donde destaca Anchore Engine) es que puede comenzar a trabajar de inmediato, ya sea que esté planeando o evaluando otras opciones para hacerlo.
Hay dos beneficios al hacer esto. En primer lugar, el valor del valor está disponible de inmediato sin esperar ciclos presupuestarios o largos ciclos de integración. Este es un recurso provisional ideal, incluso si termina eligiendo investigar (u optar por) otro producto. Puede comprender el valor que brindan estas herramientas y puede comenzar a recopilar información de inmediato.
La segunda ventaja es que te permite experimentar. De hecho, puede experimentar dónde y cómo se integran los datos proporcionados por la herramienta en su canal de lanzamiento o proceso operativo.
Recuerde, hay muchas opciones aquí. Por ejemplo, puede decidir centrarse en el lado izquierdo de la ecuación, lo que permite a los desarrolladores inspeccionar y evaluar los contenedores por sí mismos, por ejemplo, capacitándolos sobre cómo minimizar el código de soporte innecesario, las bibliotecas obsoletas, los paquetes innecesarios o los – Versión de software vulnerable.
Como alternativa, puede decidir que la característica es más valiosa en su canalización de CI/CD y puede escribir un script para evaluar automáticamente cuándo pasa la imagen del contenedor. Al final, puede decidir que desea recopilar mejor información sobre las imágenes de contenedores que ya están en producción y usar la herramienta como una forma de recopilar información sobre lo que se implementa.
Turk proporciona una descripción general de cómo y por qué las organizaciones pueden comenzar.
«Creemos que la inspección profunda de imágenes debería ser una buena práctica para todos los que usan contenedores», dijo. «Anchore Engine es gratuito y de código abierto, y se puede integrar fácilmente en cualquier sistema de CI/CD. Realmente no hay razón para no escanear imágenes antes de publicarlas o implementarlas, y Anchore Engine viene con una política lista para usar para apuntar a la mayoría de las alertas sobre vulnerabilidades comunes. Recomendamos que todos los desarrolladores integren el escaneo de imágenes en su flujo de trabajo, preferiblemente a través de una de las muchas integraciones de CI/CD disponibles».
No importa dónde y cómo decidas usarlo, hay una entrada rápida. Puede usar cinco comandos bash para ponerse en marcha en un sistema con Connect y Docker Compose instalados. No se requiere una inversión inicial en USD para comenzar. ¿Cómo puedes vencerlo?
Las opiniones expresadas en este artículo son las del autor y no reflejan necesariamente las opiniones de ECT News Network.