Una migrazione rapida e sicura su Google Cloud Platform utilizzando Cloudflare

di Brady Gentile

Oggi parleremo della migrazione di LUSH su Google Cloud e di come Cloudflare, uno dei nostri principali partner di sicurezza e prestazioni, può aiutarti con la tua migrazione cloud. Durante la nostra presentazione, parleremo delle migliori pratiche di sicurezza, di come funzionano i CDN e il programma CDN Interconnect e ti forniremo anche una demo del bilanciamento del carico di Cloudflare per iniziare la migrazione.

Una delle cose principali che molte persone non comprendono è la quantità di sforzi che Google ha messo in sicurezza. Potresti avere familiarità con la navigazione sicura, che protegge oltre tre miliardi di dispositivi ogni giorno. Questo è qualcosa che Google ha fatto non a scopo di lucro, ma solo per il nostro impegno per la sicurezza.

Se guardi effettivamente a ciò che fa Google, hanno oltre 600 ingegneri dedicati alla sicurezza e alla privacy con Google, che è più di molte altre società di sicurezza pure-play. E il risultato è che stiamo cercando di rendere Internet un luogo più sicuro per i nostri utenti. Riteniamo che aumentare il livello di consapevolezza della sicurezza renda più facile per i nostri clienti. Quindi parleremo di come questa filosofia si traduca effettivamente nel cloud di Google. Se guardi alcuni dei progetti open source là fuori, anche se guardi iOS, vedrai che Google è stato uno dei principali reporter di bug e vulnerabilità della sicurezza. Ancora una volta, stiamo cercando di rendere Internet più sicuro per tutti coloro che utilizzano i nostri prodotti.

Quando parliamo di Google Cloud, inizia davvero dal basso verso l’alto, a livello hardware. Dal secondo dispositivo si avvia, il sistema operativo, l’applicazione, la rete, l’archiviazione, ecc. Quindi, se si guarda in modo più approfondito, si ottiene una buona idea di tutte le diverse aree di sicurezza.

Come probabilmente saprai, Google ha molti data center diversi che sono gestiti da noi, ma ci troviamo anche in molti data center di terze parti. Quando si avvia un dispositivo hardware, vogliamo assicurarci che sia uno dei nostri dispositivi. Sappiamo di cosa si tratta, cosa dovrebbe fare e quindi abbiamo dei codici di sicurezza scritti da Google per monitorarlo. E questo funziona di pari passo con il chip Titan per assicurarci effettivamente di avere quel livello di fiducia sicuro dal momento in cui il dispositivo è acceso, a quando gli utenti possono usarlo quando il traffico di rete viene attraversato.

Quando lo guardiamo, la rete gioca un ruolo importante. Come puoi vedere qui, ci sono molte posizioni dei data center; vedrai tutto il leasing e la fibra di proprietà di Google. Ciò che si traduce realmente per i nostri utenti è: indipendentemente da dove ti trovi nel mondo, sarai vicino a un data center di Google o a una posizione di Google in grado di gestire il tuo traffico.

Trey Guinn Cloudflare ha anche una delle reti più grandi del mondo, sebbene ci concentriamo meno sul calcolo e sull’infrastruttura come servizio, ci concentriamo sulla fornitura di una rete intelligente che si colloca tra il visitatore web o il consumatore API e l’infrastruttura di origine – che potrebbe essere GCP. Cloudflare è qualcosa di cui potresti non aver sentito parlare, ma ci hai sicuramente usato se usi Internet. I proxy Cloudflare rappresentano circa il 10% di tutte le richieste HTTP oggi. Con oltre sei milioni di domini su Cloudflare, siamo una presenza abbastanza grande. Il nostro compito è assicurarci di bloccare le minacce e cercare di migliorare le prestazioni mentre il traffico scorre attraverso la nostra rete.

Asad Baheri
Quando dici 6 milioni di domini, intendi che stai effettivamente gestendo i record DNS? Che si tratti di record A, CNAME, zone AAA, tutto questo?

Trey Guinn corretto. Uno dei servizi di Cloudflare è quello di essere un fornitore DNS autorevole; siamo il più grande e veloce provider DNS autorevole al mondo. I clienti possono anche CNdom sottodomini specifici su di noi e stiamo gestendo non solo DNS per molti di questi clienti, ma stiamo anche gestendo il proxy del traffico HTTP e HTTPS.

