Tutoriales

Sistema de aplicación de seguridad en tiempo de ejecución con capacidad para contenedores

Ingreso a KubeArmor

KubeArmor es un sistema de aplicación de seguridad en tiempo de ejecución con gratitud de contenedores que restringe el comportamiento (como la ejecución de procesos, el paso a archivos, las redes y el uso de bienes) de los contenedores a nivel del sistema.

KubeArmor funciona con módulos de seguridad de Linux (LSM), lo que significa que puede funcionar en todas las plataformas Linux (como Alpine, Ubuntu y los sistemas operativos optimizados para contenedores de Google) si los módulos de seguridad de Linux (por ejemplo, AppArmor, SELinux o KRSI) están activados en el kernel de Linux. KubeArmor utiliza los LSM adecuados para hacer cumplir las políticas necesarias.

KubeArmor se desarrolló para entornos Kubernetes. Por lo tanto, los operadores solo necesitan fijar pautas de seguridad y aplicarlas a Kubernetes. A continuación, KubeArmor detecta automáticamente los cambios en la política de seguridad de Kubernetes y los aplica en los contenedores adecuados sin intervención humana.

Si se infringen las pautas de seguridad, KubeArmor genera inmediatamente registros de auditoría con identidades de contenedor. Si los operadores cuentan con sistemas de registro, los registros de auditoría además se envían automáticamente a sus sistemas.

Síntesis de funciones

  • Cercar el comportamiento de los contenedores a nivel del sistema.

Las soluciones de seguridad de contenedores tradicionales (por ejemplo, Cilium) protegen principalmente los contenedores determinando sus relaciones entre contenedores (es sostener, flujos de servicio) a nivel de red. Por el contrario, KubeArmor previene comportamientos maliciosos o desconocidos en contenedores especificando las acciones deseadas (por ejemplo, un proceso en particular solo debe poder ceder a un archivo confidencial).

Con este fin, KubeArmor ofrece la capacidad de filtrar ejecuciones de procesos, accesos a archivos, uso de bienes e incluso operaciones de red en contenedores a nivel de sistema.

  • Hacer cumplir las políticas de seguridad en los contenedores en tiempo de ejecución

En genérico, las políticas de seguridad (por ejemplo, los perfiles de Seccomp y AppArmor) se definen estáticamente en las definiciones de pod para Kubernetes y se aplican a los contenedores cuando se crean. Entonces, las pautas de seguridad no deben actualizarse durante el tiempo de ejecución.

Para evitar este problema, KubeArmor mantiene las políticas de seguridad por separado. Esto significa que las políticas de seguridad ya no están estrechamente vinculadas a los contenedores. Luego, KubeArmor aplica las políticas de seguridad para cada contenedor directamente a los módulos de seguridad de Linux (LSM) de acuerdo con los nombres de los contenedores y políticas de seguridad especificados.

  • Cree registros de auditoría con gratitud de contenedores

Los LSM no tienen información relacionada con los contenedores. Por lo tanto, solo generan registros de auditoría basados ​​en metadatos del sistema (como ID de becario, ID de categoría e ID de proceso). Como resultado, es difícil examinar qué contenedores están causando violaciones a las políticas.

Para enfrentarse este problema, KubeArmor utiliza un maestro de sistema basado en eBPF que rastrea los ciclos de vida de los procesos en contenedores y convierte los metadatos del sistema en identidades de contenedor cuando los LSM generan registros de auditoría para violaciones de políticas de contenedores.

  • Suministro de semántica liviana de usar para las definiciones de políticas

KubeArmor ofrece la posibilidad de monitorear los ciclos de vida de los procesos de contenedores y tomar decisiones políticas basadas en ellos. En genérico, es mucho más liviana repeler una determinada obra, pero es más difícil permitir solo ciertas acciones mientras se niegan todas. KubeArmor gestiona las complejidades internas asociadas con el manejo de tales decisiones de políticas y proporciona una semántica simple para el jerga de políticas.

  • Apoyar la aplicación de la seguridad de la red entre contenedores

KubeArmor tiene como objetivo proteger los contenedores en sí mismos y no la interacción entre contenedores. Sin incautación, KubeArmor permite a un becario pegar políticas que pueden aplicar configuraciones de políticas en el nivel de citación del sistema de red (por ejemplo, bind (), listen (), accept () y connect ()), que de alguna forma controla las interacciones entre contenedores.

Empezado

Por confianza, eche un vistazo a los siguientes documentos.

  1. Conductor de implementación
  2. Observación de política de seguridad para contenedores
  3. Ejemplos de pautas de seguridad para contenedores
  4. Observación de política de seguridad para nodos (hosts)
  5. Ejemplos de políticas de seguridad para nodos (hosts)

Si desea hacer una contribución, lea además los siguientes documentos.

  1. Contribución manual
  2. Manual de explicación
  3. Hoja de ruta técnica

Comunidad

  • Únase al canal KubeArmor Slack para comunicarse con los desarrolladores de KubeArmor y otros usuarios. Siempre damos la bienvenida a una discusión sobre los problemas que enfrenta al usar KubeArmor.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba