2FA WordPress per Agenzie: Guida all’Autenticazione a Due Fattori [2026]

4 settembre 202610 minSicurezza

L’autenticazione a due fattori (2FA) su WordPress è il singolo controllo che ferma la maggior parte degli attacchi basati su credenziali rubate. Nella nostra esperienza su 50+ siti gestiti con AgencyPilot, i tentativi di brute force su wp-login.php superano le 200.000 tentativi al mese su un sito medio. Senza 2FA, basta una password leakata da un altro servizio e il sito è compromesso. Con 2FA, l’attaccante si ferma al secondo fattore. Questa guida mostra come configurare il 2FA su tutti i tuoi siti WordPress in modo professionale, quale plugin scegliere e come forzarlo per ogni utente admin.

TL;DR: 2FA WordPress per agenzie

  • Il 2FA blocca il 99.9% degli attacchi basati su credenziali rubate (fonte: Microsoft Research)
  • Usa TOTP con app authenticator (Google Authenticator, Authy, 1Password) come metodo primario
  • Forza 2FA per tutti i ruoli Administrator e Editor, non solo per te
  • Plugin consigliati: WP 2FA per setup guidato, Wordfence Login Security se hai già Wordfence installato
  • Backup codes obbligatori: se perdi il telefono, senza codici di backup sei chiuso fuori
  • Le chiavi hardware (YubiKey) sono l’opzione più forte per siti ad alto rischio

Perché il 2FA WordPress è non negoziabile per le agenzie

Se gestisci 30 siti WordPress per clienti, hai 30 pannelli admin esposti a internet. Ognuno è un punto di ingresso potenziale. Gli attacchi di credential stuffing sono diventati la prima causa di compromissione WordPress: gli attaccanti prendono combinazioni utente/password leakate da altri breach e le provano su wp-login.php in automatico, migliaia di volte al minuto.

La password non basta più. Anche se istruisci i tuoi clienti a usare password complesse, non controlli cosa succede se usano la stessa password su un altro servizio che viene violato. Il 2FA rompe questa catena: anche con la password corretta, l’attaccante ha bisogno del secondo fattore (il telefono, una chiave hardware, un codice temporaneo).

Nella nostra esperienza, il 2FA è la differenza tra “qualcuno ha provato a entrare” e “qualcuno è entrato e ha cifrato tutti i contenuti”. La prima situazione è un log da ignorare. La seconda è una chiamata di emergenza alle 3 di notte.

Metodi 2FA per WordPress: quale scegliere

TOTP (Time-based One-Time Password) — il metodo raccomandato

TOTP è lo standard aperto alla base di Google Authenticator, Authy, 1Password, Microsoft Authenticator e FreeOTP. Un codice a 6 cifre cambia ogni 30 secondi sul telefono. Non serve connessione internet sul dispositivo, solo l’app e il segreto condiviso con il server WordPress.

È il metodo che configuriamo di default su tutti i siti che gestiamo. Funziona offline sul telefono del cliente, non costa nulla e ogni plugin 2FA per WordPress lo supporta. Il segreto TOTP è un QR code che scanni una volta durante il setup. Da quel momento, il telefono genera codici indipendentemente.

Chiavi hardware di sicurezza (FIDO2/U2F) — la protezione più forte

Le chiavi hardware come YubiKey o Google Titan implementano lo standard FIDO2/WebAuthn. Sono resistenti al phishing perché verificano il dominio del sito prima di rispondere a una richiesta di autenticazione. Se un attaccante crea una pagina di login falsa che imita il tuo wp-login.php, la chiave hardware rifiuta di autenticarsi perché il dominio non coincide.

Per agenzie che gestiscono siti ad alto valore (ecommerce, PA, financial), le chiavi hardware sono l’investimento che vale. Una YubiKey costa circa 50€, ed elimina la categoria di attacchi più difficile da difendere: il social engineering dell’utente finale.

Passkey — la direzione del 2026

Le passkey sono il nuovo standard WebAuthn che sostituisce sia la password sia il secondo fattore con un’unica autenticazione biometrica (impronta, FaceID) o PIN del dispositivo. Diversi plugin WordPress hanno aggiunto il supporto passkey tra fine 2025 e inizio 2026. È la direzione verso cui l’industria si sta muovendo: Google, Apple e Microsoft hanno integrato le passkey nei loro sistemi operativi.

Per ora, configuriamo le passkey come metodo aggiuntivo dove il dispositivo del cliente lo supporta. Il TOTP rimane il fallback universale.

