Cómo solucionar que CloudFlare esté bloqueando los pagos y callbacks de Redsys con el TPV del Banco en tu web
Si estás teniendo problemas con RedSys, por ejemplo, en tu tienda de WooCommerce no cambian los pedidos a procesando y no sabes qué ocurre. Si no te están llegando los callbacks a la URL seteada, ya sea en esta plataforma, en un desarrollo a medida o en general usando RedSys casi seguro que hay un firewall que está bloqueando la petición.
Las reglas que vamos a exponer en este post valen para cualquier WAF (Web Application Firewall) pero si has llegado hasta aquí seguramente sea por que tengas CloudFlare dentro de tu dibujo de arquitectura, en tal caso te felicito por ello, si usas CloudFlare significa que algo estás haciendo bien.
En el caso particular con el WAF de CloudFlare es muy sencillo de solventar, da igual si estás en modo gratuito o de pago, puedes hacerlo con cualquier plan.
Problemas Común con Cloudflare y Redsys
CloudFlare utiliza diversas medidas de seguridad para proteger los sitios web de ataques maliciosos. Es siempre muy recomendable usarlo para dormir tranquilos.
Algunos análisis de seguridad que hace incluyen la verificación de integridad del navegador y el análisis de tráfico. Aunque estas medidas son siempre positivas, pueden causar problemas al tratar con servicios como Redsys que tiene que llamar a una URL de callback par avisarnos is la transacción ha sido exitosa o no.
Solución: Crear una Regla Personalizada en el WAF de CloudFlare 😊
Resolver este problema es fácil, se puede crear una regla personalizada en el WAF de Cloudflare que permita expresamente las peticiones de Redsys. Es muy sencillo, solo sigue esta guía paso a paso:
Paso 1: Acceder a la Configuración del WAF y Crear una Regla Personalizada
- Inicia sesión en tu cuenta de CloudFlare.
- Selecciona el sitio web en el que deseas configurar la regla.
- Navega a la sección de Seguridad y luego selecciona WAF (Firewall de Aplicaciones Web).
- En la pestaña Reglas Personalizadas, haz clic en Crear Regla.
Paso 2: Configura La regla personalizada del WAF
- Asigna un nombre descriptivo a la regla, yo la he llamado Allow Redsys pero puedes llamarla como quieras.
- En la sección Si las solicitudes entrantes coinciden, selecciona el campo Núm AS.
- Configura el operador como es igual a y el valor como 31627. Esto corresponde a la expresión
(ip.geoip.asnum eq 31627)
. - En la sección Entonces tome acción, selecciona Omitir.
- En las opciones adicionales, selecciona Comprobación de integridad del navegador. Esto asegura que solo se omita esta comprobación específica sin afectar otras medidas de seguridad.
Paso 3: Guardar la Regla
- Asegúrate de que la opción Registrar solicitudes coincidentes esté activada para monitorear la efectividad de la regla.
- Selecciona el orden en que esta regla debe aplicarse (recomendado: Primero).
- Haz clic en Implementar o Guardar 🚀
Beneficios de Esta Configuración
- Transacciones sin Interrupciones: Al permitir específicamente las peticiones de Redsys, aseguras que las transacciones no sean bloqueadas, mejorando la experiencia del cliente.
- Seguridad Mantenida: Solo se omite la comprobación de integridad del navegador para estas peticiones, manteniendo el resto de las medidas de seguridad intactas.
- Compatibilidad con el Plan Gratuito: Esta solución es aplicable incluso si estás utilizando el plan gratuito de Cloudflare, haciendo que sea accesible para pequeños comerciantes.
Consideraciones Adicionales
- Monitoreo: Después de implementar la regla, es importante monitorear el tráfico para asegurarse de que las peticiones legítimas de Redsys están siendo permitidas y que no hay un aumento en el tráfico malicioso.
- Actualizaciones: Cloudflare y Redsys pueden cambiar sus infraestructuras y métodos de funcionamiento. Es crucial mantenerse al tanto de cualquier actualización que pueda afectar la configuración de esta regla.
Esta es una solución eficaz para asegurar las transacciones de tu comercio electrónico no se vean interrumpidas 💰💰💰. Sigue los pasos y elimina los problemas de bloqueo sin comprometer la seguridad general de tu sitio web. Esta medida no solo mejora la fiabilidad del procesamiento de pagos, sino que también contribuye a una mejor experiencia del cliente, crucial para el éxito de cualquier negocio en línea.