Piattaforma edge cloud di Fastly

Back to blog

Follow and Subscribe

Distribuire il Next-Gen WAF di Fastly con Google Cloud Service Extensions per contribuire a proteggere il traffico su larga scala

Alisha Stull

Ingegnere partner, Google Cloud

James Nguyen

Product Manager

Victor Carvajal

Ingegnere software senior

Un'illustrazione di una mano che regge un megafono da cui escono le icone dello scudo e del lucchetto

E se il tuo bilanciatore del carico potesse fermare gli attacchi prima ancora che la tua applicazione web li veda?

Google Cloud Service Extensions ora consente l’ispezione del traffico in tempo reale direttamente all’interno della pipeline del bilanciatore del carico e, se combinato con il Next-Gen WAF di Fastly, permette alle organizzazioni di ottenere una sicurezza di livello enterprise senza sacrificare le prestazioni.

In questo post, esploreremo come funziona questa potente integrazione e perché è importante per le moderne architetture cloud, oltre a illustrare una distribuzione pratica che puoi implementare oggi stesso.

Impatto nel mondo reale: le prestazioni incontrano la protezione

Vediamo cosa significa in pratica con uno scenario realistico:

La configurazione: una piattaforma e-commerce in esecuzione su Google Kubernetes Engine (GKE) che gestisce 10.000 richieste al secondo in più regioni.

La sfida: proteggersi da attacchi di credential stuffing, SQL injection e traffico di bot mantenendo tempi di risposta inferiori a 200 ms.

La soluzione: distribuire il Next-Gen WAF come callout di Service Extension, consentendo:

  • Decisioni di sicurezza a latenza zero a livello di bilanciatore del carico

  • Scalabilità automatica con l’infrastruttura GKE esistente 

  • Distribuzione regionale per prestazioni ottimali

  • Configurazione fail-open per mantenere la disponibilità durante la manutenzione dell’agente

Come funziona il Next-Gen WAF di Fastly con Google Cloud Service Extensions

Google Cloud Service Extensions offre due modi per inserire logica personalizzata: plug-in e callout.

Callouts consentono di usare Cloud Bilanciamento del carico per effettuare chiamate gRPC Envoy ai servizi Google Cloud e ai servizi gestiti dall’utente durante l’elaborazione dei dati.

Il Next-Gen WAF di Fastly può essere eseguito come server gRPC generico su VM di calcolo gestite dall’utente, su pod GKE in GKE multi-cloud o in ambienti on-premise.

Approfondimento sull’implementazione: da zero a protetto

L’integrazione sfrutta il protocollo di elaborazione esterna (ExtProc) di Envoy tramite gRPC, consentendo al WAF di ispezionare il traffico e intervenire nelle fasi critiche:

1. REQUEST_HEADERS: analizzare le intestazioni delle richieste in arrivo rispetto alla threat intelligence

2. REQUEST_BODY: trasmettere in streaming e ispezionare i dati del payload per rilevare contenuti dannosi 

3. RESPONSE_HEADERS: monitorare le risposte in uscita per individuare eventuali perdite di dati

Questa capacità di ispezione granulare consente di identificare e bloccare le minacce prima ancora che raggiungano il backend dell’applicazione.

La distribuzione da zero prevede la creazione e la configurazione di un application bilanciatore del carico che supporti le estensioni.

Per distribuire un servizio backend di callout usando l’agente Next-Gen WAF, puoi usare la nostra immagine docker pronta all’uso.  Negli snippet del terminale qui sotto, creeremo un’istanza VM per ospitare, configurare e distribuire l’agente Next-Gen WAF nella rete dei Load Balancer.

Informazioni più dettagliate sono disponibili nel sito di documentazione di Fastly.

gcloud compute instances create callouts-vm \
 --zone=$ZONE \
 --network=lb-network \
 --subnet=backend-subnet \
 --machine-type=e2-medium \
 --image-family=cos-stable \
 --image-project=cos-cloud \
 --tags=allow-ssh,load-balanced-backend \
 --metadata-from-file=startup-script=startup-script-tls.sh
#!/bin/bash

# Create certificate directory
mkdir -p /etc/ssl/certs/sigsci

# Generate self-signed certificates for the gRPC service
openssl req -x509 -newkey rsa:4096 \
 -keyout /etc/ssl/certs/sigsci/key.pem \
 -out /etc/ssl/certs/sigsci/cert.pem \
 -days 365 -nodes \
 -subj "/C=US/ST=CA/L=SF/O=Fastly/CN=ext11.com"

# Set proper permissions for the sigsci user inside the container
chmod 644 /etc/ssl/certs/sigsci/key.pem
chmod 644 /etc/ssl/certs/sigsci/cert.pem

# Start Signal Sciences agent with TLS configuration
docker run -d \
 --name sigsci-agent \
 --restart unless-stopped \
 -p 443:443 \
 -v /etc/ssl/certs/sigsci:/etc/ssl/certs/sigsci:ro \
 -e SIGSCI_ACCESSKEYID=<YOUR ACCESS KEY> \
 -e SIGSCI_SECRETACCESSKEY=<YOUR SECRET KEY> \
 -e SIGSCI_ENVOY_GRPC_ADDRESS=0.0.0.0:443 \
 -e SIGSCI_ENVOY_EXTPROC_ENABLED=true \
 -e SIGSCI_ENVOY_GRPC_CERT=/etc/ssl/certs/sigsci/cert.pem \
 -e SIGSCI_ENVOY_GRPC_KEY=/etc/ssl/certs/sigsci/key.pem \
 -e SIGSCI_DEBUG_LOG_VERBOSITY=3 \
  signalsciences/sigsci-agent:latest

# Log startup completion
echo "Signal Sciences agent with TLS started at $(date)" >> /var/log/startup.log

Pronto per la distribuzione?

L’integrazione del Next-Gen WAF di Fastly con Google Cloud Service Extensions offre un percorso convincente per le organizzazioni che prendono sul serio la sicurezza cloud. La combinazione di protezione dalle minacce in tempo reale, distribuzione cloud-native e prestazioni su scala Enterprise rende questa architettura adatta agli ambienti di produzione più esigenti.

Il futuro della sicurezza delle applicazioni web è già qui ed è profondamente integrato con la tua infrastruttura cloud. È il momento di fare il passo.

Vuoi saperne di più? Consulta la nostra guida completa alla configurazione per istruzioni dettagliate sull’implementazione e suggerimenti per la risoluzione dei problemi.

Pronto per iniziare?

Contattaci oggi