Open Policy Agent | Openshift Commons Gathering
|Open Policy Agent Gatekeeper
Desafíos de Seguridad y Cumplimiento en la Nube
«Los clientes generalmente deben cumplir con varios estándares empresariales e industriales, especialmente en sectores regulados.»
- Las organizaciones que adoptan la computación en la nube enfrentan numerosos desafíos en cuanto a seguridad y cumplimiento. Es fundamental que cumplan con estándares como PCI y HIPAA, especialmente si operan en sectores regulados como el financiero o el de salud.
- Además, muchas de estas empresas utilizan múltiples proveedores de nube y deben atravesar varios procesos de auditoría. Por lo tanto, buscan mantener una seguridad y preparación de auditoría continua en un entorno de nube híbrida abierta.
Gobernanza Basada en Políticas
«Nuestra enfoque para alcanzar una seguridad continua es a través de la gobernanza basada en políticas.»
- Para abordar los desafíos de cumplir con estándares de seguridad en diversas plataformas en la nube, la gobernanza basada en políticas es clave. Esta metodología permite que los controles de seguridad se configuren de acuerdo con las mejores prácticas y estándares de la industria.
- Al implementar estas estrategias, se puede administrar la configuración de seguridad de manera más accesible, incluso para aquellos que no son expertos en seguridad.
Autorización y Distribución de Políticas
«El punto de autorización de políticas puede ser la consola, CLI o GitHub.»
- En un sistema de gobernanza basado en políticas, es crucial contar con un punto de autorización donde se especifican las políticas, siendo GitHub el método preferido. Esto permite gestionar las políticas como si fueran código fuente, garantizando su distribución uniforme en los clústeres gestionados.
- Este enfoque no solo consolida las violaciones de política, sino que también integra herramientas empresariales, facilitando así la gestión de la seguridad en la nube como una extensión de la infraestructura existente.
Integración de Gatekeeper y OPA
«Gatekeeper permite evaluar el cumplimiento de los recursos de Kubernetes con políticas específicas.»
- Gatekeeper actúa como un puente entre Kubernetes y OPA (Open Policy Agent), permitiendo la evaluación de políticas en tiempo real. Utiliza un lenguaje específico llamado Rego para definir las políticas que deben cumplirse.
- Esto no solo establece controles de admisión, donde los nuevos recursos deben regirse por las políticas definidas, sino que también permite auditorías periódicas de los recursos ya existentes, asegurando que todos cumplan con las regulaciones necesarias.
Escenarios de Admisión y Auditoría
«En ambos casos, queremos poder detectar violaciones de políticas.»
- Se presentan dos escenarios principales, el de admisión y el de auditoría, en el contexto de la gestión de políticas en un sistema distribuido.
- En el escenario de admisión, se utiliza una política de configuración de Rackham que procesa eventos generados por el webhook de Gatekeeper. Esto permite que se detecten violaciones antes de que se permita una nueva admisión en el sistema.
- Para el escenario de auditoría, se centra en el campo de estado de las restricciones de Gatekeeper, recopilando la información necesaria para rastrear y documentar cualquier incumplimiento de políticas.
- Ambos tipos de información se integran y se visualizan centralmente en el hub de ACM, lo que facilita su gestión y revisión.
Arquitectura de Gestión de Políticas
«Este diagrama de arquitectura describe cómo se distribuyen las políticas a su clúster gestionado.»
- Se presenta un diagrama arquitectónico que ilustra cómo el hub de Rackham distribuye políticas a los clústeres gestionados.
- Dentro de cada clúster gestionado, se incluye un controlador de políticas de configuración que permite la integración sin tener que escribir código adicional.
- Se ha creado una política específica para desplegar el operador de Gatekeeper, que a su vez supervisa su Custom Resource (CR) y registra un webhook para monitorear tanto escenarios de admisión como de auditoría.
- Las políticas también permiten detectar violaciones, diferenciando entre las de auditoría y las de admisión.
Integración del Operador de Cumplimiento de OpenShift
«A través de una política de Rackham, podemos asegurarnos de que este operador esté desplegado.»
- Además de los escenarios de admisión y auditoría, se menciona la integración con el operador de cumplimiento de OpenShift como una forma adicional de gestión de políticas.
- Se puede utilizar una política para especificar un perfil de seguridad, permitiendo que el operador de cumplimiento realice cheques necesarios para verificar el cumplimiento de las normativas de seguridad y devuelva los resultados al sistema.
- Esto garantiza que no solo se gestionen las políticas de acceso, sino que también se evalúen continuamente los clústeres en función de los estándares de seguridad requeridos.
Repositorio de Políticas
«Hemos creado este repositorio de colección de políticas para colaborar en el desarrollo de políticas necesarias.»
- Se establece un repositorio de colección de políticas donde se invita a la comunidad a contribuir y desarrollar políticas que todos los clientes podrían necesitar.
- Dentro del repositorio, hay dos carpetas: una para políticas estables, que son las oficiales y soportadas por Red Hat, y otra para la comunidad, donde se encuentran las políticas en evolución.
- Las políticas en la carpeta estable están organizadas según los estándares NIST 853, proporcionando una guía estructurada sobre los controles de seguridad necesarios.
- Por otro lado, la carpeta de la comunidad alberga propuestas y contribuciones de terceros, lo que abre la puerta a mejorar y enriquecer el catalogo de políticas disponibles.
Gestión de Políticas en Clusters
«Una vez que se instaura la política en el cluster, el consumidor real de política evaluará y aplicará las políticas.»
- Es fundamental administrar un cluster y luego transferir su control a lo que se denomina «consumidor de políticas» o «operador de cumplimiento». En este contexto, se utilizan varios controladores de políticas preinstalados que ayudan a evaluar la configuración desde los clusters administrados.
- El framework de políticas facilita la generación de resultados que se pueden recopilar y visualizar a través de un plano de control unificado utilizando la consola de gestión correspondiente, como Recon.
Introducción a Gatekeeper
«El controlador de Gatekeeper es un consumidor de políticas dentro del marco de políticas de Recon.»
- El controlador Gatekeeper funciona como uno de los consumidores de políticas dentro del ecosistema de gestión de políticas. Se puede usar una política de Recon para instalar Gatekeeper en el cluster y también para aplicar restricciones de Gatekeeper mientras se recogen los resultados para su revisión.
- El proceso incluye la definición de una política que puede involucrar el uso de múltiples plantillas para la creación y gestión de recursos en la infraestructura.
Instalación de Gatekeeper Operator
«La instalación de Gatekeeper se facilita mediante el uso de un operador que gestiona todo el ciclo de vida de Gatekeeper.»
- El Gatekeeper Operator se presenta como una solución que simplifica la instalación y gestión del ciclo de vida de Gatekeeper. Esta herramienta permite la instalación y eventual eliminación del operador de manera más accesible.
- Se requiere definir una política de CRD que incluya las plantillas necesarias y configurar un espacio de nombres específico para que el operador funcione adecuadamente en el cluster.
Uso de Plantillas de Restricción de Gatekeeper
«Se puede aplicar una plantilla de restricción para asegurarse de que los recursos creados cumplan con ciertos criterios.»
- Las políticas de Gatekeeper permiten establecer buenas prácticas en la creación de recursos, aplicando restricciones que los recursos deben cumplir. Por ejemplo, se puede establecer una exigencia de que todos los recursos en un namespace específico tengan etiquetas designadas.
- Tras definir y aplicar esta política, cualquier intento de crear recursos que no cumplan con estas restricciones será bloqueado, garantizando así el cumplimiento de las normas establecidas.
Implementación de políticas de configuración
«A través del plano de control de Raccoon, se pueden aplicar políticas sin necesidad de iniciar sesión en cada clúster administrado.»
- La implementación de políticas de configuración en Raccoon permite gestionar un clúster de manera centralizada. Esto significa que no es necesario iniciar sesión en cada clúster administrado para aplicar estas políticas, lo que facilita la administración.
- Las políticas se pueden integrar a través de un plano de control, permitiendo así una mayor agilidad y control en el manejo de las violaciones de políticas.
Auditoría y cumplimiento de políticas
«Creamos una política de configuración que busca cualquier recurso que requiera una etiqueta específica en el clúster gestionado.»
- Se establece una política denominada «audit gatekeeper» que identifica recursos que deben tener una etiqueta específica para cumplir con las normativas. Esta política busca un recurso llamado «ks required label».
- Además de buscar etiquetas, se introducen campos adicionales. Por ejemplo, se requiere que haya un recurso llamado «ns must have gatekeeper» con un estado que indique «cero violaciones».
Detección y reporte de violaciones
«Una vez creada esta restricción de control, el controlador de auditoría de Gatekeeper iniciará un escaneo del clúster.»
- Cuando se activa la política de auditoría, el controlador de Gatekeeper escanea todo el clúster para identificar cualquier incumplimiento existente.
- Si se detectan violaciones, se actualiza el campo de estado en consecuencia, indicando que existen violaciones previas. Se espera que el número de violaciones sea cero para cumplir con la política configurada.
Escenarios de dimensión y compatibilidad
«Para el escenario de dimensión, creamos otra política de configuración que busca eventos que incumplen las restricciones.»
- En este contexto, se desarrolla otra política que busca eventos con etiquetas específicas que no deberían existir en un clúster gestionado.
- La política denominada «ns must have gold gatekeeper» se asegura de que no existan eventos que contradigan las restricciones establecidas. Si se detectan, la política también se considera no conforme.
Resultados de la implementación
«La implementación de Gatekeeper se realiza sin necesidad de escribir código, solo creando políticas de configuración.»
- Gatekeeper se integra con Raccoon facilitando el cumplimiento y la auditoría de políticas. Esto se logra mediante la creación simple de políticas de configuración sin necesidad de codificación compleja.
- Se destaca que el controlador de políticas de configuración incorporado permite distribuir cualquier recurso personalizado, simplificando la gestión y asegurando el cumplimiento de normativas.
Despliegue y configuración de operadores
Un operador puede ser desplegado usando un Custom Resource (CR) y se puede configurar fácilmente.
- Los operadores se pueden desplegar utilizando un Custom Resource (CR), lo que permite una configuración sencilla y directa.
- El proceso de configuración depende de los recursos disponibles y de cuánto tiempo se necesite para llevar a cabo dicha configuración.
- Los resultados generados pueden ser procesados si se devuelven como Custom Resource Definitions (CRDs), lo que demuestra la flexibilidad del enfoque.
Integración con Gatekeeper
La integración con Gatekeeper se logró sin escribir código, simplemente al autorizar políticas.
- Durante la demostración, se mostró cómo integrar con Gatekeeper, destacando que se cumplen todas las características necesarias para realizar esta integración sin necesidad de programar.
- Esto permite implementar mejores prácticas para las operaciones de datos de manera eficiente, sin el esfuerzo de una extensa escritura de código.
Políticas de Gatekeeper y soporte comunitario
Muchas políticas en la comunidad de Gatekeeper fueron contribuidas por practicantes según las necesidades de los clientes.
- La comunidad de Gatekeeper ha desarrollado muchas de las políticas disponibles, las cuales son el resultado de la colaboración entre profesionales que responden a las necesidades específicas de sus clientes.
- Estas políticas se evalúan y, una vez que son consideradas estables, se contribuyen a la comunidad. Si hay demanda suficiente, pueden ser promovidas a una versión completamente soportada y ser parte del producto final.
Controladores de tiempo de ejecución y auditoría
Hay tres tipos de controladores: controladores de admisión, controladores de tiempo de ejecución y controladores de auditoría.
- En la discusión se mencionaron los tipos de controladores, específicamente los controladores de admisión, que se encargan de validar solicitudes, y los controladores de tiempo de ejecución que implementan y aplican políticas en tiempo real.
- Los controladores de auditoría, por su parte, son responsables de monitorear y registrar el comportamiento del sistema.
Compatibilidad de OpenShift y ACM
ACM puede gestionar distribuciones de Kubernetes que no son OpenShift.
- Aunque ACM (OpenShift Advanced Cluster Management) está diseñado para ejecutarse en un clúster OpenShift, tiene la capacidad de gestionar otras distribuciones de Kubernetes.
- El operador de cumplimiento actualmente solo funciona en OpenShift, pero se están planeando extensiones para otras plataformas de Kubernetes en el futuro.
Mecanismos de gobernanza y aplicación de políticas
El uso de etiquetas en clústeres facilita la aplicación de políticas específicas.
- Al aplicar políticas a un clúster administrado, se utilizan reglas de colocación donde se asignan etiquetas a los clústeres. Esto permite la aplicación de políticas basadas en dichas etiquetas, facilitando el manejo de diferentes versiones de clústeres y asegurando que se apliquen las políticas adecuadas.
Implementación de políticas para OpenShift
«Los estándares son importantes, y hay que seguirlos para asegurar el cumplimiento.»
- En la conversación se discute la migración de OpenShift 3.11 a OpenShift 4. Por ahora, muchos todavía están en la versión 3.11 y buscan orientación sobre las políticas a seguir para estar a la par con las normativas vigentes.
- Se sugiere comenzar a leer documentos y blogs que contienen información sobre las mejores prácticas y directrices, lo cual es crucial para entender cómo adaptarse a las nuevas versiones y asegurar el cumplimiento de normas como NIST.
Consideraciones sobre la encriptación y certificación en OpenShift
«Pueden encriptar los datos en ambas versiones, aunque la implementación varía.»
- Se menciona que tanto OpenShift 3.11 como 4.0 soportan la encriptación de datos, pero el proceso de implementación es diferente en cada versión. Es esencial para los usuarios conocer esas diferencias para asegurarse de que están protegiendo sus datos de manera efectiva.
- Otro aspecto discutido es la importancia de realizar chequeos de expiración de certificados, los cuales son relevantes para mantener la seguridad y la integridad de las aplicaciones en OpenShift.
Auditoría y generación de registros
«El futuro de las auditorías de políticas incluye la generación de registros que serán enviados a SIEM.»
- Se aborda una inquietud sobre la auditoría en relación a la creación de recursos y cómo los sistemas pueden generar alertas sobre violaciones sin necesariamente bloquear la creación de los mismos. Esto es fundamental en contextos donde se necesita monitorear el cumplimiento sin interrumpir las operaciones.
- Existen planes para mejorar las capacidades de auditoría en el futuro, lo que incluiría registrar eventos de ciclo de vida de políticas y enviarlos a sistemas de información y eventos de seguridad (SIEM).