Order Invoicer

Cloudflare, WAF y cortafuegos: autorizar Order Invoicer

Cómo incluir Order Invoicer en la lista blanca de Cloudflare, Sucuri, Wordfence o un WAF mediante su user-agent específico

Order Invoicer llama a la API de su tienda (Shopify, WooCommerce, Prestashop, Magento, Sylius, Odoo…) y a la de su herramienta de facturación desde nuestros servidores. Si un servicio de protección se encuentra delante de su sitio —Cloudflare, Sucuri, Wordfence, el WAF de su alojamiento—, esas llamadas pueden confundirse con tráfico automatizado no deseado y quedar bloqueadas.

El síntoma habitual: la sincronización se detiene, el conector se pausa y los registros muestran HTTP 403, una página «Just a moment…», un desafío JavaScript o un captcha.

Nuestro user-agent

Todas las peticiones salientes de Order Invoicer envían la misma cabecera User-Agent:

OrderInvoicer (+https://orderinvoicer.com)

Es el criterio que debe utilizar para identificarnos y autorizarnos. Es idéntico para todos los conectores e integraciones y no cambia de un cliente a otro.

No disponemos de una dirección IP de salida fija: nuestros servidores y los de nuestros proveedores pueden cambiar de IP sin previo aviso. No autorice por dirección IP: utilice el user-agent, combinado si lo desea con la ruta de la API.

Cloudflare

Crear una regla de omisión en el WAF

  1. Abra el panel de Cloudflare y seleccione su dominio.

  2. Vaya a Security → WAF → Custom rules (Seguridad → WAF → Reglas personalizadas).

  3. Haga clic en Create rule y asígnele un nombre, por ejemplo Allow Order Invoicer.

  4. Utilice el editor de expresiones con:

    (http.user_agent contains "OrderInvoicer")

    Para ser más restrictivo, añada la ruta de la API de su tienda; por ejemplo, para WooCommerce:

    (http.user_agent contains "OrderInvoicer" and starts_with(http.request.uri.path, "/wp-json/wc/"))
  5. Elija la acción Skip y marque al menos All remaining custom rules, Managed rules, Rate limiting rules, Super Bot Fight Mode y Browser Integrity Check.

  6. Despliegue la regla y colóquela en la parte superior de la lista de reglas personalizadas.

Bot Fight Mode

Bot Fight Mode y Super Bot Fight Mode (Security → Bots) desafían el tráfico automatizado, incluido el legítimo. Si los utiliza:

  • cree la regla Skip anterior, que tiene prioridad, o
  • ponga «definitely automated» en Allow para las rutas de API,
  • desactive Bot Fight Mode (plan gratuito) si no puede crear una excepción: esa versión no permite exclusiones precisas.

Otros ajustes de Cloudflare que conviene revisar

  • Under Attack Mode: desafía todas las peticiones, también las nuestras. Desactívelo o añada la regla Skip.
  • Rate limiting: nuestras sincronizaciones generan ráfagas de llamadas en la importación inicial. Excluya nuestro user-agent de las reglas de limitación.
  • Page Rules / Configuration Rules con «Security Level: High» en las rutas de API.
  • Cloudflare Access (Zero Trust): si protege su dominio o su back-office, la API no es accesible sin un token. Añada una política Bypass en la ruta de la API.

Sucuri

En el cortafuegos de Sucuri, abra Firewall → Settings → Whitelist y añada una excepción para la ruta de la API. Si su plan lo permite, cree la regla sobre el user-agent OrderInvoicer en lugar de sobre una IP.

Plugins de seguridad de WordPress

Wordfence, Solid Security (antes iThemes), All-In-One WP Security, NinjaFirewall:

  • añada una excepción («allowlist») para el user-agent OrderInvoicer;
  • autorice la ruta /wp-json/wc/v3/ (WooCommerce);
  • compruebe que el bloqueo de «bots falsos» o del tráfico sin navegador no nos intercepta;
  • desactive las reglas de limitación de peticiones para ese user-agent.

ModSecurity y WAF del alojamiento

En un WAF de aplicación (ModSecurity, OVH, o2switch, Kinsta, WP Engine…), pida a su proveedor que añada una excepción para las peticiones con el user-agent OrderInvoicer hacia la ruta de la API de su tienda. Las reglas genéricas de OWASP bloquean con frecuencia las peticiones POST en JSON hacia las API REST.

Comprobar que el bloqueo ha desaparecido

Desde cualquier terminal, repita una petición con nuestro user-agent:

curl -I -A "OrderInvoicer (+https://orderinvoicer.com)" https://su-tienda.com/wp-json/wc/v3/

Un código 200 o 401 significa que atraviesa el cortafuegos (el 401 solo indica que faltan las credenciales de la API). Un 403, un 503 o una página de desafío significa que el bloqueo sigue activo.

Después, en Order Invoicer, abra su conector y haga clic en Probar la conexión y reactivar.

Más información

¿Sigue bloqueado? Escríbanos a contact@orderinvoicer.com con la fecha y la hora de un bloqueo: le indicaremos la petición exacta que debe buscar en sus registros.

En esta página