Defensa para Contenedores
¿Qué es un Contenedor?
Es una manera estándar de empaquetar una aplicación y todas sus dependencias para que pueda moverse entre entornos y ejecutarse sin alteraciones.
Las diferencias entre aplicaciones quedan aisladas dentro del contenedor permitiendo que el exterior sea estandarizado.
Framework Zero Trust
Zero Trust establece que las organizaciones no deberían confiar automáticamente en nada dentro o fuera de su perímetro en ningún momento.
En su lugar, invita a verificar todo lo que intente conectarse a sus sistemas antes de otorgar acceso.
Capas de Aplicaciones basadas en Contenedores
1- Acciones y controles sobre aplicaciones:
El Modelado de Amenazas consiste en identificar, comprender y comunicar las amenazas y mitigaciones dentro del contexto de protección de algo de valor.
Se puede aplicar a aplicaciones, sistemas, redes, sistemas distribuidos, Internet de las cosas (IoT), procesos de negocios, etc.
Se puede realizar en cualquier etapa del desarrollo, preferentemente temprano, para que los hallazgos puedan incluirse como parte del diseño.
El software hoy se ensambla utilizando componentes de terceros y de código abierto, se unen de formas complejas y únicas, y se integran con el código original para proporcionar la funcionalidad deseada.
El Análisis de Componentes es el proceso de identificar áreas potenciales de riesgo a partir del uso de componentes de software y hardware de terceros y de código abierto. Un subconjunto solo de software de análisis de componentes con alcance limitado se conoce comúnmente como Análisis de Composición de Software (SCA).
Las herramientas de análisis de código fuente, también conocidas como herramientas de Prueba de Seguridad de Aplicaciones Estáticas (SAST), están diseñadas para analizar el código fuente y/o versiones compiladas de código para ayudar a encontrar fallas de seguridad.
Algunas herramientas están comenzando a moverse hacia el IDE, ya que proporciona retroalimentación inmediata al desarrollador sobre los problemas que podrían estar introduciendo en el código durante el desarrollo en sí mismo.
Los analizadores de vulnerabilidades de aplicaciones web son herramientas automatizadas que escanean, normalmente desde el exterior. Esta categoría de herramientas se denomina con frecuencia Herramientas de Pruebas de Seguridad de Aplicaciones Dinámicas (DAST).
Un gran número de herramientas de este tipo están disponibles y todas tienen sus fortalezas y debilidades. El proyecto OWASP Benchmark mide científicamente la efectividad de todos los tipos de herramientas de detección de vulnerabilidades, incluido DAST.
Con pocos contenedores la administración es manejable
Docker
Docker es una herramienta que facilita la creación, implementación y ejecución de aplicaciones mediante el uso de contenedores.
Permite que las aplicaciones utilicen el mismo kernel que el sistema en el que se ejecutan, posibilitando un aumento significativo del rendimiento y reduciendo el tamaño de la aplicación.
Docker Engine
Arquitectura de Docker
Ataques Comunes a Docker
Mejores Prácticas para Docker
Docker Bench for Security
https://github.com/docker/docker-bench-security
Análisis Estático de Imágenes
Mejores Prácticas para Cloud
Ideas Clave
✓ Definir las capas de nuestra arquitectura (Defensa en Profundidad)
✓ Asegurar cada componente asumiendo que es atacado (Zero Trust)
✓ Basándonos en Mejores Prácticas para comenzar (CIS Benchmarks)
✓ Aprovechando herramientas libres para cuidar el presupuesto
✓ Centralizando la información para facilitar la administración de las capas