Autenticazione a due fattori su WordPress: perché il 2FA è l'unico vero upgrade di sicurezza

Una password forte non basta se l'attaccante la ruba con il phishing. Il 2FA è l'unico intervento che blocca il 90% degli attacchi account-based. Come configurarlo su WordPress, quali plugin usare, e perché il 2FA per SMS è meno sicuro di quello con app.
Se dovessimo scegliere un solo intervento di sicurezza da fare su un sito WordPress, sarebbe questo: attivare il 2FA sull'account amministratore. Non il WAF, non la scansione malware, non il backup — il 2FA. Il motivo è semplice: la maggior parte degli attacchi che vediamo non sfrutta vulnerabilità del core o dei plugin. Sfrutta credenziali rubate. Phishing, password riutilizzate, breach di altri siti dove l'utente ha usato la stessa email e password. Il 2FA rende tutte queste vie inutilizzabili: anche con la password corretta, l'attaccante non entra senza il secondo fattore.
I numeri sono chiari: secondo gli studi di settore, il 2FA blocca tra l'80% e il 99% degli attacchi account-based. Non è il 100% — un attacco mirato con SIM swapping può bypassare il 2FA via SMS — ma è l'intervento con il miglior rapporto costo-benefito che esista. Costa zero (i plugin sono gratuiti), richiede cinque minuti di configurazione, e riduce drasticamente la superficie d'attacco. Eppure, la maggior parte dei siti WordPress non lo ha attivo.
Quale 2FA scegliere (e quale evitare)
Ci sono tre tipi di 2FA su WordPress: via app (Google Authenticator, Authy, 1Password), via SMS, e via chiave hardware (YubiKey). Il 2FA via SMS è il meno sicuro: è vulnerabile al SIM swapping (l'attaccante convince il operatore a trasferire il numero su una nuova SIM) e all'intercettazione. Google e Microsoft lo hanno deprecato per i loro account. Il 2FA via app è la scelta consigliata: genera un codice TOTP (Time-based One-Time Password) che cambia ogni 30 secondi e che non transita per nessuna rete. La chiave hardware è la più sicura ma richiede hardware dedicato.
Per WordPress, i plugin più affidabili sono due: Wordfence Login Security (se hai già Wordfence) e Two Factor (del team di Automattic, più leggero). Entrambi supportano TOTP via app. La configurazione con il plugin Two Factor:
// Dopo aver installato il plugin Two Factor,
// forz il 2FA per tutti gli amministratori via functions.php
add_action( 'init', function() {
// Verifica che il plugin sia attivo
if ( ! class_exists( 'Two_Factor_Core' ) ) {
return;
}
// Forza il 2FA per gli utenti con ruolo amministratore
add_filter( 'two_factor_enabled_providers_for_user', function( $providers, $user_id ) {
$user = get_userdata( $user_id );
if ( $user && in_array( 'administrator', $user->roles ) ) {
// Assicurati che TOTP sia tra i provider abilitati
if ( ! in_array( 'Two_Factor_Totp', $providers ) ) {
$providers[] = 'Two_Factor_Totp';
}
}
return $providers;
}, 10, 2 );
} );Il backup dei codici di recupero
Il 2FA ha un punto debole: se perdi il telefono, resti fuori dal tuo stesso sito. Per questo ogni plugin serio genera codici di recupero — codici monouso da usare quando non hai il telefono. Stampali, salvali in un password manager, non lasciarli solo sul telefono. Se perdi il telefono e non hai i codici di recupero, l'unico modo di rientrare è disabilitare il 2FA nel database — e se non hai accesso al database, sei fuori.
Genera e salva i codici di recupero immediatamente dopo l'attivazione:
# Verifica che un utente abbia il 2FA attivo (WP-CLI)
wp user get admin@example.com --fields=user_login,two_factor_enabled
# Se devi disabilitare il 2FA per un utente bloccato fuori
# (SOLO in emergenza, con accesso SSH al server)
wp user meta delete admin@example.com two_factor_totp_enabled
wp user meta delete admin@example.com two_factor_enabled_providers
# Verifica che l'utente possa accedere dopo il reset
wp user get admin@example.com --fields=user_login,rolesPerché il 2FA non basta per tutto
Il 2FA protegge il login — ma non protegge tutto il resto. Un attaccante che sfrutta una vulnerabilità RCE di un plugin non ha bisogno del login: entra dal buco del plugin, non dalla porta d'ingresso. Il 2FA è necessario ma non sufficiente. Va combinato con: WAF (che blocca le richieste malevole prima che raggiungano WordPress), aggiornamenti tempestivi (che chiudono le vulnerabilità), e backup verificati (che ti permettono di ripristinare se tutto il resto fallisce).
Il 2FA è il primo intervento, non l'unico. Ma è quello che dà il ritorno più immediato: cinque minuti di configurazione che eliminano la maggior parte degli attacchi che vediamo ogni settimana. Se non hai ancora attivato il 2FA sul tuo sito WordPress, fermati e fallo ora. Tutto il resto può aspettare; questo no.
Verifica la sicurezza del tuo WordPress prima che diventi un'emergenza.
Un audit di sicurezza individua le falle, i plugin vulnerabili e le configurazioni deboli prima che qualcuno le sfrutti.
Articoli correlati

Two-factor authentication WordPress: perché la password non basta più
Leggi
Plugin di sicurezza WordPress: quali servono davvero, quali sono sovrapposti e perché tre plugin fanno meno danni di uno
Leggi