Email e SMS — solo come backup

I codici via SMS sono vulnerabili agli attacchi di SIM-swapping, dove l’attaccante convince il operatore telefonico a trasferire il numero su una nuova SIM. I codici via email dipendono dalla sicurezza della casella email del cliente, che spesso è meno protetta del sito WordPress stesso.

Usa questi metodi solo come backup di emergenza, mai come 2FA primario. Se il cliente perde il telefono, un codice via email è meglio di restare chiusi fuori, ma non deve essere il primo fattore.

Plugin 2FA WordPress a confronto

Plugin Metodi supportati Forzatura per ruolo Backup codes Gratis Nota
WP 2FA TOTP, Email Sì, con grace period configurabile Sì Sì (Pro a 49€/anno) Setup wizard guidato, migliore per agenzie con molti siti
Wordfence Login Security TOTP Sì Sì Sì Include già limit login attempts e CAPTCHA. Ideale se usi Wordfence
Two-Factor (plugin ufficiale) TOTP, Email, Backup codes No (setup manuale per utente) Sì Sì Leggero, codice pulito. Manca l’enforcement centralizzato
miniOrange 2FA TOTP, SMS, Email, QR code Sì (Pro) Sì Freemium Tante funzioni ma il piano free è limitato

Nella nostra agenzia usiamo WP 2FA come standard. Il setup wizard ti porta per mano attraverso la configurazione, e puoi forzare il 2FA per ruolo con un grace period di 3-7 giorni. Questo significa che quando aggiungi un nuovo admin cliente, ha una settimana per configurare il 2FA prima di essere bloccato. Nessuna chiamata di supporto, nessun panico.

Configurare WP 2FA su WordPress: procedura completa

  1. Installa WP 2FA dal repository WordPress: Plugin > Aggiungi nuovo > cerca “WP 2FA” > Installa > Attiva. Oppure via WP-CLI:

    wp plugin install wp-2fa --activate
  2. Configura il metodo 2FA globale dal menu WP 2FA > Settings. Seleziona TOTP come metodo primario e Email come backup. Seleziona i ruoli che devono avere il 2FA obbligatorio: Administrator, Editor, e eventualmente Shop Manager se gestisci WooCommerce.
  3. Configura il grace period: imposta 7 giorni per nuovi utenti. Durante il grace period, l’utente vede un banner in admin che lo invita a configurare il 2FA. Scaduto il periodo, l’accesso viene bloccato fino al completamento del setup.
  4. Genera i codici backup durante il setup. WP 2FA ti mostra 10 codici monouso. Conservali in un password manager (1Password, Bitwarden). Ogni codice funziona una volta sola. Se perdi il telefono, questi codici sono l’unico modo per rientrare senza chiamare supporto.
  5. Verifica il setup sloggando e riloggando. Inserisci username e password, poi ti verrà chiesto il codice TOTP dall’app authenticator. Se funziona, il 2FA è attivo.
  6. Configura i clienti: quando crei un nuovo account admin per un cliente, il plugin invia una email con le istruzioni per il setup. Il cliente scansiona il QR code con la sua app e il 2FA è configurato in 2 minuti.

Forzare 2FA per tutti gli amministratori

Configurare il 2FA sul tuo account non basta. Se un cliente ha un admin con password “admin123” e nessun 2FA, il sito è vulnerabile comunque. La forzatura per ruolo è la funzione che rende il 2FA un requisito, non un’opzione.

In WP 2FA: Settings > 2FA Policy > seleziona “Enforce 2FA for the following roles” > spunta Administrator e Editor > imposta il grace period a 7 giorni. Da quel momento, ogni utente con quei ruoli deve configurare il 2FA entro 7 giorni dal primo login. Scaduto il periodo, l’accesso viene negato fino al completamento.

Per siti con molti utenti, puoi anche nascondere il grace period e richiedere il 2FA immediatamente. Lo facciamo sui siti della PA, dove la conformità richiede 2FA dal primo accesso.

2FA e WP-CLI: configurazione bulk per agenzie

Se gestisci 30 siti, configurare il 2FA uno per uno dal pannello admin è fattibile ma noioso. WP-CLI non supporta direttamente il setup 2FA, ma puoi verificare lo stato su tutti i siti con uno script:

#!/bin/bash
# Verifica stato 2FA su tutti i siti gestiti
SITI=("sito1.com" "sito2.com" "sito3.com")
for SITO in "${SITI[@]}"; do
  echo "=== $SITO ==="
  wp plugin list --path="/var/www/$SITO" | grep -i "2fa\|two-factor\|wordfence"
  wp user list --path="/var/www/$SITO" --role=administrator --fields=user_login,display_name
