Movistar Bloquea Cloudflare: Impacto en Webs y Solución

Aunque pareciese que no tiene nada que ver una cosa con otra, lo que es cierto es que estas últimas semanas han ido ligadas de la mano, pero de la manera mala. Dejadme que me explique.

El caso es que una de las aplicaciones que mantenemos empezó en un momento dado a recibir incidencias como si estuviese caída. El servidor estaba bien y yo desde mi oficina llegaba perfectamente, después de mucho indagar descubirmos que no se llegaba desde las conexiones Movistar u O2, además, lo que vimos es que había ya quejas de otros servidores que estaban afectados y solo tenían en común una cosa, que estaban detrás de Cloudflare. La cosa es que media internet utiliza los servicios de cloudflare, como CDN o como protección contra ataques DDOS o como proxy para ahorrar ancho de banda. Entendimos que debía ser un problema de enrutamiento de Movistar y desactivamos cloudflare momentaneamente a la espera de que lo solucionasen… Estamos hablando del día 3 de febrero.

Esto estuvo pasando durante toda la tarde, llegado un momento nos dijeron que ya volvía a funcionar (y que todo debería ser una avería, no nos dijeron otra cosa)

Peeero, casualidades de la vida, el día 8 se jugaba el derbi y, mira por donde, resulta que empezamos a recibir incidencias de nuevo… Vuelta a desactivar cloudflare y esperando de nuevo… Pero esta vez no lo arreglaron, el domingo seguía la cosa igual:

