Prefacio

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Kubernetes no es seguro por defecto. Los enfoques existentes para la seguridad de la empresa y de la nube se ven desafiados por la naturaleza dinámica de Kubernetes y el objetivo de una mayor agilidad organizativa que a menudo conlleva su uso. Asegurar, observar y solucionar con éxito microservicios de misión crítica en este nuevo entorno requiere una comprensión holística de una amplitud de consideraciones. Entre ellas se incluyen los retos organizativos, cómo los nuevos enfoques nativos de la nube pueden ayudar a superar los retos, y las nuevas buenas prácticas y cómo hacerlas operativas.

Aunque no faltan recursos sobre Kubernetes, navegar por ellos y formular una estrategia integral de seguridad y observabilidad puede ser una tarea desalentadora y, en muchos casos, conduce a lagunas que socavan significativamente la postura de seguridad deseada.

Por eso hemos escrito este libro: para guiarte hacia una estrategia holística de seguridad y observabilidad en toda la amplitud de estas consideraciones, y para ofrecerte buenas prácticas y herramientas que te ayuden a trasladar aplicaciones a Kubernetes.

Durante los años que llevamos trabajando en Tigera y construyendo Calico, una herramienta de red y seguridad para Kubernetes, hemos visto de cerca el viaje del usuario. Hemos visto que muchos usuarios se centran en la implementación de sus cargas de trabajo en Kubernetes sin pensar en su estrategia de seguridad u observabilidad, y luego tienen dificultades para entender cómo proteger y observar un sistema distribuido tan complejo. Nuestro objetivo con este libro es ayudar a minimizar este dolor en la medida de lo posible, compartiendo contigo lo que hemos aprendido. Mencionamos varios ejemplos de herramientas a lo largo del libro, y Calico está entre ellas. Creemos que Calico es una opción excelente y popular, pero hay muchas buenas herramientas, como Weave Net, VMware Tanzu, Aqua Security y Datadog, entre las que elegir. En última instancia, sólo tú puedes decidir cuál es la mejor para tus necesidades.

Las etapas de la adopción de Kubernetes

Todo viaje exitoso de adopción de Kubernetes sigue tres etapas distintas:

La etapa de aprendizaje
Como nuevo usuario, empiezas aprendiendo cómo funciona Kubernetes, configurando un entorno sandbox y comenzando a pensar en cómo puedes utilizar Kubernetes en tu entorno. En esta etapa quieres aprovechar los recursos online de Kubernetes disponibles y utilizar tecnologías de código abierto.
La fase piloto/preproducción
Una vez que te familiarices con Kubernetes y entiendas cómo funciona, empieza a pensar en una estrategia de alto nivel para adoptar Kubernetes. En esta etapa sueles hacer un proyecto piloto para configurar tu clúster y embarcar un par de aplicaciones. A medida que avances en esta etapa, tendrás una idea sobre qué plataformas vas a utilizar y si serán locales o en la nube. Si eliges la nube, decidirás si alojas el clúster tú mismo o aprovechas un servicio gestionado de Kubernetes de un proveedor de la nube. También tienes que pensar en estrategias para asegurar tus aplicaciones. A estas alturas, ya te habrás dado cuenta de que Kubernetes es diferente debido a su naturaleza declarativa. Esto significa que la plataforma abstrae muchos detalles sobre la red, la infraestructura, el host, etc., y por tanto te facilita mucho el uso de la plataforma para tus aplicaciones. Debido a esto, los métodos actuales que utilizas para asegurar tus aplicaciones, infraestructura y redes simplemente no funcionan, por lo que ahora necesitas pensar en una seguridad que sea nativa de Kubernetes.
La fase de producción
Llegados a este punto, ya has completado tu proyecto piloto y has incorporado con éxito unas cuantas aplicaciones. Tu atención se centra en ejecutar aplicaciones de misión crítica en producción y en considerar si migrar la mayoría de tus aplicaciones a Kubernetes. En esta fase necesitas tener planes detallados de seguridad, cumplimiento, resolución de problemas y observabilidad para trasladar de forma segura y eficiente tus aplicaciones a producción y aprovechar todas las ventajas de la plataforma Kubernetes.
Nota

La popularidad y el éxito de Kubernetes como plataforma para aplicaciones basadas en contenedores tiene a mucha gente ansiosa por adoptarla. En los dos últimos años, los proveedores de servicios gestionados de Kubernetes se han esforzado por innovar y facilitar su adopción. Los nuevos usuarios pueden tener la tentación de pasar de las fases de aprendizaje y piloto para llegar rápidamente a la fase de producción. Advertimos contra saltarse la diligencia debida. Debes considerar la seguridad y la observabilidad como primeros pasos críticos antes de embarcar aplicaciones de misión crítica en Kubernetes; tu adopción de Kubernetes estará incompleta y será potencialmente insegura sin ellos.