Attraverso il programma Cloudflare CDN Interconnect, puoi vedere che siamo seduti tra il visitatore e la piattaforma Google Cloud. Cerchiamo di rimuovere tutte le minacce online, accelerando allo stesso tempo la comunicazione che passa dal visitatore a GCP. La cosa migliore sono le interconnessioni dirette tra i nostri servizi; è essenzialmente collegato tra il data center Cloudflare e i data center della piattaforma Google Cloud in 53 posizioni (che è quasi la metà delle posizioni). Questa interconnessione presenta tutti i tipi di vantaggi perché offre prestazioni più elevate e non devi preoccuparti della congestione o della lotta contro Internet pubblica. Inoltre, come cliente GCP, quando si utilizza l’interconnessione CDN si paga un prezzo di uscita significativamente scontato.

Uno dei nostri numerosi clienti comuni è il nostro cliente LUSH. Hanno avuto una grande migrazione verso GCP e hanno dovuto farlo molto rapidamente. È interessante notare che erano già clienti di Cloudflare prima di passare a GCP. Parlami un po ‘della loro migrazione a GCP.

Asad Baheri
Questo è qualcosa che LUSH ha deciso di venerdì e che hanno dovuto iniziare lunedì. Avevano 22 giorni per spostare tutto. Hanno avuto un periodo di tempo molto breve. Parte della ragione della loro migrazione era dovuta alla disponibilità e alle dimensioni generali durante i picchi di traffico delle festività natalizie. L’altra parte era che volevano che la loro presenza online corrispondesse alla loro filosofia aziendale. Una percentuale molto elevata dei costi elettrici della nostra rete proviene da fonti rinnovabili, ed è stato qualcosa di importante per loro. Dalla tecnologia alla filosofia, era semplicemente molto ben allineato e aveva senso fare quella mossa rapidamente. LUSH qui ha avuto un grande risparmio, giusto?

Trey Guinn LUSH come cliente vede circa un risparmio della larghezza di banda del 75%, ma anche una riduzione del 95% del numero di richieste al proprio server di origine. Ciò riduce la quantità di infrastruttura di cui hanno bisogno sull’origine, perché stiamo filtrando il traffico danneggiato o memorizziamo nella cache i contenuti. Parte di questo, ovviamente, è che fermiamo circa 60.000 minacce al mese per LUSH. E questo è qualcosa che ci si aspetta dall’infrastruttura e dalla rete di Cloudflare. Gestiamo una delle più grandi reti di sicurezza del mondo e siamo abituati a bloccare queste minacce.

Asad Baheri
La percentuale di successo sembra dipendere dal sito Web o dall’API che utilizza i servizi di Cloudflare, giusto? Se hai molte foto di gatti contro un’API super dinamica, sarà un’esperienza diversa.

Trey Guinn
Esattamente. Se stai offrendo un sacco di GIF, puoi aumentare la percentuale di hit della cache negli anni ’90, forse oltre il 99%. Se sei un’applicazione meteorologica e qualcuno sta controllando il tempo, la percentuale di riscontri nella cache potrebbe essere leggermente inferiore perché se stai fornendo se per codice postale non ci sono molte persone per codice postale o controllando il tempo.

Asad Baheri
Posso effettivamente impostare i miei tassi di cache per diverse regioni e dire “Ehi per questa geografia, voglio questa cache rispetto a un’altra geografia che voglio avere qualcos’altro nella cache?”

Trey Guinn
È possibile passare a livelli più profondi di personalizzazione, ma in genere la cache sarà in giro per URL; puoi personalizzarlo in base a determinate intestazioni, cookie ecc. E il rovescio della medaglia è che puoi ottenere un controllo approfondito sulla limitazione della frequenza, inoltre il nostro firewall per applicazioni Web (WAF) e il database di reputazione IP ti consentono di aggiungere sicurezza e performance allo stesso tempo.

Asad Baheri
Una delle cose più importanti è in realtà assicurarsi di avere un certificato SSL, che segue le migliori pratiche; non tutti i certificati SSL sono creati allo stesso modo.