Y esto se quedó así hasta el lunes (qué curioso!) sin que nadie se dignase dar ninguna explicación ni disculpa. Miles de negocios perdidos y webs expuestas a ataques sin remedio por alimentar a las alimañas del deporte. Era tan evidente que ya se publicó como noticia en varios medios (https://hipertextual.com/2025/02/movistar-cloudflare-futbol). El caso es que estuvo funcionando bien hasta los partidos de champions en los que se repitieron cortes de 15 minutos alternos (igual esto había cantado demasiado).

¿Qué hacer?

Ahora nos surge el problema de qué hacer el fin de semana. No podemos irnos a descansar porque si nos vuelven a cortar cloudflare tendríamos que volver a desactivarlo a mano, así que, para todos aquellos que tengáis cloudflare os recomiendo usar algo como esto:

import requests
import subprocess
import os

def check_ip_reachable(ip):
    try:
        result = subprocess.run(['ping', '-c', '4', ip], capture_output=True, text=True, timeout=10)
        return result.returncode == 0
    except subprocess.TimeoutExpired:
        return False

def pause_cloudflare(domain, email, api_key):
    headers = {
        'X-Auth-Email': email,
        'X-Auth-Key': api_key,
        'Content-Type': 'application/json'
    }
    
    # Obtener el Zone ID
    zone_response = requests.get(f'https://api.cloudflare.com/client/v4/zones?name={domain}', headers=headers)
    zone_data = zone_response.json()
    
    if not zone_data['success']:
        print("Error al obtener el Zone ID")
        return False
    
    zone_id = zone_data['result'][0]['id']
    
    # Pausar el servicio
    pause_url = f'https://api.cloudflare.com/client/v4/zones/{zone_id}'
    pause_data = {'paused': True}
    
    response = requests.patch(pause_url, headers=headers, json=pause_data)
    result = response.json()
    
    if result['success']:
        print(f"Servicio pausado para el dominio {domain}")
        return True
    else:
        print(f"Error al pausar el servicio: {result['errors']}")
        return False

# Configuración
ip_to_check = "192.168.1.1"  # Reemplaza con la IP que quieres comprobar
domain = "ejemplo.com"  # Reemplaza con tu dominio
cloudflare_email = "[email protected]"  # Reemplaza con tu email de Cloudflare
cloudflare_api_key = "tu_api_key"  # Reemplaza con tu API key de Cloudflare

# Comprobar si la IP está accesible
if not check_ip_reachable(ip_to_check):
    print(f"La IP {ip_to_check} no está accesible. Pausando el servicio en Cloudflare...")
    if pause_cloudflare(domain, cloudflare_email, cloudflare_api_key):
        print("Servicio pausado exitosamente")
    else:
        print("No se pudo pausar el servicio")
else:
    print(f"La IP {ip_to_check} está accesible")

Este programita básicamente lo que hace es comprobar si una IP responde al ping y si no lo hace pone en pausa cloudflare para el dominio que queramos. Para ello solo hay que configurarlo con la IP, el dominio y los datos del API de cloudflare de nuestra cuenta. Lo recomendable es hacer un bucle que lo chequee cada cierto tiempo y (código que todavía no he hecho) que cuando vuelva la conectividad se vuelva a activar cloudflare.

Para mi estas actuaciones son completamente ilegales y atentan contra la neutralidad de la red. ¿Qué será lo siguiente? ¿Evitar que visitemos blogs de ideologías no aprobadas?, ¿Hacer inaccesible el porno? Por desgracia en mi casa usamos O2, pero igual tengo que cambiarme visto lo visto.

¿Quién mantiene la web de Movistar?

Hace como 14 años que soy cliente de movistar, casi el mismo tiempo en el que me he dedicado a hacer aplicaciones que, total o parcialmente, funcionaban en internet. He pasado por las épocas más crudas de las guerras de los navegadores, por los applets iniciales, por los activex peligrosos, por las vulnerabilidades flash, por la accesibilidad obligatoria, o por el advenimiento del AJAX. En todas estas etapas las webs han cambiado, las modas se han impuesto y, finalmente, el usuario ha decidido con qué navegador se sentía más cómodo y qué experiencia de usuario esperaba de una web. Nosotros, los proveedores, nos limitábamos a darle al cliente lo necesario para que pudiese acceder y utilizar nuestros servicios con comodidad y agilidad… Bueno, todos menos Movistar.

La web del canal cliente de movistar es un paso obligatorio para todo aquel que quiere tener acceso a su factura, consultar los puntos o intentar ver el consumo de su línea. Es normal que un proveedor de banda ancha tenga una web en la que poder acceder a estos servicios, es más, sería deseable que estos servicios fuesen de una calidad alta. Desconozco completamente quien se ha encargado de este servicio. No se si se trata de una empresa subcontratada o personal propio de la empresa, lo que si les puedo decir es que su web apesta.

En mi trabajo solo utilizo ubuntu para todo (es lo que tenemos en la oficina y estoy muy contento con ello). Además, dispongo de un Macbook con el que estoy muy satisfecho, un IPad y el peor ordenador de mi casa está dedicado a windows para emergencias y para resolver la papeleta si alguien se salta a la torera el respeto a los estándares… El caso es que necesito descargarme mis facturas y revisar mis consumos periódicamente y para ello tengo que acceder a esta web… Pero toda paciencia tiene un límite.

Antiguamente era normal ver webs que solo se podían utilizar con Internet Explorer ¡¡incluso con el infame IE6!! dado que los estándares no estaban demasiado desarrollados y la cantidad de usuarios que utilizaban otro tipo de navegadores o sistemas era muy reducido. Ese era el caso de la web de movistar que había que asumir como un mal transitorio hasta que lo arreglasen. Hace unos meses, sin embargo, anunciaron a bombo y platillo una renovación de la web, supuse que, dado que 2010 ya es un año bastante avanzado, que CSS y Javascript son estándares ampliamente adoptados, que IE6 ya ha desaparecido del soporte de windows, que Firefox y Chrome copan más del 50% de los navegadores en el mundo, todo hacía suponer que aprovecharían y actualizarían también el canal cliente para que la mayoría de sus usuarios pudiesen hacer uso del mismo.

Pero no, quizá movistar ha dado más importancia a que la home se vea bonita que a que los usuarios puedan usar sus servicios y en su página de accesibilidad nos indican que las páginas de canal cliente están optimizadas para Internet Explorer 5.5 y en adelante (¿¿!!¡¡??).

Tras intentar acceder infructuosamente a facturas y servicios varios desde firefox / chrome / safari desde mac / linux / ipad simplemente eché un vistazo al código y pude constatar que siguen usándo código javascript solo compatible con Internet Explorer. Usan windows.all y acceden a los elementos de la página de manera que solo los navegadores de Microsoft pueden entenderlo. Hay algunas funciones que si que han modificado para que desde cualquier navegador se pueda usar, pero la inmensa mayoría están hechas solo para IE… ¿Se darán cuenta ya que eso expulsa a más de la mitad de sus clientes? Además, en mi caso, me obliga a tener una máquina con windows para acceder a sus servicios, una cosa totalmente ridícula dado el estado actual de las tecnologías web.

Por eso, si algún responsable de la web de Movistar termina por casualidad leyendo esto, me ofrezo para informarle de todos los errores que tienen en sus páginas si es que por falta de medios no disponen de un mac o de un linux para poder probar… Si, simplemente, es algo que hacen a propósito, por favor, que lo digan para saber que nunca van a cambiar y poder optar a cualquier otro proveedor que tenga en cuenta a sus clientes a la hora de diseñar sus servicios internet.

Telefónica de nuevo

El CRM del infierno

Como ya os he contado en anteriores entradas, he tenido mis más y mis menos con telefónica movistar desde que decidí comprarme el iPhone (y antes, pero menos), el caso es que tras un buen rato de conversación (no se como definir algo en que yo no hablo, solo espero y alguien termina diciendo algo al otro lado del teléfono) con el teléfono de atención de telefónica me veo en la imperiosa necesidad de escribir algo.
Además, visto lo visto en el blog de E.Dans, puede que incluso alguien de telefónica lo lea y me traten como un ser humano.

El caso es que como os comenté aqui, los de telefónica me cobraron una pasta por una penalización que no me correspondía, además, me llevó mucho tiempo hacer que lo corrigieran y me devolvieran el dinero (que finalmente lo hicieron), pero no podía quedar ahí la cosa, no.

Al comprar el iPhone y activar su servicio de tarifa plana 25, se hizo innecesario mantener el servicio de datos que tenía para cuando usaba el anterior movil como modem, 15 euros que me daban derecho a 250Mb de tráfico de internet con el pomposo nombre de «Compromiso Navegación y correo PDA», por lo que solicité en la tienda que me lo anularan (lo solicité la primera vez que compré el movil y cuando volví para que me subsanaran el error de la penalización). El caso es que en la factura del mes pasado seguía apareciendo ese concepto, pero yo lo achaqué a que hubo un periodo en el que estuvo desactivada la tarifa plana del iPhone y las conexiones usaban ese módulo de datos… No pasa nada.

Pero en la factura de este mes veo con estupor como se me cobran de nuevo los 15 euros (sin anotar ningún consumo para este servicio)… Mal rollo, llamada al canto.

Lo primero, felicitar a los que han instalado el nuevo sistema de reconocimiento de voz que, si actuas como un autómata, te redirige al operador correcto, o incluso te da la solución… Pero yo tenía que hablar con alguien, así que me salté esa parte y llegamos al operador que, tras pedirme los datos (incluso el CIF de la empresa) y explicarle el caso -dos veces, que la primera no debió saberle a nada- me indica que me va a pasar con quien me puede gestionar la baja… Y me pasa con ¡el servicio comercial!, esperando eso si sus buenos 20 minutos (deberían estar en la hora del bocata).

Hablar con un comercial de telefónica para dar una baja es un ejercicio muy parecido a ducharse en las prisiones de antes… Ya puedes apretar el culo, porque a la mínima te han colado algo que no deseas… La conversación era algo así:

Yo: que no necesito ese servicio y quiero darlo de baja
El: como es buen cliente, le hacemos un 50% de descuento el primer año
Yo: pero que no lo quiero, que me de de baja
El: pero así puede usar internet con otro terminal
Yo: si me he comprado el iPhone y pago un pastón por la tarifa plana, ¿para qué voy a querer eso?, que me de de baja
El: Se lo podemos pasar a otra de sus líneas
Yo: La mía es la única que usa datos y le digo que me de de baja
El: Mire que se va a arrepentir (esto no es literal, pero es que dejé de atender)
Yo: Que me de de baja
El: No se preocupe, ahora se lo tramitamos

Albricias, en este momento ya creí que el comercial se había hablandado… pero siguió hablando.

El: ¿tiene teléfono de telefónica?…
Yo: pueeeeee si (con la boca pequeña, que ya me olía a chamusquina)
El: ¿le han informado de la oferta del ADSL xjbcwuvbjcb (sustituir por sus palabros comerciales)?
Yo: …. ¡¡!! ¿¿?? (esto son segundos intentando procesar que carajo hacía yo hablando del ADSL con un extraño, con lo que me había advertido mi mamá de evitar estas situaciones)
Yo: si (mintiendo), pero no quiero

El caso es que el sufrido comercial-teleoperador me hizo darle explicaciones de qué tenía en casa, porqué no quería cambiarme al adsl de telefónica y así un buen rato…

Yo: ¿Ya estoy dado de baja?
El: Si, se lo registramos y bla, bla, bla…. (otro rato intentando entrarte como a rubia con cubata en pub de mala muerte)
Yo: Muchas gracias. CLIC! (eso es el teléfono mientras yo lo colgaba después de media hora perdida)

¡¡¡Juro por mis niños que como me llegue en la próxima factura este concepto la voy a liar parda!!! ¿alguna recomendación para irme preparando?