done

Questo script ti dice quali plugin 2FA sono installati su ogni sito e quali admin sono presenti. Per i siti senza 2FA, installi il plugin con wp plugin install wp-2fa --activate e configuri la policy globale via wp option update.

Casi limite e recovery del 2FA

Cliente perde il telefono

Senza codici backup, il cliente è chiuso fuori dal suo sito. Come agenzia, devi avere un piano di recovery. Con WP 2FA, un super admin può disabilitare il 2FA per un utente dal pannello: Users > seleziona l’utente > “Disable 2FA”. L’utente riconfigura il 2FA al prossimo login.

Per questo motivo, i codici backup vanno conservati nel password manager dell’agenzia, non solo in quello del cliente. Se il cliente perde sia il telefono sia i codici backup, tocca a te intervenire.

2FA con XML-RPC e REST API

Il 2FA protegge il login via browser, ma le richieste XML-RPC e le chiamate REST API usano application passwords, non il 2FA. Le application passwords sono generate da WordPress e bypassano il 2FA (è il design, non un bug). Se un attaccante ruba un’application password, il 2FA non lo ferma.

Per questo motivo, disabilita XML-RPC se non lo usi (la maggior parte dei siti non ne ha bisogno nel 2026) e ruota le application passwords ogni 90 giorni. Puoi farlo da Users > Profile > Application Passwords > “Revoke” su ogni password vecchia.

2FA e WooCommerce

Per i siti ecommerce, il 2FA sull’admin è obbligatorio. Ma i clienti che fanno acquisti non hanno account admin: il 2FA non si applica al checkout. Quello che puoi fare è forzare il 2FA per i ruoli Shop Manager e Customer se gestisci un WooCommerce B2B. WP 2FA supporta l’enforcement per questi ruoli nella versione Pro.

Checklist 2FA per agenzie WordPress

  • Installa WP 2FA (o Wordfence Login Security) su ogni sito gestito
  • Configura TOTP come metodo primario, email come backup
  • Forza 2FA per Administrator e Editor con grace period di 7 giorni
  • Genera e conserva i codici backup nel password manager dell’agenzia
  • Disabilita XML-RPC sui siti che non lo usano
  • Verifica lo stato 2FA mensilmente con script WP-CLI su tutti i siti
  • Documenta la procedura di recovery per i clienti che perdono il telefono
  • Considera chiavi hardware per siti ad alto valore (ecommerce, PA, financial)
  • Ruota le application passwords ogni 90 giorni

FAQ: 2FA WordPress per agenzie

Il 2FA rallenta il login dei clienti?

No, se configuri TOTP. Il cliente apre l’app authenticator (che è già sul telefono), legge 6 cifre, le digita. Totale: 5 secondi in più rispetto al login senza 2FA. Il 2FA via email è più lento (dipende dalla velocità del server SMTP), ma lo usi solo come backup.

Posso forzare il 2FA solo per alcuni utenti?

Sì. WP 2FA permette di configurare l’enforcement per ruolo. Selezioni Administrator e Editor, e gli altri ruoli (Author, Contributor, Subscriber) restano senza 2FA. In alternativa, puoi forzare il 2FA per utenti singoli dal profilo utente.

Cosa succede se il plugin 2FA viene disinstallato per errore?

WordPress disattiva il plugin ma non rimuove le impostazioni. Se reinstalli e riattivi il plugin, la configurazione 2FA è ancora lì. Se il plugin viene eliminato completamente (non solo disattivato), il 2FA viene rimosso e gli utenti tornano al login con sola password. Per questo motivo, limita i permessi di disinstallazione plugin ai soli super admin.

Il 2FA funziona con il login SSO?

Dipende dal plugin SSO. Se usi un SSO che bypassa wp-login.php (come SAML o OAuth), il 2FA del plugin WordPress non viene attivato perché il login avviene su un’infrastruttura esterna. In quel caso, il 2FA va configurato sul provider SSO (Google Workspace, Microsoft Entra ID, Okta), non su WordPress.

Gestisci i siti WordPress dei tuoi clienti?

AgencyPilot ti dà report AI, uptime monitoring, backup e portale clienti in un’unica dashboard. Gratis per 3 siti.

Prova gratis
Leggi anche
Tutti gli articoli
Tutti gli articoli