¿Y si tu dominio se convierte en el patio de recreo de cualquiera? DNS Wildcards y GitHub Pages sin control
Cuando un dominio se convierte en campo abierto para cualquiera: los wildcards de DNS y los problemas con GitHub Pages
Estás en mitad de un viaje por África, con internet inestable. Todo va bien. Hasta que llega un correo de Google Search Console avisando de que alguien más está usando un subdominio de tu propiedad.
La alarma se dispara.
No es una historia inventada. Le pasó a un desarrollador que tenía su visualizador de nubes de puntos en GitHub Pages. Mientras él estaba desconectado, otra persona montó contenido en kafka.immersivepoints.com, un subdominio que ni siquiera sabía que existía. Descubrió el problema semanas después.
Una configuración pensada para facilitar, no para proteger
GitHub Pages es una solución excelente para sitios estáticos. No hace falta gestionar servidores. Configuras los registros DNS, apuntas a los servidores de GitHub y el sitio está online.
El desarrollador había creado un registro wildcard (*.immersivepoints.com) que dirigía todo el tráfico a GitHub. Era sencillo. Rápido. Pero también dejaba la puerta abierta.
Pensaba que, al ser el propietario del dominio, nadie más podría usar subdominios suyos. Pero GitHub Pages no funciona así.
Cómo GitHub acepta cualquier CNAME sin verificar
El fallo está en cómo GitHub gestiona los registros CNAME. Cualquier repositorio puede incluir un archivo CNAME apuntando a un subdominio, y GitHub lo servirá sin comprobar si el usuario que lo sube tiene derechos sobre ese dominio.
En este caso, otro usuario creó un repositorio privado con un CNAME que apuntaba a kafka.immersivepoints.com. GitHub empezó a servir contenido desde ese subdominio sin preguntar. Nadie recibió una notificación. Nadie tuvo que demostrar propiedad.
Y lo que se alojó allí no fue inocente: páginas de estafas con máquinas tragaperras que perjudicaron la reputación del dominio ante Google.
El riesgo real de los wildcards sin controles
Usar un wildcard DNS es como abrir un camino directo para todos los subdominios. Es cómodo, pero pierde toda la granularidad. Cuando se combina con la falta de verificación de propiedad en GitHub, el resultado es que prácticamente cualquier persona con cuenta en la plataforma puede ocupar un subdominio de tu dominio.
La única razón por la que lo descubrieron
Sin Google Search Console, el desarrollador nunca lo habría sabido. El problema se habría seguido extendiendo sin que nadie lo detectara.
Esta experiencia muestra que la sobrevigilancia no es solo para mejorar el rendimiento. Es también una herramienta de seguridad.
Qué debería hacer GitHub
GitHub tiene una opción de verificación de dominios, pero está escondida en la configuración de la cuenta. No aparece en los repositorios. <|eos|>