La deriva de la configuración se produce cuando una red, una aplicación, un dispositivo u otro sistema de TI se aleja de forma gradual e involuntaria de su configuración de referencia prevista. Los problemas de rendimiento causados por la deriva de la configuración, y el consiguiente tiempo de inactividad, pueden costar a las empresas miles de dólares por minuto.
Hasta cierto punto, la deriva de la configuración es inevitable a lo largo del ciclo de vida de un sistema. Puede deberse a cambios manuales en una red que afectan a la forma en que sus componentes interactúan entre sí o a herramientas automatizadas que modifican la configuración de forma no prevista por los administradores. Sin la documentación adecuada, pueden producirse cambios incompatibles o perjudiciales a medida que los antiguos administradores se marchan y los nuevos se incorporan.
Un ejemplo clásico de deriva de la configuración es el caso de un administrador que aplica una corrección a un servidor en un entorno con equilibrio de carga, pero no a los demás. Incluso si el sistema sigue funcionando con normalidad por el momento, pueden surgir problemas más adelante. El servidor parcheado podría utilizar una nueva biblioteca incompatible con futuras actualizaciones de la red que asuman las condiciones originales, lo que podría provocar cortes e ineficiencias.
La deriva de la configuración no solo representa una amenaza para el rendimiento. Los sistemas que se desvían de su configuración prevista pueden volverse más vulnerables a los agentes maliciosos y a las vulneraciones de datos. Por ejemplo, si las reglas del firewall no se actualizan a medida que se añaden nuevos recursos a una red, los hackers pueden infiltrarse sin problema.
La deriva de la configuración también puede afectar al estado de cumplimiento. Una organización puede suspender una auditoría si la documentación de la red describe un conjunto de configuraciones de seguridad pero el entorno real es diferente.
Los profesionales de DevOps y los administradores de sistemas tienen herramientas a su disposición para evitar errores de configuración y combatir la deriva de la configuración. Las herramientas de infraestructura como código (IaC), como Terraform, vinculan la configuración de la red a un archivo de configuración que sirve como fuente fiable. Los archivos de configuración ayudan a garantizar que los nuevos recursos de red se aprovisionen automáticamente en el estado adecuado, reduciendo el número de oportunidades de deriva
Las herramientas de observabilidad dan a los administradores visibilidad de las métricas, los registros y los rastreos, lo que les ayuda a detectar las desviaciones de la configuración a medida que se producen y a aplicar correcciones La infraestructura inmutable limita la deriva al descartar servidores obsoletos en lugar de aplicar correcciones en absoluto. La deriva de configuración también la gestionan herramientas de gestión de la configuración como Ansible.
Manténgase al día sobre las tendencias más importantes e intrigantes del sector en materia de IA, automatización, datos y mucho más con el boletín Think. Consulte la Declaración de privacidad de IBM.
La deriva de la configuración suele deberse a cambios manuales en las configuraciones del sistema, a errores de automatización, a problemas a nivel organizativo que crean incoherencias o a alguna combinación de estos factores.
Las correcciones manuales puntuales son la causa principal de la deriva de la configuración.
Una "revisión", o una corrección aplicada fuera del programa normal de actualización, puede corregir problemas inmediatos y urgentes, como un servidor que está configurado con un valor de tiempo de espera incorrecto y, por lo tanto, sigue fallando. Pero este tipo de cambio de configuración puede romper el sistema en el futuro:
El número de formas en que el error humano, o simplemente las consecuencias imprevistas, puede alejar al sistema del estado en el que "debería" estar es casi ilimitado. Incluso los pequeños cambios pueden acumularse de tal forma que el entorno de producción en vivo se parezca muy poco al repositorio, plagado de errores y riesgos de seguridad.
Sin las pruebas y la supervisión adecuadas, las actualizaciones y los procesos automatizados pueden provocar que importantes recursos de red se desvíen de sus configuraciones previstas.
La automatización es igual de buena que su fuente fiable. Por ejemplo, si una herramienta de IaC se basa en archivos de configuración obsoletos para poner en marcha nuevos servidores, podría acabar rompiendo el entorno. Las actualizaciones de software automatizadas de las aplicaciones y los sistemas operativos, como Microsoft Windows, pueden aplicarse en diferentes momentos en los servidores, lo que provoca divergencias potencialmente dañinas. Y es posible que estas actualizaciones no funcionen bien con la arquitectura de red única de una organización, lo que provocará más problemas.
Incluso las herramientas destinadas a gestionar la configuración pueden provocar derivas en las circunstancias adecuadas. Por ejemplo, los problemas de conectividad pueden hacer que Ansible aplique una actualización de la configuración de forma desigual, dejando un servidor sin cambios. Ese servidor se separará gradualmente de su entorno, lo que podría provocar interrupciones del servicio.
A nivel organizativo, los problemas con el pipeline de integración continua/entrega continua (CI/CD) y las prácticas de DevOps pueden provocar problemas de configuración.
Cuando los equipos de desarrollo, operaciones y seguridad están aislados unos de otros, la confusión, la falta de comunicación y la resolución inadecuada de problemas son inevitables. Además de las prácticas técnicas divergentes, los equipos de una organización pueden tener sus propias prácticas para la gestión del cambio. Algunas organizaciones carecen por completo de procesos formales de gestión del cambio.
La falta de prácticas claras y establecidas para realizar y documentar los cambios puede provocar registros de cambios inconsistentes, cambios no autorizados y flujos de trabajo de aprobación no aplicados. En última instancia, los administradores, desarrolladores e ingenieros podrían eludir por completo el proceso de gestión del cambio.
La deriva de la configuración plantea riesgos significativos para la seguridad, el rendimiento y el estado de cumplimiento de un sistema.
La deriva de configuración puede aumentar significativamente la superficie de ataque de una organización al crear excepciones a las políticas de seguridad que permanecen desconocidas para los administradores y, por tanto, no se han corregido.
Por ejemplo, una credencial creada para aplicar un hotfix podría quedar en su lugar, vulnerable a hackers que podrían usarla con fines maliciosos. Del mismo modo, un ingeniero podría hacer una excepción a la regla del firewall de que nunca vuelve y se cierra, lo que debilita significativamente la posición de seguridad general de la red. Los desarrolladores pueden activar una aplicación con controles de seguridad incompletos para probarla y nunca desactivarla, creando otra vulnerabilidad de seguridad para que los actores maliciosos la exploten.
Del mismo modo, cada nueva aplicación, endpoint u otro recurso añadido a un sistema puede provocar una deriva de la configuración si no se aplican los controles de seguridad adecuados. Por ejemplo, añadir un nuevo servidor sin configurar el sistema de detección y respuesta de endpoints (EDR) propiamente dicho puede crear un eslabón débil. Un simple error en la configuración de los microservicios puede provocar que un gran número de activos desprotegidos entren en la red.
Junto con la ciberseguridad, el rendimiento de la red es el riesgo más significativo (y caro) que plantea la deriva de la configuración.
Tomemos el ejemplo de un servidor que recibe más tráfico que sus homólogos. Este servidor podría tener su pool de conexiones aumentado con un hotfix para mejorar el rendimiento. Como este servidor está detrás de un balanceador de carga, este establece automáticamente una política para generar más tráfico y así distribuir la carga del servidor de forma más uniforme.
Cuando el servidor se reemplaza durante una nueva implementación, el corrector que aumentó su pool deja de estar activo, y el servidor se bloquea debido al tráfico adicional. El hotfix original aplicado al tráfico de velocidad es el drift. Si no se tiene en cuenta, cualquier cambio adicional en la red puede provocar costosos tiempos de inactividad hasta que se identifique la causa.
La deriva de la configuración puede hacer que una organización deje de cumplir la normativa sin ni siquiera ser consciente de ello. Cuando el estado de una red difiere de lo que una organización "piensa" que está haciendo, o de lo que su documentación dice que está haciendo, la organización corre el riesgo de incumplimiento. Incluso si el incumplimiento no es intencional, la organización podría enfrentarse a multas y tasas.
Tomemos el ejemplo de la Ley de Portabilidad y Responsabilidad del Seguro Médico (HIPAA). La HIPAA exige que las organizaciones utilicen determinados métodos de cifrado para proteger los datos confidenciales en tránsito y en reposo.
Supongamos que un administrador necesita integrar un sistema heredado en su red compatible con la HIPAA y que este sistema heredado utiliza un método de cifrado anticuado. Si no se aborda este método de cifrado, la integración hará que la organización no cumpla con la HIPAA.
La detección de la deriva (la práctica de rastrear cambios en la red e identificar divergencias respecto a su estado previsto) requiere una combinación de herramientas que incluyen infraestructura como código, GitOps, infraestructura inmutable y observabilidad.
La infraestructura como código, es decir, la práctica de aprovisionar y gestionar la infraestructura de TI mediante scripts en lugar de procesos manuales, es una de las herramientas más eficaces para gestionar las desviaciones de configuración.
IaC ayuda a abordar la deriva de la configuración convirtiendo el estado deseado de la red en una pieza de código de versión controlada con la que se puede comparar cada componente de la red.
Por ejemplo, en Terraform, cuando se realiza un cambio, la herramienta IaC compara el archivo de estado (la vista más actualizada de la red de la plataforma) con los archivos de configuración declarados, es decir, los archivos que dicen lo que la red " debería ser". Terraform resuelve entonces las discrepancias entre el archivo de estado y la configuración declarada actualizando la infraestructura para que coincida con el archivo de configuración, lo que reduce las posibilidades de que la deriva se infiltre.
Cuando las organizaciones imponen un estricto control de acceso a las herramientas de IaC, pueden reducir aún más las oportunidades de deriva. Al limitar el acceso de IaC solo a las personas autorizadas que lo necesitan, las organizaciones limitan la capacidad de cambiar las configuraciones de la infraestructura en general. Y cuando se realizan cambios, pasan por el proceso de control de versiones de IaC, lo que mitiga aún más el riesgo de desviación.
GitOps es una práctica DevOps que utiliza el repositorio de código abierto Git como única fuente fiable para los archivos de configuración. GitOps ayuda a muchas organizaciones a implementar IaC con la máxima eficiencia y seguridad.
Las prácticas de GitOps se centran en el uso de la automatización para validar el estado de la red con el estado deseado almacenado en Git en tiempo real. Las plataformas GitOps pueden escanear continuamente las redes, detectar errores de configuración y marcarlos o aplicar correcciones, haciendo que cualquier deriva que se produzca sea temporal. Y como todos los cambios están ligados a Git, todos se registran con un autor, una marca de tiempo y una descripción.
La infraestructura inmutable mitiga la deriva de la configuración al reducir drásticamente el número total de oportunidades de cambiar la configuración de la red.
La infraestructura inmutable es la práctica de reemplazar, no modificar, servidores y otros recursos de TI cuando se necesitan cambios.
Por ejemplo, supongamos que un servidor necesita una actualización de seguridad. En lugar de aplicar la actualización al servidor existente, los administradores darían de baja el servidor y lo sustituirían por uno nuevo y actualizado.
La infraestructura inmutable se basa en herramientas IaC para implementar automáticamente nuevos sistemas según lo descrito en el código cuando se necesitan cambios. Cada nuevo componente añadido a la red coincide automáticamente con el estado deseado.
Las tres prácticas de IaC, GitOps e infraestructura inmutable están estrechamente entrelazadas. Las herramientas de IaC definen las imágenes de los componentes de red, mientras que GitOps facilita la implementación, crea un registro completo de la red y evita discrepancias.
Los tres pilares de la observabilidad (registros, métricas y trazas) también desempeñan un papel importante a la hora de prevenir las derivas de la configuración.
Una plataforma de observabilidad, por ejemplo, podría detectar que las métricas de un servidor (como los tiempos de respuesta o el uso de la CPU) divergen significativamente de las de los servidores que deberían tener configuraciones idénticas. Esta divergencia es un posible síntoma de deriva. Del mismo modo, las discrepancias en los registros de tasas de errores de cada servidor pueden indicar una deriva si un servidor tiene un número anormalmente alto de errores de cierto tipo. Los rastros de la cadena de llamadas de una aplicación también pueden revelar ubicaciones que experimentan desviaciones y deriva.
La detección de derivas es la práctica de comparar el estado real de una red con el estado deseado para detectar discrepancias. Aunque hipotéticamente se puede realizar este proceso manualmente, muchos proveedores de nube e IaC ofrecen herramientas con funcionalidad de detección de derivas, que ayudan a automatizar y agilizar un proyecto que de otro modo consumiría mucho tiempo.
Por ejemplo, AWS Config registra las configuraciones de los módulos de AWS, marca cualquier cosa que se desvíe del estado deseado y ayuda a corregir la deriva. Las evaluaciones de estado de Terraform comprueban que la configuración real de la infraestructura coincida con la registrada en el archivo de estado del espacio de trabajo y verifican continuamente que los recursos cumplan los controles obligatorios definidos en las configuraciones del sistema.
Terraform Enterprise compara las condiciones con el archivo de estado o actualiza el archivo de estado para reflejar las condiciones reales, revelando los cambios. Las herramientas de gestión de la configuración, como Ansible y Puppet, también se pueden utilizar para la detección de derivas.
Aproveche la potencia de la IA y la automatización para resolver problemas de manera proactiva en toda la pila de aplicaciones.
Descubra cómo la IA para operaciones de TI ofrece los conocimientos que necesita para impulsar un rendimiento empresarial excepcional.
Impulse una transformación digital escalable con la experiencia de IBM Consulting en el sector.