A quién va dirigido este libro

Este libro está dirigido a una amplia gama de profesionales de Kubernetes que se encuentran en la fase piloto/preproducción de la adopción. Puedes ser un ingeniero de plataforma o formar parte del equipo de seguridad o DevOps. Algunos de vosotros sois los primeros de vuestra organización en adoptar Kubernetes y queréis hacer seguridad y observabilidad desde el principio. Otros están ayudando a establecer buenas prácticas dentro de una organización que ya ha adoptado Kubernetes pero que aún no ha resuelto los retos de seguridad y observabilidad que presenta Kubernetes. Suponemos que tienes conocimientos básicos sobre Kubernetes: qué es y cómo se utiliza como herramienta de orquestación para alojar aplicaciones. También asumimos que entiendes cómo se implementan las aplicaciones y su naturaleza distribuida en un clúster Kubernetes.

Dentro de este amplio público, hay muchas funciones diferentes. Aquí tienes una lista no exhaustiva de equipos que ayudan a diseñar e implementar arquitecturas basadas en Kubernetes que encontrarán valor en este libro. Ten en cuenta que los nombres de los roles pueden ser diferentes en tu organización, así que consulta las responsabilidades de cada uno para identificar el rol correspondiente en tu organización. Utilizaremos estos nombres a lo largo del libro para ayudarte a comprender cómo afecta un concepto a cada función.

El equipo de la Plataforma

El equipo de ingeniería de la plataforma es responsable del diseño y la implementación en de la plataforma Kubernetes. Muchas empresas optan por implantar una estrategia de plataforma de contenedores como servicio (CaaS). Se trata de una plataforma que se utiliza en toda la empresa para implementar cargas de trabajo basadas en contenedores. El equipo de ingeniería de la plataforma es responsable de los componentes de la plataforma y los proporciona como un servicio a los equipos de aplicaciones. Este libro te ayudará a comprender la importancia de proteger la plataforma y las buenas prácticas para ayudar a proteger la capa de la plataforma, de modo que puedas proporcionar a los equipos de aplicaciones una forma de embarcar las aplicaciones en una plataforma Kubernetes segura. También te ayudará a aprender a gestionar el riesgo de seguridad de las nuevas aplicaciones a la plataforma.

El Equipo de Redes

El equipo de redes es responsable de integrar los clústeres de Kubernetes en una red empresarial. Vemos que estos equipos desempeñan papeles diferentes en una implementación local de Kubernetes y en un entorno de nube en el que los clústeres de Kubernetes son autoalojados o aprovechan un servicio gestionado de Kubernetes. Comprenderás la importancia de la seguridad de la red y cómo construir redes con una sólida postura de seguridad. Las buenas prácticas para exponer aplicaciones fuera de la plataforma Kubernetes, así como el acceso de las aplicaciones a redes externas, son ejemplos de temas tratados en este libro. También aprenderás a colaborar con otros equipos para implantar la seguridad de red con el fin de proteger los elementos externos a Kubernetes de las cargas de trabajo dentro de Kubernetes.

El Equipo de Seguridad

El equipo de seguridad de las empresas es el más afectado por el movimiento hacia las aplicaciones nativas de la nube. Las aplicaciones nativas de la nube son aquellas diseñadas para entornos de nube y son diferentes de las aplicaciones tradicionales. Por ejemplo, estas aplicaciones están distribuidas por la infraestructura de tu red. Este libro te ayudará a comprender los detalles sobre cómo proteger una plataforma Kubernetes que se utiliza para alojar aplicaciones. Te proporcionará una visión completa de cómo asegurar las cargas de trabajo de misión crítica. Aprenderás a colaborar con varios equipos para implantar eficazmente la seguridad en el nuevo y diferente mundo de Kubernetes.

El Equipo de Cumplimiento

El equipo de cumplimiento en una empresa es responsable de garantizar las operaciones y procesos en una organización para cumplir los requisitos de las normas de cumplimiento adoptadas por una organización. Entenderás cómo aplicar diversos requisitos de cumplimiento y cómo monitorear el cumplimiento continuo en una plataforma basada en Kubernetes. Ten en cuenta que no cubriremos en detalle los requisitos de cumplimiento y las diversas normas, pero te proporcionaremos estrategias, ejemplos y herramientas que te ayudarán a cumplir los requisitos de cumplimiento.

El Equipo de Operaciones

