Announcing the Cloudflare API Gateway

Negli ultimi dieci anni, Internet ha subito un cambiamento tettonico. Un tempo era composto da siti Web statici: con testo, immagini e occasionalmente filmati incorporati. Ma Internet è cresciuto enormemente. Ora ci affidiamo alle applicazioni basate su API per aiutare con quasi ogni aspetto della vita. Invece di limitarci a scaricare file, siamo in grado di interagire con le app scambiando dati avanzati. Tracciamo gli allenamenti e inviamo i risultati al cloud. Utilizziamo blocchi intelligenti e tutti i tipi di dispositivi IoT. E interagiamo con i nostri amici online.

Tutto questo è meraviglioso, ma arriva con un'esplosione di complessità sul back-end. Come mai? Gli sviluppatori devono gestire le API per supportare questa funzionalità. Hanno bisogno di monitorare e autenticare ogni singola richiesta. E poiché queste attività sono così difficili, di solito vengono esternalizzate a un provider di gateway API.

Sfortunatamente, i gateway di oggi lasciano molto a desiderare. Primo: non sono economici. Poi c'è l'impatto sulle prestazioni. E infine, c'è un rischio per i dati e la privacy, dal momento che più del 50% del traffico raggiunge le API (e presumibilmente viene inviato tramite un gateway di terze parti). Che confusione.

Oggi annunciamo il gateway API Cloudflare. Sostituiremo completamente il tuo gateway esistente a una frazione del costo. E la nostra soluzione utilizza la tecnologia alla base di Workers, Bot Management, Access e Transform Rules per fornire il set di strumenti API più avanzato sul mercato.

Cos'è API Gateway?

In breve, è un pacchetto di funzionalità che lavoreranno per le tue API. Questo suddividiamo in tre categorie:

Sicurezza
Questi sono i prodotti di cui abbiamo già scritto sul blog. Strumenti come Discovery, Schema Validation, Abuse Detection e altri. Abbiamo dedicato molto tempo ad applicare la nostra esperienza di sicurezza al mondo delle API.

Gestione e monitoraggio
Questi sono gli strumenti fondamentali che mantengono in ordine le tue API. Alcuni esempi: analisi, routing e autenticazione. Siamo già in grado di fare queste cose con prodotti esistenti come Cloudflare Access e altre funzionalità sono in arrivo.

Tutto il resto
Questi sono i piccoli (ma cruciali) elementi che fanno funzionare tutto. Cloudflare offre già terminazione SSL/TLS, bilanciamento del carico e servizi proxy che possono essere eseguiti per impostazione predefinita.

Il post del blog di oggi descrive ogni funzionalità in dettaglio. Siamo lieti di annunciare che tutte le funzionalità di sicurezza sono adesso disponibili, quindi iniziamo discutendo di quelle.

Discovery

I nostri clienti sono desiderosi di proteggere le loro API. Sfortunatamente, questi endpoint non sono sempre documentati o, peggio, credono che tutto sia documentato ma hanno inconsapevolmente perso o modificato gli endpoint. Questi endpoint nascosti sono talvolta chiamati API shadow. Dobbiamo iniziare il nostro viaggio con un quadro esauriente (e accurato) della superficie dell'API.

È qui che entra in gioco Discovery. Vai al dashboard di Cloudflare, seleziona la scheda Sicurezza quindi "API Shield". Attiva la funzione e dicci come vuoi identificare il tuo traffico API. La maggior parte degli utenti fornisce un'intestazione (disponibile oggi), ma possiamo anche utilizzare il corpo della richiesta o il cookie (disponibile a breve).

The Cloudflare API Shield tab, showing various endpoints that have been discovered and a set of recommended rate limiting thresholds.
La scheda Cloudflare API Shield, che mostra vari endpoint che sono stati rilevati e una serie di soglie di limitazione della frequenza consigliate.

