Seguridad en Kubernetes
Kubernetes es la plataforma de orquestación de contenedores que está revolucionando el desarrollo de aplicaciones empresariales y su seguridad es fundamental para poner en marcha aplicaciones modernas. En este webinar, Pablo Fredrikson, conocido como Pelado Nerd, uno de los más reconocidos youtuber y divulgadores en tecnologías como Kubernetes, Docker y Linux, explica las buenas prácticas para reforzar tu plataforma. Entre otros temas, explica cuáles son los ataques más comunes de Kubernetes y cómo evitarlos, cómo configurar el clúster y los accesos (RBAC) y las herramientas que te ayudarán a analizar el clúster. 00:00 INTRODUCCIÓN 01:40 PRESENTACIÓN WEBINAR 02:31: KUBERNETES EN 3 MINUTOS 07:04 KUBERNETES ES UN ORQUESTADOR 07:44 KUBERNETES ES UNA API 08:30 PROTEGIENDO LA API DE KUBERNETES 27:47 PROTEGIENDO KUBERNETES DESDE DENTRO 36:20 HERRAMIENTAS PARA ENCONTRAR PROBLEMAS 42:31 PREGUNTAS
En la era actual, donde la nube y los contenedores son fundamentales en la infraestructura tecnológica, la seguridad en los sistemas Kubernetes se ha convertido en un tema crucial.
Kubernetes es un sistema de orquestación de contenedores que permite la automatización del despliegue, escalado y administración de aplicaciones en entornos de contenedores. Con el aumento de su adopción, también ha aumentado la preocupación por la seguridad en estos sistemas.
La seguridad en Kubernetes se divide en dos aspectos: la seguridad del cluster y la seguridad de las aplicaciones. La seguridad del cluster se refiere a la protección de los recursos del cluster, como los nodos, los pods y los servicios. La seguridad de las aplicaciones se refiere a la protección de las aplicaciones y datos que se ejecutan en el cluster.
Buenas prácticas de seguridad en Kubernetes
Para garantizar la seguridad en un sistema Kubernetes, es importante seguir las mejores prácticas de seguridad, como:
- Utilizar un sistema de autenticación y autorización seguro, basado por ejemplo en RBAC.
- Utilizar certificados SSL para proteger las comunicaciones del cluster mediante el uso de Transport Layer Security (TLS) para la API y los node pools.
- Configurar reglas de firewall para restringir el acceso no autorizado al cluster.
- Utilizar herramientas de detección y respuesta de incidentes para detectar y responder rápidamente a posibles amenazas.
Herramientas de seguridad para clusters de Kubernetes
Para ejemplificar el uso de herramientas de detección y respuesta de incidentes, se puede mencionar a Popeye, es una herramienta de validación de configuración y seguridad para clusters de Kubernetes. Popeye escanea el estado actual del cluster para detectar problemas de configuración, seguridad y rendimiento, proporcionando informes detallados sobre cualquier problema detectado. Esto permite a los administradores de sistemas corregir problemas de seguridad y de configuración antes de que puedan ser explotados por atacantes.
En resumen, la seguridad en sistemas Kubernetes es esencial para garantizar la protección de los recursos del cluster y de las aplicaciones que se ejecutan en el mismo. Es importante seguir las mejores prácticas de seguridad, como el uso de certificados SSL y protocolos de seguridad como TLS, y utilizar herramientas de detección y respuesta de incidentes, como Popeye, para garantizar la seguridad en un entorno de contenedores.
Recomendaciones para una buena seguridad en Kubernetes
Cifrado de datos
Empezar por cifrar los volúmenes de datos a través del algoritmo AES-256 es un buen comienzo, aunque se puede extender también este cifrado a los volúmenes de inicio y a los backups de servidor. Los datos transferidos entre los servidores circulan por una red de alta seguridad interna para ser protegidos.
Algunas empresas tienen sus propios estándares de seguridad, fijados por sus equipos internos. Pero es cierto que esta no es la regla general y hay veces en las que no se cuentan con recursos suficientes para hacerlo.
Seguridad en el acceso a clusters privados
En los clusters privados puedes limitar el acceso de Kubernetes tanto en la red local como en un bastión host, un consejo de seguridad que se da casi siempre. Y esto se debe a que la configuración de un bastón host se puede convertir en un problema cargado de errores y una vulnerabilidad para cualquier ataque. Así que pensar en un acceso SSH seguro para los recursos privados es una idea interesante, ofreciendo un servicio más seguro y otra capa de seguridad más frente a cualquier amenaza.
Establecer roles en clusters de Kubernetes
Hacemos referencia a establecer permisos distinguidos a determinadas personas, y en este caso interesa autorizar a determinadas personas para acceder a según qué clusters. Controlar el acceso a la red de Kubernetes es una de las primeras barreras frente a cibercriminales.
Si no tienes mucha idea sobre esto, Managed Kubernetes puede serte útil porque nos encargaremos de hacer fácil el uso de esta plataforma. Queda claro que los administradores y desarrolladores son los profesionales a los que más les interesa esto con el fin de resolver problemas en un cluster.
Un método de autenticación más exigente
Uno de los problemas más comunes es establecer contraseñas fáciles de descifrar, por lo que hay que recurrir a caracteres especiales o a una clave determinada. La clave pública RSA en formato PEM sirve, pero es recomendable añadir un segundo factor para hacer la autenticación más segura.
Con una autenticación multifactor:
- La clave RSA es el primer factor.
- Después, se tiene que proporcionar un código de verificación vinculado a un dispositivo (smartphone o equipo), que sería el segundo factor.
Esto es algo muy extendido ¿por qué no hacerlo en Kubernetes?
Bloquea vulnerabilidades en Kubernetes y obtén más seguridad
Hablamos de los contenedores desplegados de Kubernetes y de sus aplicaciones. Es posible asegurarse de que los intrusos se queden lejos de las imágenes del contenedor a través de la verificación de imágenes.
Por ejemplo, se puede activar un escáner en la imagen de un contenedor para verificar que no tiene vulnerabilidades. Es una manera de firmar imágenes en los clusters, por lo que podemos restringir el despliegue a los que tienen imágenes firmadas. De esta manera, protegemos toda nuestra plataforma de malware.
No descartes una auditoría
Las auditorías son muy interesantes para saber cuál es el estado actual de la seguridad en Kubernetes. Normalmente, se hace una auditoría de la actividad del servicio en su totalidad, la cual ayuda a identificar vulnerabilidades, ausencias de seguridad o si un cluster está siendo atacado.
Últimos webinars
Como utilizar Tidio para crear un chatbot en tu web
Laradock: dockerizando entornos de desarrollo para proyectos PHP
Espacios de datos: de la teoría a la práctica
Cómo programar con Inteligencia Artificial utilizando Copilot
La Inteligencia Artificial (IA) como herramienta
Desentrañando la primera normativa sobre Inteligencia Artificial en la UE
Arquitecturas distribuidas y patrones asociados
Cómo crear un podcast para captar y fidelizar a tu audiencia