El equipo de operaciones es el equipo de desarrolladores/herramientas/ingenieros de operaciones responsables de construir y mantener las aplicaciones. También se les conoce como DevOps o ingenieros de fiabilidad del sitio (SRE). Garantizan que las aplicaciones se incorporan y cumplen los acuerdos de nivel de servicio (SLA) requeridos. En este libro aprenderás sobre tu papel en la seguridad del clúster Kubernetes y la colaboración con el equipo de seguridad. Cubriremos el concepto de seguridad shift-left, que dice que la seguridad debe producirse muy pronto en el ciclo de vida de desarrollo de la aplicación. La observabilidad en una plataforma Kubernetes significa la capacidad de deducir detalles sobre el funcionamiento de tu clúster viendo los datos de la plataforma. Es la forma moderna de monitorear una aplicación distribuida, y aprenderás cómo implementar la observabilidad y cuál es su importancia para la seguridad.

Lo que aprenderás

En este libro aprenderás a pensar en la seguridad a medida que implementas tu estrategia de Kubernetes, desde la creación de aplicaciones a la construcción de infraestructuras, pasando por el alojamiento de aplicaciones, la implementación de aplicaciones y la ejecución de aplicaciones. Presentaremos las buenas prácticas de seguridad para cada una de ellas, con ejemplos y herramientas que te ayudarán a proteger tu plataforma Kubernetes. Cubriremos cómo implementar la auditoría, el cumplimiento y otros controles de seguridad empresarial como el cifrado.

También aprenderás buenas prácticas con herramientas y ejemplos que te mostrarán cómo implementar la observabilidad y demostrarán su relevancia para la seguridad y la resolución de problemas. Esta visibilidad mejorada de tu plataforma Kubernetes te proporcionará información práctica relevante para tu situación particular.

Al final del libro, serás capaz de aplicar estas buenas prácticas de seguridad y observabilidad a tus clústeres Kubernetes.

Convenciones utilizadas en este libro

En este libro se utilizan las siguientes convenciones tipográficas:

Cursiva

Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.

Constant width

Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.

Constant width bold

Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.

Constant width italic

Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.

Nota

Este elemento significa una nota general.

Utilizar ejemplos de código

El material complementario (ejemplos de código, ejercicios, etc.) se puede descargar en https://github.com/tigera/k8s-security-observability-book.

Si tienes una pregunta técnica o un problema al utilizar los ejemplos de código, envía un correo electrónico a

Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.

Agradecemos la atribución, pero en general no la exigimos. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Seguridad y observabilidad de Kubernetes por Brendan Creane y Amit Gupta (O'Reilly). Copyright 2022 O'Reilly Media, 978-1-098-10710-9".

Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en

Aprendizaje en línea O'Reilly

Nota

Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.

Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita http://oreilly.com.

Cómo contactar con nosotros

Dirige tus comentarios y preguntas sobre este libro a la editorial:

  • O'Reilly Media, Inc.
  • 1005 Gravenstein Highway Norte
  • Sebastopol, CA 95472
  • 800-998-9938 (en Estados Unidos o Canadá)
  • 707-829-0515 (internacional o local)
  • 707-829-0104 (fax)

Tenemos una página web para este libro, donde se enumeran erratas, ejemplos, y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/KSO.

Envía un correo electrónico para comentar o hacer preguntas técnicas sobre este libro.

Para noticias e información sobre nuestros libros y cursos, visita http://oreilly.com.

Encuéntranos en Facebook: http://facebook.com/oreilly

Síguenos en Twitter: http://twitter.com/oreillymedia

Míranos en YouTube: http://youtube.com/oreillymedia

Agradecimientos

Ha sido una gran experiencia escribir este libro y no habría sido posible sin la ayuda, el apoyo y la orientación de varias personas. En primer lugar, queremos dar las gracias a la comunidad, desarrolladores y mantenedores del Proyecto Calico, su innovación y aportaciones a Kubernetes y a la seguridad y observabilidad de Kubernetes, nos han permitido escribir este libro. Los increíbles equipos de ingeniería y de investigación en seguridad de Tigera han creado productos para abordar los complejos retos de la seguridad y la observabilidad, y esto nos ha permitido comprender claramente los retos a los que se enfrentan los usuarios. Esto fue muy útil cuando escribimos este libro para guiar a los usuarios hacia una solución holística de seguridad y observabilidad.

También queremos dar las gracias a los revisores que aportaron sus opiniones y su experiencia en la materia. Sus comentarios y orientaciones han enriquecido enormemente el contenido de este libro. Mención especial a Manish Sampat, Alex Pollitt, Virginia Wilson, Seth Vargo, Tim Mackey, Ian Lewis, Puja Absassi y José Ruiz: ¡sois increíbles!

Por último, queremos dar las gracias a todos los miembros de la comunidad que contribuyen a la seguridad y observabilidad de Kubernetes. Es increíble ver la innovación en este ámbito, y estamos encantados de participar en la seguridad y observabilidad de Kubernetes.

Get Seguridad y observabilidad de Kubernetes now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.