Trey Guinn Indipendentemente da qualsiasi rete di origine o rete di sicurezza che esegui, vogliamo condividere alcune best practice sulla sicurezza e, come hai detto, tutto dovrebbe essere su SSL. Se non lo sapevi, questo è il tuo ultimo avvertimento e tutto dovrebbe essere su SSL. Chrome a partire dal prossimo mese inizierà a identificare in modo positivo i siti Web che non sono crittografati con un flag “non sicuro”. Se vuoi essere in grado di mantenere la fiducia dei tuoi clienti, è necessario. E una cosa fondamentale è che non tutti gli SSL sono creati uguali: alcuni SSL sono più sicuri di altri, alcuni SSL sono più veloci di altri, ecc. Abbiamo condiviso un link su queste diapositive per farti dare un’occhiata alle migliori pratiche dei laboratori SSL; sono di terze parti, ma vogliamo fare cose come la ripresa della sessione di supporto e HTTP / 2, ecc.

Asad Baheri
Google ha anche una serie di best practice SSL per chiunque stia utilizzando SSL; ti guiderà attraverso come creare il giusto tipo di richieste chiave, dove vuoi caricarlo, ecc. E quando usi Cloudflare, dove termina la sessione SSL?

Trey Guinn
Cloudflare interromperà la sessione SSL sul bordo della rete Cloudflare e ci assicureremo di disporre del miglior SSL. Se controlli il tuo grado SSL, otterrai un A o un A + con il nostro SSL. Decifriamo perché dobbiamo essere in grado di proteggerci dagli attacchi di livello 7 e guardare all’interno del livello dell’applicazione. Quindi ri-crittografiamo torniamo all’origine, quindi si trova ed è crittografato mentre attraversa la rete.

Asad Baheri
Inoltre, puoi fornire protezione ai servizi DNS, perché è un altro vettore di attacco in cui qualcuno può semplicemente eliminare il tuo DNS o provare a iniettare un record DNS errato.

Trey Guinn
Esattamente. Molte persone guardano alla prevenzione e alla sicurezza DDoS ma dimenticano il fatto che l’infrastruttura DNS è una delle cose chiave che devi proteggere. È la rubrica di Internet e se riesci a trovare il numero di telefono di qualcuno, non puoi chiamarlo e sei messo offline. Tutti contiamo l’attacco Dyn nell’ottobre dello scorso anno … ci sono voluti circa un terzo di Internet offline.

Oltre a DNS e SSL, altre cose da preparare sono le grandi inondazioni di livello 3 e di livello 4, questo è un po ‘come le inondazioni UDP dall’amplificazione DNS – che è una sorta di “uomo delle caverne con un club”, non molto sofisticato, ma si riempie le tue pipe. Fortunatamente, se sei su GCP, hai pipe molto grandi. Oltre a ciò, però, devi anche preoccuparti degli attacchi di livello 7. Meno sofisticato è: cosa succede se qualcuno entra e cerca o gratta le pagine dei prodotti sul tuo sito di e-commerce, ma decide di cercare le pagine dei tuoi prodotti 10.000 volte al secondo? La tua infrastruttura applicativa può gestirlo? E anche se può aumentare fino a quello, vuoi pagare per aumentare fino a quello? E oltre a ciò, mentre si verificano quegli attacchi, dovresti anche essere consapevole delle vulnerabilità delle applicazioni. È qui che gli attacchi tenteranno di estrarre i dati utilizzando SQL injection, scripting cross-site, ecc. Quindi questi sono i livelli di cui vogliamo essere sicuri.

Asad Baheri Quindi queste sono le basi, ma oggi mostreremo alla gente una demo su come impostare alcuni di questi servizi e protezioni su Cloudflare.

Trey Guinn Passeremo alla demo di Cloudflare e vedremo come Cloudflare può essere configurato per soddisfare alcuni dei requisiti di cui abbiamo appena parlato. Questa sarà una demo dal vivo, quindi sentiti libero di suonare da casa se vuoi. Abbiamo un’applicazione web; supponiamo che siamo cresciuti da un pubblico solo statunitense. Abbiamo avuto un sacco di gente in Nord America, ma la mia attività è decollata e sta andando alla grande, e ora è distribuita in Australia e nel Regno Unito.

