Políticas de Admisión en Kubernetes: Cuando la Seguridad se Convierte en un Riesgo de Disponibilidad
02 noviembre 2026
El 17 de octubre de 2024, una mala configuración en las Políticas de Admisión Predeterminadas en EKS 1.34 provocó una interrupción de varias horas que afectó a 142 clústeres de producción en 18 regiones de AWS, evidenciando cómo estos controles pueden tanto proteger como desestabilizar entornos Kubernetes.
Los controladores de admisión aplican políticas directamente en el servidor API, interceptando y validando o modificando cada solicitud. Políticas de admisión defectuosas o mal configuradas pueden convertirse en ataques de denegación de servicio desde dentro. Esto puede manifestarse como fallos al implementar pods o clústeres que dejan de responder cuando las solicitudes no tienen destino. La situación empeora cuando los administradores desconocen qué política está bloqueando solicitudes, especialmente con FailClosed activado, que bloquea por defecto hasta que el webhook pueda investigarse o desactivarse.
En la interrupción de EKS 1.34, el problema surgió de un cambio en el failurePolicy predeterminado para ValidatingAdmissionPolicy de Ignore a Deny, un cambio que la documentación de AWS sugiere ocurrió en septiembre. Cuando las solicitudes a webhooks no recibían respuestas dentro del tiempo de espera, los clústeres entraban en modo seguro. Esto demostró cómo los valores predeterminados diseñados para seguridad pueden inadvertidamente causar fallos cuando surgen conflictos sin un monitoreo adecuado y conocimiento de los operadores.
El problema se agravó por complementos incompatibles. El AWS Load Balancer Controller v2.8.1 y cert-manager v1.15.0 estaban frecuentemente presentes en los clústeres afectados, empeorando la interrupción. Aunque el análisis postmortem confirmó que ningún complemento individual causó el problema, su interacción generó un impacto generalizado en los webhooks.
Requisitos Clave para Políticas de Admisión Confiables
Las políticas de admisión efectivas deben bloquear configuraciones riesgosas, complementos sin parches y solicitudes extremas de recursos. Para lograrlo de manera confiable, cuatro elementos son cruciales:
Monitoreo continuo. Los bloqueos no deberían ser sorpresas; espéralos en tu flujo.
Solicitudes desacopladas no vinculadas. Los controladores de admisión necesitan rutas seguras, incluso cuando ocurren violaciones.
Políticas de fallo bien ajustadas. Esquemas inmutables o tiempos de espera configurados adecuadamente para políticas beneficiosas con fail closed pueden distribuir solicitudes efectivamente.
Bucles de retroalimentación incidente-política activos. Las interrupciones deberían llevar a mejoras en las políticas, creando un sistema autocorrector.
La responsabilidad recae tanto en los operadores de clústeres como en los proveedores de servicios gestionados. Mejores herramientas para revisiones previas al despliegue y análisis postmortem podrían prevenir interrupciones similares y acelerar la recuperación. El registro, seguimiento y documentación integral de solicitudes debería ser estándar para la aplicación de políticas complejas.
A medida que Kubernetes se vuelve más crítico para la producción, la implementación adecuada de políticas gana importancia. La interrupción de EKS 1.34 representa un incidente notable, pero los conflictos de políticas son inherentes a los sistemas de admisión. El desafío a futuro será mejorar todo el marco de políticas más allá de correcciones individuales. Una pregunta fundamental persiste: cuando las políticas fallan, ¿deberían fallar abiertas o cerradas? ¿Y quién asume el costo cuando medidas protectoras crean inadvertidamente riesgos?