← Back to desktop ← Return to Blog

Autenticazione a due fattori (2FA) per web app

Una password, da sola, non basta più. Le credenziali rubate restano la prima causa di accessi non autorizzati alle applicazioni aziendali, e nessuna policy di complessità protegge davvero da phishing, riuso delle password o data breach di terze parti. Per questo, quando sviluppo una web app su misura, l’autenticazione a due fattori non è un extra opzionale: è parte integrante dell’architettura di sicurezza. In questo articolo spiego cos’è il 2FA, quali metodi implemento e come si inserisce nell’infrastruttura completa di un progetto.

Cos’è l’autenticazione a due fattori e perché conta per la tua azienda

L’autenticazione a due fattori (2FA, o più in generale MFA, autenticazione a più fattori) richiede all’utente di dimostrare la propria identità combinando due elementi di categorie diverse: qualcosa che sa (la password), qualcosa che possiede (lo smartphone, una chiave hardware) o qualcosa che è (impronta, riconoscimento facciale).

Il vantaggio è semplice: anche se un malintenzionato ruba o indovina la password, senza il secondo fattore l’accesso resta bloccato. Per un’azienda significa proteggere dati dei clienti, gestionali interni, portali e pannelli di amministrazione da intrusioni che, altrimenti, potrebbero costare multe GDPR, perdita di fiducia e fermo operativo. Quando una web app gestisce informazioni sensibili, il 2FA non è solo buona pratica: spesso è un requisito di conformità.

I metodi di autenticazione a due fattori che implemento

Non esiste un unico 2FA. La scelta del metodo dipende dal tipo di utenti, dal livello di rischio e dall’esperienza d’uso che vogliamo offrire. Ecco quelli che integro più spesso nelle web app che sviluppo:

  • TOTP (app di autenticazione): codici a tempo generati da app come Google Authenticator, Authy o Aegis. È lo standard più diffuso, gratuito per l’utente, funziona offline e non dipende da SMS. Lo implemento seguendo lo standard aperto RFC 6238.
  • Passkey e WebAuthn/FIDO2: il futuro dell’autenticazione. Usano la crittografia a chiave pubblica e il riconoscimento biometrico del dispositivo (impronta, volto) o chiavi hardware come YubiKey. Sono resistenti al phishing per progettazione e offrono l’esperienza più fluida.
  • OTP via email: codici monouso inviati per email. Più semplice da adottare per utenti meno tecnici, utile come secondo fattore di base o per il recupero account.
  • SMS: ancora richiesto in alcuni contesti, lo integro quando serve pur consigliando alternative più sicure, dato che gli SMS sono più esposti a intercettazioni e SIM swapping.

In quasi tutti i progetti prevedo anche i codici di recupero monouso: una rete di sicurezza che evita di bloccare fuori un utente che ha perso il telefono, senza compromettere la protezione complessiva.

Come integro il 2FA in una web app su misura: lo stack tecnico

Quando costruisco l’autenticazione di una web app, parto da un’architettura solida e poi vi aggiungo il secondo fattore in modo trasparente. Lo stack che uso più spesso comprende un frontend in React con TypeScript, un backend in Node.js (o in altri linguaggi a seconda del progetto) e un database relazionale come PostgreSQL o MySQL per gestire utenti, sessioni e segreti 2FA cifrati.

Sul piano implementativo, alcuni principi che applico sempre:

  • Segreti cifrati a riposo: la chiave TOTP di ogni utente viene salvata cifrata nel database, mai in chiaro.
  • Sessioni e token gestiti correttamente: uso token con scadenza, rotazione e protezione contro furto di sessione, così il 2FA non viene aggirato dopo il primo accesso.
  • Rate limiting e protezione anti brute-force: limito i tentativi di inserimento del codice per impedire attacchi automatizzati.
  • Flusso di enrollment chiaro: l’attivazione del 2FA per l’utente deve essere guidata, con QR code per le app TOTP e messaggi comprensibili, perché la sicurezza che frustra l’utente viene disattivata.
  • Ruoli e policy differenziate: posso rendere il 2FA obbligatorio per gli amministratori e gli account a maggior rischio, e opzionale o incentivato per gli altri.

Il 2FA si inserisce naturalmente nel più ampio sistema di gestione di utenti, ruoli e permessi che progetto per ogni applicazione: autenticazione e autorizzazione lavorano insieme per garantire che ogni persona acceda solo a ciò che le compete.

Sicurezza a più livelli: dove vive davvero la protezione

Come ingegnere di sistema, so che il 2FA è solo un tassello. Una web app è davvero sicura quando lo è anche l’infrastruttura che la ospita. Per i progetti che gestisco end-to-end mi occupo dell’intera catena: traffico cifrato con certificati SSL/TLS, applicazioni isolate in container Docker orchestrati con Portainer, reverse proxy con Nginx o Apache, e hosting su server che amministro direttamente (HestiaCP, soluzioni self-hosted).

Questo approccio integrato — sviluppo e infrastruttura nelle stesse mani — fa la differenza. Posso applicare header di sicurezza, aggiornamenti regolari, backup e disaster recovery, e configurare il 2FA non solo nell’app, ma anche negli accessi amministrativi al server stesso. Le mie web app come apicco.app, indelio.eu e tandemops.app sono costruite e gestite proprio con questa filosofia: sicurezza pensata a ogni livello, dal codice al server.

Cosa dimostra tutto questo per il tuo progetto

Implementare bene l’autenticazione a due fattori richiede competenze che vanno oltre il “far funzionare il login”: conoscenza degli standard crittografici, attenzione all’esperienza utente, gestione corretta di sessioni e dati sensibili, e una visione completa dell’infrastruttura. È esattamente il tipo di lavoro che svolgo quando sviluppo web app su misura per le aziende: prodotti reali, costruiti per durare e per proteggere chi li usa.

Se la tua azienda gestisce dati che meritano protezione — e oggi vale per quasi tutte — il 2FA dovrebbe essere parte del progetto fin dall’inizio, non una toppa applicata dopo.

Vuoi una web app sicura e su misura?

Sviluppo e gestisco applicazioni web complete per aziende in Italia e in Europa: dall’idea al prodotto, dal frontend all’infrastruttura, con la sicurezza integrata in ogni fase. Se stai pensando a una nuova web app, a un portale clienti o a un gestionale, e vuoi che sia protetto con autenticazione a due fattori e best practice moderne, parliamone.

Scopri i miei progetti su cornelcaba.com e contattami direttamente dalla pagina contatti: valuto insieme a te la soluzione giusta per la tua azienda.

Cornel Caba — signature