Forniamo un elenco completo dei tuoi endpoint API. Cloudflare elenca ogni metodo, percorso e metadati aggiuntivi per aiutarti a comprendere la tua superficie. Riduciamo anche gli endpoint che includono le variabili (ad esempio, /account/217) in modo che possano essere applicati più in generale (ad esempio, /account/{var1}).

Discovery è una potente contromisura all'entropia. I nostri clienti spesso si aspettano di trovare 30 endpoint, ma sono sorpresi nell'apprendere che hanno oltre 100 endpoint attivi.

Convalida schema

Forse hai già uno schema per i tuoi endpoint API. Uno schema è come un modello: fornisce i percorsi, i metodi e i dati aggiuntivi che ti aspetti che le richieste API includano. Molti sviluppatori seguono lo standard OpenAPI per generare (e gestire) uno schema.

Per rafforzare la tua sicurezza, possiamo convalidare il traffico in entrata rispetto a questo schema. Questo è un ottimo modo per fermare gli attacchi di base. Cloudflare respingerà le richieste non conformi, scartando il traffico senza senso che ha ignorato il codice di abbigliamento. Carica semplicemente il tuo schema nella dashboard, seleziona le azioni che vuoi intraprendere e distribuiscilo:

A step in the schema upload process, after a schema has already been provided. Cloudflare lists out each endpoint with path, query, header, cookies, and body provided as metadata.
Un passaggio nel processo di caricamento dello schema, dopo che uno schema è già stato fornito. Cloudflare elenca ogni endpoint con percorso, query, intestazione, cookie e corpo forniti come metadati.

Schema Validation ha già controllato il traffico per alcuni dei più grandi siti crittografici, servizi di consegna e piattaforme di pagamento del mondo. È ora disponibile e presto aggiungeremo la convalida del corpo.

Abuse Detection

Un solido approccio alla sicurezza utilizzerà Schema Validation e Discovery insieme, verificando che il traffico corrisponda al formato previsto. Ma che dire del traffico abusivo che riesce a sopravvivere?

Man mano che Cloudflare scopre nuovi endpoint API, noi suggeriamo limiti di frequenza per ciascuno di essi. Questo è il ruolo di Abuse Detection e apre le porte a un tipo di sicurezza più sofisticato.

Considera un endpoint API che restituisce aggiornamenti meteo. In particolare, l'endpoint restituirà "sì" se è probabile che nevichi nell'ora successiva e "no" in caso contrario. Il nostro algoritmo potrebbe rilevare che l'utente medio richiede questi dati una volta ogni 10 minuti. Un piccolo gruppo di scraper, invece, effettua 37 richieste ogni 10 minuti. Cloudflare consiglia automaticamente una soglia intermedia, ponderata per fornire agli utenti normali un po' di respiro. Ciò impedirebbe ai servizi di scraping abusivi di recuperare il meteo troppo spesso.

Forniamo la possibilità di creare una regola utilizzando il nostro nuovo motore Advanced Rate Limiting. Puoi utilizzare cookie, intestazioni e altro per ottimizzare le soglie. Utilizziamo Abuse Detection per proteggere api.cloudflare.com già da qualche mese ormai.

La nostra parte preferita di questa funzionalità è che si basa sull'approccio di apprendimento automatico per cui utilizziamo Bot Management. Solo un altro modo in cui i nostri prodotti possono alimentarsi (e trarne vantaggio) l'uno dall'altro.

Abuse Detection è ora disponibile. Se sei interessato in Sequential Abuse Detection, che utilizziamo per segnalare flussi di richieste anomali, consulta il nostro post del blog precedente. La parte sequenziale è in accesso anticipato e stiamo continuando a regolarlo prima del lancio ufficiale.

mTLS

Il TLS reciproco porta la sicurezza a un nuovo livello. Puoi utilizzare i certificati per convalidare il traffico in entrata quando raggiunge le tue API, cosa particolarmente utile per i dispositivi mobili e IoT. Inoltre, questo è un eccellente modello di sicurezza positivo che può (e dovrebbe) essere adottato per la maggior parte degli ecosistemi di dispositivi.


