Cloudflare, WAF e firewall: autorizzare Order Invoicer
Come inserire Order Invoicer nella lista di autorizzazione di Cloudflare, Sucuri, Wordfence o di un WAF tramite il suo user-agent dedicato
Order Invoicer chiama l'API del suo negozio (Shopify, WooCommerce, Prestashop, Magento, Sylius, Odoo…) e quella del suo strumento di fatturazione dai nostri server. Se un servizio di protezione si trova davanti al suo sito — Cloudflare, Sucuri, Wordfence, il WAF del suo hosting — queste chiamate possono essere scambiate per traffico automatizzato indesiderato e bloccate.
Il sintomo tipico: la sincronizzazione si ferma, il connettore viene messo in pausa e i log mostrano HTTP 403, una pagina «Just a moment…», una challenge JavaScript o un captcha.
Il nostro user-agent
Tutte le richieste in uscita di Order Invoicer inviano la stessa intestazione User-Agent:
OrderInvoicer (+https://orderinvoicer.com)È il criterio da usare per identificarci e autorizzarci. È identico per tutti i connettori e tutte le integrazioni e non cambia da un cliente all'altro.
Non abbiamo un indirizzo IP di uscita fisso: i nostri server e quelli dei nostri provider possono cambiare IP senza preavviso. Non autorizzi per indirizzo IP — usi lo user-agent, eventualmente combinato con il percorso dell'API.
Cloudflare
Creare una regola di skip nel WAF
-
Apra la dashboard Cloudflare e selezioni il suo dominio.
-
Vada in Security → WAF → Custom rules (Sicurezza → WAF → Regole personalizzate).
-
Clicchi su Create rule e la chiami, per esempio,
Allow Order Invoicer. -
Usi l'editor di espressioni con:
(http.user_agent contains "OrderInvoicer")Per essere più restrittivo, aggiunga il percorso dell'API del suo negozio, per esempio per WooCommerce:
(http.user_agent contains "OrderInvoicer" and starts_with(http.request.uri.path, "/wp-json/wc/")) -
Scelga l'azione Skip, poi selezioni almeno All remaining custom rules, Managed rules, Rate limiting rules, Super Bot Fight Mode e Browser Integrity Check.
-
Distribuisca la regola e la sposti in cima all'elenco delle regole personalizzate.
Bot Fight Mode
Bot Fight Mode e Super Bot Fight Mode (Security → Bots) sfidano il traffico automatizzato, incluso quello legittimo. Se li utilizza:
- crei la regola Skip qui sopra, che ha la precedenza, oppure
- imposti «definitely automated» su Allow per i percorsi API,
- disattivi Bot Fight Mode (piano gratuito) se non può creare un'eccezione: quella versione non consente esclusioni granulari.
Altre impostazioni Cloudflare da verificare
- Under Attack Mode: sfida tutte le richieste, comprese le nostre. Lo disattivi o aggiunga la regola Skip.
- Rate limiting: le nostre sincronizzazioni generano raffiche di chiamate durante l'importazione iniziale. Escluda il nostro user-agent dalle regole di limitazione.
- Page Rules / Configuration Rules con «Security Level: High» sui percorsi API.
- Cloudflare Access (Zero Trust): se protegge il suo dominio o il back-office, l'API non è raggiungibile senza token. Aggiunga una policy Bypass sul percorso dell'API.
Sucuri
Nel firewall Sucuri apra Firewall → Settings → Whitelist e aggiunga un'eccezione per il percorso dell'API. Se il suo piano lo consente, crei la regola sullo user-agent OrderInvoicer invece che su un IP.
Plugin di sicurezza WordPress
Wordfence, Solid Security (ex iThemes), All-In-One WP Security, NinjaFirewall:
- aggiunga un'eccezione («allowlist») per lo user-agent
OrderInvoicer; - autorizzi il percorso
/wp-json/wc/v3/(WooCommerce); - verifichi che il blocco dei «falsi bot» o del traffico senza browser non ci intercetti;
- disattivi le regole di limitazione delle richieste per questo user-agent.
ModSecurity e WAF dell'hosting
Su un WAF applicativo (ModSecurity, OVH, o2switch, Kinsta, WP Engine…), chieda al suo hosting di aggiungere un'eccezione per le richieste con lo user-agent OrderInvoicer verso il percorso dell'API del suo negozio. Le regole OWASP generiche bloccano spesso le richieste POST in JSON verso le API REST.
Verificare che il blocco sia sparito
Da un terminale qualsiasi, ripeta una richiesta con il nostro user-agent:
curl -I -A "OrderInvoicer (+https://orderinvoicer.com)" https://suo-negozio.com/wp-json/wc/v3/Un codice 200 o 401 significa che supera il firewall (il 401 indica soltanto che mancano le credenziali API). Un 403, un 503 o una pagina di challenge significa che il blocco è ancora attivo.
Poi, in Order Invoicer, apra il suo connettore e clicchi su Testa la connessione e riattiva.
Approfondimenti
Ancora bloccato? Ci scriva a contact@orderinvoicer.com indicando data e ora di un blocco: le indicheremo la richiesta esatta da cercare nei suoi log.