Trey Guinn
In precedenza, supponiamo che avessi un’unica origine su AWS. Per supportare un’origine geograficamente distribuita, avevo bisogno del database di Google Spanner e sto passando a GCP. Ora posso avere un’origine all’interno di GCP in Australia, Stati Uniti occidentali ed Europa, tutti allo stesso tempo.

Asad Baheri
E per coloro che non hanno familiarità con BigQuery o Google Spanner, è proprio qui che brillano alcune delle tecnologie di Google, dove hai questi database distribuiti a livello globale.

Trey Guinn
Ma una volta che ho aggiunto un database distribuito a livello globale, devo essere in grado di accedervi da qualsiasi luogo.

Quindi configureremo un bilanciamento del carico geografico che trasferirà il nostro traffico su GCP. Vedremo anche quelle protezioni di livello 7; imposteremo una regola di limitazione della velocità e vedremo che entrerà in vigore. Ci assicureremo inoltre che SSL di Cloudflare funzioni. Attiveremo il nostro WAF e bloccheremo le iniezioni di SQL. E poi, una cosa un po ‘speciale, come in qualsiasi progetto di migrazione, c’è sempre quella persona in più che non stava leggendo la propria e-mail o non ha fatto il check-in durante le riunioni, e vedremo come gestirlo.

Quindi ho già aggiunto un dominio multicloud.tech a Cloudflare. Il processo di registrazione richiede circa cinque minuti e la maggior parte fa parte della modifica DNS. E davvero quello che stai facendo è rendere Cloudflare il tuo autorevole provider DNS o puoi creare sottodomini specifici CNAME. Nella nostra infrastruttura DNS, abbiamo quattro record ma possiamo vedere che il record WWW sta andando all’apice del dominio, l’apice del dominio sta andando a questo indirizzo IP e questa è la nostra origine AWS per cominciare. Nei nostri server DNS elencati, vedremo la nuvola arancione e la nuvola grigia. E qual è la differenza lì?

Se facciamo uno scavo su www.multicloud.tech , vedremo che questi sono un sacco di IP Cloudflare. E così vediamo che quelli sono i record delle nuvole arancioni, il WWW. Ma ciò che ho creato anche qui, solo per usabilità, è questa origine. Avviso qui: non dovresti davvero avere cose che puntano alla tua origine che sono grigie, perché consente alle persone di colpire direttamente la tua origine. Solo a scopo dimostrativo, ho questo record è grigio offuscato. Se eseguo una ricerca DNS su origin.multicloud.tech , vedremo che sta tornando indietro l’indirizzo IP di origine.

Quello che sta facendo è quando si effettua il cloud arancione in un record in Cloudflare, instrada tutti i tuoi clienti attraverso la rete Cloudflare. E se annulli in grigio il record, tutto il traffico verrà indirizzato direttamente al tuo server di origine. Quindi è solo una semplice specie di interruttore “on / off” per la rete Cloudflare.

Quindi ora stiamo inviando traffico attraverso Cloudflare. Quindi se vai su www.multicloud.tech , ovunque tu sia, passeresti attraverso la rete Cloudflare per visitare questo sito web. Quindi, se voglio dare un’occhiata a multicloud.tech , sto visitando il sito Web e stiamo colpendo la nostra infrastruttura AWS.

Quindi andiamo avanti e impostiamo un bilanciamento del carico. Abbiamo gente in Australia e nel Regno Unito e vogliamo assicurarci che sia veloce per tutti. Ho intenzione di creare un bilanciamento del carico qui chiamato lb1.multicloud.tech . Pertanto, quando si crea un bilanciamento del carico, viene creato un altro record DNS che può essere utilizzato per accettare il traffico. Ora creerò alcuni pool di origini perché l’idea è che potremmo avere 10 origini in Australia, 30 in Nord America e 15 in Europa.

Asad Baheri
Sto andando a quel record DNS, e poi questo viene inviato in diverse posizioni, o vado a più record DNS che stanno per fare round robin ?.

Trey Guinn
Questa è un’ottima domanda; quindi quello che sta succedendo è che stai vedendo l’IP Cloudflare all’esterno. È una rete Anycast, quindi è lo stesso IP in tutto il mondo; ti connetti a Cloudflare e quindi tutto ciò accade dietro le quinte.

