Cloudflare Access: Zero Trust per le tue applicazioni interne
Cloudflare Access è il prodotto di punta della suite Zero Trust di Cloudflare per controllare l'accesso a qualsiasi applicazione web aziendale senza dover ricorrere a VPN. Sostituisce il modello perimetrale tradizionale con autenticazione identity-based per ogni richiesta: l'utente deve dimostrare la propria identità con un provider SSO (Google, Microsoft, Okta, SAML) prima che la richiesta raggiunga l'origine. Gratuito fino a 50 utenti, è la soluzione ideale per PMI che vogliono adottare Zero Trust senza investimenti enterprise.
Architettura Zero Trust
Il modello classico VPN assume che la rete interna sia sicura: una volta dentro, l'utente accede a tutto. Zero Trust assume il contrario: never trust, always verify. Ogni richiesta verso l'applicazione viene autenticata e autorizzata individualmente. Cloudflare Access intercetta le richieste prima dell'origine, verifica l'identità dell'utente tramite IdP configurato, controlla che soddisfi la policy (gruppo, device posture, IP, country) e solo allora inoltra la richiesta.
Procedura passo-passo
- Vai sul dashboard Cloudflare e seleziona Zero Trust.
- Configura il team domain (es. tuaazienda.cloudflareaccess.com).
- Vai su Settings → Authentication e aggiungi un'Identity Provider.
- Configura SSO con Google Workspace, Azure AD, Okta o login one-time PIN via email.
- Torna a Access → Applications e clicca Add an application → Self-hosted.
- Inserisci hostname dell'applicazione (es. admin.tuosito.it).
- Aggiungi una policy con Include: emails ending @tuaazienda.it.
- Salva e testa accedendo all'URL: dovrebbe apparire la schermata di login Cloudflare.
- Dopo l'autenticazione viene rilasciato un cookie CF_Authorization JWT.
- Configura sul backend la verifica del JWT per evitare bypass.
Policy avanzate
Le policy supportano logica Include/Exclude/Require basata su: indirizzo email, dominio email, gruppi IdP, country geo, IP/subnet, ASN, device posture (versione OS, antivirus attivo, disco cifrato), data e ora. Una tipica policy multi-criterio: Include: gruppo IT, Require: country IT/EU + WARP client connesso, Exclude: IP blacklist interna. La granularità permette di rispettare compliance GDPR, NIS2 e ISO 27001.
Service tokens per integrazioni automatiche
Per integrazioni server-to-server (cron job, webhook esterni, CI/CD) Access supporta Service Tokens: coppie Client ID + Client Secret che bypassano l'autenticazione interattiva. Vengono passati via header CF-Access-Client-Id e CF-Access-Client-Secret. Sono utili per applicazioni che non possono gestire OAuth o per chiamate API automatizzate. Ogni token può avere policy dedicate e scadenza.
Errori comuni e come risolverli
- Loop di redirect dopo login: il cookie CF_Authorization non viene impostato correttamente. Verifica che il dominio applicazione sia sotto la zona Cloudflare e nei nameserver.
- JWT non verificato sul backend: l'origine accetta richieste senza JWT. Implementa la verifica con jwks endpoint Cloudflare.
- SSO non funziona: redirect URI non configurato lato IdP. Aggiungi https://tuoteam.cloudflareaccess.com/cdn-cgi/access/callback.
- User locked out dopo cambio policy: la nuova policy esclude utenti legittimi. Aggiungi una bypass policy temporanea.
- API client senza browser non possono autenticarsi: usa Service Tokens dedicati.
WARP client per device posture
Per policy basate su device posture (es. solo da macchine corporate con antivirus aggiornato) installa il WARP client Cloudflare sui device aziendali. Questo invia segnali sul dispositivo (OS version, disco cifrato, presenza di file specifici) che Access può valutare nelle policy. È la base per implementare Zero Trust Network Access (ZTNA) completo, indipendente dalla rete fisica dell'utente.
Pricing
Il piano Zero Trust Free include 50 utenti, accesso a tutte le funzionalità Access base, integrazione SSO illimitata. Sopra i 50 utenti il piano Zero Trust Standard costa 7 dollari/utente/mese. Per organizzazioni grandi esistono Enterprise plan con SLA dedicato. Confrontato con soluzioni concorrenti (Okta, Twingate, Tailscale) il rapporto qualità/prezzo è eccellente, soprattutto per chi già usa Cloudflare per DNS/CDN.
Domande frequenti
D: Access funziona senza Cloudflare Tunnel?
R: Sì, basta che il dominio sia su Cloudflare. Tunnel è complementare per non esporre IP origine.
D: Posso proteggere applicazioni non-HTTP?
R: Sì con Access for Infrastructure (SSH, RDP, SMB) abilitato dal team.
D: I log sono disponibili?
R: Sì, ogni richiesta e decisione è loggata. Integrabili con SIEM via Logpush.
D: Cosa succede se Cloudflare ha un'outage?
R: L'accesso alle applicazioni protette è interrotto. Per HA esiste mTLS fallback configurabile.
Considerazioni operative finali
Quando applichi una configurazione di questo tipo in produzione è sempre buona norma seguire un'approccio incrementale: parti con un test su staging, monitora gli effetti per qualche giorno, poi estendi gradualmente al traffico live. La rete Cloudflare elabora ogni cambiamento in pochi secondi a livello globale, quindi le modifiche sono effettive quasi immediatamente, ma gli effetti collaterali su utenti reali possono richiedere ore o giorni per emergere. Annota nel runbook interno data, motivo e parametri di ogni modifica significativa. Una documentazione precisa accelera enormemente il troubleshooting futuro e facilita il passaggio di consegne tra membri del team.
Vale anche la pena ricordare che Cloudflare aggiorna frequentemente l'interfaccia del dashboard e le posizioni delle voci di menu. La logica e le funzionalità descritte in questa guida restano valide, ma il percorso esatto per raggiungere ogni opzione può variare leggermente nel tempo. In caso di difficoltà a trovare una specifica voce, utilizza la barra di ricerca interna del dashboard oppure consulta la documentazione ufficiale aggiornata. La community Cloudflare sul forum ufficiale e su Stack Overflow è inoltre molto attiva e offre spesso risposte rapide a problemi specifici di configurazione.
Per progetti complessi che coinvolgono più servizi Cloudflare contemporaneamente (CDN, Workers, WAF, Access, R2) conviene strutturare la configurazione come codice tramite Terraform o Pulumi. Questo permette versioning, code review, rollback atomici e deploy ripetibili tra environment. Per team con esigenze più semplici la gestione manuale via dashboard resta perfettamente valida, soprattutto se accompagnata da una checklist scritta delle impostazioni applicate. La scelta dell'approccio dipende dalle dimensioni del progetto e dal grado di automazione desiderato. L'importante è essere consistenti e mantenere tracciabilità delle modifiche effettuate.
Hai bisogno di aiuto?
Se vuoi configurare Cloudflare per il tuo sito con il team di G Tech Group, scrivici tramite il modulo di contatto.