Come esempio, torniamo alla nostra API meteo. Forse questo servizio include un secondo endpoint che riceve la temperatura corrente da un termometro. Ma c'è un problema: chiunque può fare richieste false, fornendo letture imprecise all'endpoint. Per evitare ciò, utilizza mTLS per installare un certificato client sul termometro ufficiale, quindi lascia che Cloudflare convalidi quel certificato. Eventuali altre richieste verranno respinte. Problema risolto!

Offriamo già una serie di certificati gratuiti a ogni cliente Cloudflare. Questo continuerà. Ma a partire da oggi, i clienti di API Gateway possono ottenere certificati illimitati per impostazione predefinita.

Autenticazione

Numerose API moderne richiedono l'autenticazione. In effetti, l'autenticazione sblocca tutti i tipi di funzionalità: consente sessioni (con accesso), scambio di dati personali ed efficienza dell'infrastruttura. E, naturalmente, Cloudflare protegge il traffico autenticato mentre passa attraverso la nostra rete.

Ma con API Gateway, Cloudflare svolge un ruolo più attivo nell'autenticazione del traffico, consentendo di emettere e verificare quanto riportato di seguito:

  • Chiavi API
  • Token Web JSON (JWT)
  • Token OAuth 2.0

Grazie agli elenchi di controllo accessi, ti aiutiamo a gestire diversi gruppi di utenti con autorizzazioni diverse. E questo è importante, perché il tuo attuale provider sta introducendo tonnellate di latenza e scambi di dati non necessari. Se una richiesta deve arrivare da qualche parte all'esterno dell'ecosistema Cloudflare, sta viaggiando più lontano del necessario:

Additional latency incurred by sending requests out of the Cloudflare network for authentication.
Latenza aggiuntiva sostenuta dall'invio di richieste dalla rete Cloudflare per l'autenticazione.

Cloudflare può autenticarsi sulla nostra rete globale e gestire le richieste in una frazione del tempo. Questo tipo di tecnologia è difficile da implementare, ma abbiamo ritenuto che fosse troppo importante per ignorarlo. Come abbiamo fatto a costruirlo così velocemente? Cloudflare Access. Abbiamo preso la nostra esperienza operativa con i provider di identità e, ancora una volta, l'abbiamo trasferita nel mondo delle API. Il nostro gateway include autenticazione illimitata e scambio di token. Queste funzionalità saranno presto disponibili.

Routing e gestione

Parliamo brevemente dei microservizi. Le applicazioni moderne sono dei colossi, quindi gli sviluppatori le suddividono in blocchi più piccoli chiamati "microservizi".

Consideriamo un'applicazione che ti aiuti a prenotare una camera d'albergo. Potrebbe utilizzare un microservizio per recuperare le date disponibili, un altro per recuperare i prezzi e un altro ancora per recuperare i tipi di camere. Forse un team diverso gestisce ogni microservizio, ma devono essere tutti disponibili da un unico punto di ingresso pubblico:

Various steps in an architecture that relies on microservices. A visitor makes a request to a hotel API, which is then routed towards available dates, prices, or room types.
Vari passaggi in un'architettura che si basa sui microservizi. Un visitatore fa una richiesta all'API di un hotel, che viene quindi indirizzata verso le date, i prezzi o i tipi di camere disponibili.

Quel singolo punto d'ingresso, normalmente gestito da un API gateway, è responsabile per il 1routing di ogni richiesta al microservizio giusto. Molti dei nostri clienti pagano da anni servizi autonomi per farlo. Non è più necessario. Abbiamo progettato il nostro Transform Rules product per riscrivere e reindirizzare dinamicamente al nostro perimetro. È facile da configurare, veloce da implementare e integrato in modo nativo in API Gateway. Cloudflare può ora essere l'unico punto di accesso della tua API.