Asad Baheri
Quindi, non ho bisogno di preoccuparmi del mantenimento dei record DNS, di cosa voglio fare per il bilanciamento del carico, ecc … te ne sei occupata?

Trey Guinn Esattamente. Ora configureremo il nostro primo pool di origini. Questo pool di origini deve contenere solo un’origine, poiché si tratta di una demo. Ma inizieremo con il primo negli Stati Uniti occidentali; andremo con la nostra origine GCP negli Stati Uniti occidentali. E faremo un controllo dello stato attivo solo della pagina principale.

Asad Baheri
E posso personalizzarlo ovviamente, se voglio qualcosa di più specifico?

Trey Guinn
Esattamente. In quel controllo dello stato, è lì che puoi impostare il numero di volte che deve fallire prima che sia malsano, e controlla specificamente l’URL, fa un controllo per determinati codici di stato, ecc.

Quindi abbiamo installato il nostro US West, quindi installiamo anche l’Australia. Andremo avanti e imposteremo lo stesso monitor e lo salveremo.

E poi dobbiamo ancora fare la nostra origine europea. Stesso monitor di controllo dello stato e faremo clic su Salva. Abbiamo creato tre pool di origini e, come dicevo, quei pool di origini potevano contenere più di un’origine ciascuno.

E se aggiungi più origini in un pool, si arrotonderebbe il robin tra quelli. Ora abbiamo tre pool e possiamo fare una migrazione intelligente tra di loro. Se si disponeva di una configurazione del data center attiva / passiva, è possibile utilizzare due pool e inserirli nell’ordine corretto, quindi si dovrebbe dire pool di origini n. 1 / pool di origini n. 2 e quindi attivo / passivo. In questo caso, diremo se, diciamo che l’Europa fallisce, vogliamo fallire negli Stati Uniti, renderemo gli Stati Uniti la nostra primaria, l’Europa secondaria a livello globale e poi l’Australia terza.

Ma vogliamo anche fare un po ‘di geo-routing, quindi scegliamo quali regioni faremo un certo geo-routing.

Quindi arriveremo in Europa, Oceania, Medio Oriente, Africa, Africa meridionale, India e Asia. Quindi prenderemo l’Europa e la spediremo all’origine europea. Europa orientale a origine europea. Oceana andrà in Australia. Medio Oriente spediremo in Europa. Nord Africa lo spediremo in Europa. Il Sudafrica lo spediamo in Europa. India mandiamo in Australia. Anche nel Nord-est asiatico lo spediremo in Australia.

Ora andremo a colpire dopo; e siamo pronti per salvare e distribuire.

Asad Baheri
Quello era meno di 10 minuti; abbiamo effettivamente creato un’infrastruttura, impostato i nostri pool e impostato il nostro geo-routing.

Trey Guinn
Quindi stiamo effettuando controlli e sondaggi sanitari attivi su ciascuno di questi data center. Ora stiamo per dire che il WWW, che stava andando al record dell’apice e è andato su AWS, verrà inviato al bilanciamento del carico. L’altra cosa che voglio fare è prendere l’apice di zona, multicloud.tech , e voglio inviarlo anche al bilanciamento del carico. Questo è qualcos’altro di speciale in Cloudflare; se hai mai dovuto CNAME il tuo record dell’apice, è un vero problema; ti permettiamo di farlo sulla nostra infrastruttura, perché facciamo una cosa chiamata appiattimento CNAME. Quindi ora tutto il traffico sta andando al bilanciamento del carico. Stiamo anche istituendo un WAF e impostando le regole di limitazione della velocità e possiamo far funzionare tutto insieme.

Asad Baheri
Quindi ora stiamo solo entrando in protezione; abbiamo installato l’infrastruttura, l’instradamento e ora lo proteggeremo.

Trey Guinn
Esattamente. Sto già esaurendo il tempo sulla mia demo, quindi quanto è difficile configurare un WAF?

Asad Baheri È praticamente un processo che dura tutto il giorno per impostare regole, penso?

Trey Guinn
Quindi ora il nostro WAF è installato; è abbastanza facile. Abbiamo reso questo prodotto facile da usare. Attiveremo anche il 10 set di regole OWASP e lo metteremo in modalità blocco.

Ora che il nostro WAF è pienamente coinvolto, stabiliamo una regola di limitazione della velocità, perché vuoi essere in grado di impedire a qualcuno di martellare sul tuo sito web. Quindi chiameremo questa regola di limitazione della velocità “globale” su http e https *, dirà semplicemente qualsiasi URL che stai controllando.

Asad Baheri
È bello avere regole diverse su diverse parti del mio sito Web; se gestisco più clienti o ci sono regioni diverse, posso dire “hey voglio che questa parte del mio sito o questo sottodominio abbia un tipo o protezione rispetto a un’altra parte”.

Trey Guinn
Uno dei casi d’uso più comuni è quello di proteggere la tua pagina di accesso, e possiamo guardare il codice di risposta e dire se stai ottenendo 200 va bene, ma se ricevi 401 o 403, allora chiaramente stai effettuando l’accesso con la password sbagliata, quindi ti limiteremo davvero. Quindi, se fai più di 10 richieste in 30 secondi, ti bloccheremo per 30 secondi.

Asad Baheri
E questo fermerà davvero quegli attacchi automatizzati di bot, in cui le persone stanno provando il ripieno di credenziali e stanno solo cercando di vedere quanto velocemente posso martellare su una pagina di accesso, attraverso questi dump di credenziali che ho ottenuto da qualche parte, e vedere quale quelli funzionano.

Trey Guinn
Esattamente. Prima di ricaricare questa pagina Web, proveniva da AWS. Ora, se faccio un aggiornamento, dice “Google Cloud Platform”. E vengo dagli Stati Uniti occidentali; se ti capita di guardare questo dall’Australia, vedrai che provieni dal data center australiano, se lo guardi dall’Europa e colpisci questo sito web vedresti l’Europa.

Ora controlliamo il nostro firewall per applicazioni web (WAF); Ho inserito un piccolo trucco qui in una delle mie note, perché volevo ricordare un comando di iniezione SQL. Quindi forse con questo comando stavo cercando di scaricare la base di record del cliente e vedremo che sono stato bloccato da Cloudflare. Il WAF è attivo e funzionante; quel comando non è mai arrivato a GCP, non ha mai colpito la tua infrastruttura.

E nella nostra dashboard di Cloudflare c’è la cattiva richiesta che è arrivata ed è stata appena bloccata.

E l’ultima cosa che dobbiamo fare per testare la limitazione della frequenza. Ho già impostato un limite di velocità, quindi eseguirò 200 richieste sul nostro sito Web. Ho appena arricciato multicloud.tech e sto cercando il codice di stato HTTP che ritorna. Ed è bloccato.

Come tutte le migrazioni, c’è sempre qualcosa che viene fuori; Jerry venne da noi e disse: “Ehi, il mio sito web ha smesso di funzionare e non riesco più a trovarlo; cosa sta succedendo? ”E se guardiamo, ha questo fantastico vecchio sito di marketing.

E sai cosa: non lo migreremo su GCP, perché verrà ucciso tra circa sei mesi. Ma come è possibile creare un percorso e instradarlo su AWS?

Ho l’origine AWS legacy definita qui come “legacyorigin”, e quello che farò in Cloudflare è creare una cosa chiamata “regola della pagina”.

E in questo modo, possiamo prendere il sito Web www.multicloud.tech/legacy/* , quindi prende tutto sotto il percorso legacy e sovrascrive la risoluzione dell’origine e lo risolve in legacyorigin.multicloud.tech . Ora questo si è effettivamente replicato a livello globale in un gruppo di data center dopo averlo colpito qui.

Asad Baheri
Quindi in questi 10 minuti: abbiamo creato pool, abbiamo impostato regole, in realtà abbiamo mantenuto alcune delle nostre cose legacy di nuovo dov’erano, abbiamo mostrato protezione contro i kiddie degli script e il riempimento delle credenziali. E tutto in 15 minuti, il che è abbastanza sorprendente. Soprattutto per qualcosa che possiamo facilmente prendere un mese.


Originariamente pubblicato su blog.cloudflare.com il 6 ottobre 2017.