È un po' come la punta dell'iceberg. API Gateway può sostituire i tuoi microservizi tramite una integrazione con il nostro Workers. Come? Prendi in considerazione la possibilità di scrivere un Worker che esegua qualche azione, ad esempio restituire i prezzi dell'hotel, che sono memorizzati con Durable Objects sulla nostra rete. Con API Gateway, le richieste arrivano alla nostra rete, vengono instradate al microservizio corretto con le regole di trasformazione e quindi vengono completamente servite con i lavoratori (ancora sulla nostra rete). Questi Worker possono contattare la tua origine per ulteriori informazioni, ove necessario.

Cloudflare’s simplified API architecture. With authentication, routing, management, and storage handled at the edge, several hops are eliminated.
Architettura dell'API semplificata di Cloudflare. Con l'autenticazione, il routing, la gestione e l'archiviazione gestite sul perimetro, vengono eliminati diversi hop.

I Worker sono più veloci, più economici e più semplici delle alternative di microservizi. Questa integrazione sarà disponibile a breve.

API Analytics

I clienti ci dicono che vedere il traffico API a volte è più importante che agire su di esso. In effetti, questa tendenza non è specifica per le API. Abbiamo pubblicato un altro post del blog oggi in cui viene che esplora come un cliente utilizza la nostra bot intelligence per registrare passivamente le informazioni sulle minacce.

Con API Analytics, abbiamo attinto ai nostri altri prodotti per mostrare dati utili in tempo reale. Puoi visualizzare gli endpoint più diffusi, filtra in base a informazioni dettagliate basate sul ML, visualizza gli istogrammi delle soglie di abuso e acquisisci le tendenze.

API Analytics sarà disponibile a breve. Quando ciò accade, sarai anche in grado di esportare rapporti personalizzati e condividere approfondimenti all'interno della tua organizzazione.

Registrazione, gestione quote e altro

Tutte le nostre funzionalità consolidate, come la memorizzazione nella cache, il bilanciamento del carico e le integrazioni dei log, funzionano in modo nativo con API Gateway. Queste non dovrebbero essere trascurate come funzionalità di gateway primitive; sono essenziali. E poiché Cloudflare esegue tutte queste funzioni nello stesso posto, ottieni i vantaggi della latenza senza dover fare nulla.

Stiamo inoltre espandendo la nostra funzionalità Enterprise Logs per eseguire la registrazione in tempo reale. Se scegli di autenticarti sulla rete di Cloudflare, puoi visualizzare i log dettagliati di ogni utente che ha effettuato l'accesso a un'API. Allo stesso modo, teniamo traccia della durata di ogni richiesta man mano che viene ricevuta, convalidata, instradata e risposta. Tutto viene registrato.

Infine, stiamo costruendo Quota Management, una funzionalità che conta le richieste API su un periodo di tempo più lungo (come un mese) e ti consente di gestire le soglie per i tuoi utenti. Abbiamo lanciato anche Advanced Rate Limiting per aiutare con casi più sofisticati (compresa l'ispezione del corpo per GraphQL).

Conclusione

Tutte le nostre funzionalità di sicurezza, Discovery, Schema Validation, Abuse Detection e mTLS, sono ora disponibili! Queste funzionalità sono dette API Shield perché costituiscono lo scudo che protegge le restanti funzioni del gateway. I clienti aziendali possono chiedere l'accesso ai loro team di account oggi.

Molte delle altre parti di API Gateway sono ora in accesso anticipato. Secondo Gartner®, "entro il 2025, meno del 50% delle API aziendali sarà gestito, poiché la crescita esplosiva delle API supera le capacità degli strumenti di gestione delle API". Il nostro obiettivo è offrire un gateway conveniente che combatta questa tendenza. Se hai una funzionalità specifica che desideri testare, informa il team dell'account in modo che possiamo registrarti il prima possibile.

Fonte: Gartner, “Predicts 2022: APIs Demand Improved Security and Management”, Shameen Pillai, Jeremy D'Hoinne, John Santoro, Mark O'Neill, Sham Gill, 6 dicembre 2021. GARTNER è un marchio registrato di Gartner, Inc. e/o delle sue affiliate negli Stati Uniti e a livello internazionale e viene qui utilizzato previa autorizzazione. Tutti i diritti riservati.