Come proteggere il back office PrestaShop con la 2FA

Guida per commercianti: attivare la 2FA del back office PrestaShop, scegliere i profili obbligatori, gestire i dispositivi attendibili e recuperare un account bloccato.

Comment sécuriser le back-office PrestaShop avec la 2FA

Una password condivisa, un link di phishing, un vecchio fornitore che conserva l'accesso: una sola fuga apre ordini, prezzi, file dei clienti e creazione di account amministratore. L'autenticazione a due fattori aggiunge un codice temporaneo dopo la password. Questa guida mostra come attivarla con Google Authenticator o un'altra app TOTP, quali profili rendere obbligatori, come evitare un codice a ogni accesso e come recuperare un account quando sparisce un telefono.

La 2FA è nativa in PrestaShop e a chi serve questo modulo?

Nelle versioni supportate il back office chiede solo la password; questo modulo aggiunge il passo del codice TOTP. Funziona su PrestaShop 1.7.8, 8.0+ e 9.0+ con un solo archivio e richiede PHP 7.4 minimo.

È pensato per negozi in cui più persone aprono l'amministrazione: dipendenti, soci, un'agenzia, un freelance che lavora sul tema o sui moduli. Aiuta anche un negozio gestito da una sola persona che lavora da un portatile o da una rete condivisa, dove una password rubata basta per prendere il controllo.

Puoi rimandare se il back office è raggiungibile solo via VPN e sei l'unico utente. Il modulo non sostituisce quel confine: aggiunge una barriera quando cade la password.

Cosa non fa il modulo

Non limita i tentativi di password: il blocco riguarda i codici errati del secondo passo. Su PrestaShop 1.7, tre vecchi script autonomi (backup.php, pdf.php e get-file-admin.php) sfuggono al controllo; la pagina di configurazione li segnala e invita a eliminarli. Il modulo non invia SMS né e-mail, non blocca il negozio e non sostituisce un firewall applicativo. Protegge solo il back office. Per il resto, Security Audit Pro controlla la sicurezza del negozio, e Magic Login sostituisce la password del cliente con un codice a 6 cifre o un link.

Come si attiva la 2FA con Google Authenticator, passo per passo?

Apri La mia autenticazione a due fattori nel menu del profilo, clicca su Configura, inquadra il codice QR, inserisci il codice mostrato dall'app e conserva i codici di recupero.

  1. Installa un'app di autenticazione sul telefono.
  2. Inquadra questo codice QR con l'app. Sul telefono, Apri nell'app su questo telefono evita la scansione; altrimenti digita la chiave mostrata sotto il codice QR.
  3. Inserisci il codice a 6 cifre mostrato dall'app, poi clicca su Attiva l'autenticazione a due fattori.
  4. Copia, scarica o stampa i 10 codici di recupero, poi clicca su Ho salvato i miei codici di recupero; subito dopo clicca su Continua. Non verranno più mostrati.

Il modulo segue TOTP (RFC 6238): un codice a 6 cifre rinnovato ogni 30 secondi e generato offline. Vanno bene Google Authenticator, Microsoft Authenticator, Authy, 1Password e Bitwarden, come qualsiasi app TOTP. Un codice è accettato una sola volta e un telefono sfasato di un periodo di 30 secondi è ancora tollerato.

Le impostazioni sono in Moduli > Gestione moduli > Configura. Lo stesso riquadro contiene i pulsanti «Apri la dashboard» e «La mia autenticazione a due fattori». Un super amministratore attiva la propria 2FA prima di reimpostare un collega: il modulo la usa per confermare chi agisce. La documentazione descrive ogni impostazione.

La pagina Configura di un negozio con licenza: due pulsanti portano al pannello e all'autenticazione a due fattori del dipendente.
La pagina Configura di un negozio con licenza: due pulsanti portano al pannello e all'autenticazione a due fattori del dipendente.

Come rendere obbligatoria la 2FA per alcuni profili senza bloccare il team?

Scegli i profili in Obbligatoria per questi profili e imposta un Periodo di tolleranza: ogni dipendente ha quei giorni per installare l'app prima che si apra da sola la pagina di configurazione della 2FA.

Il periodo va da 0 a 365 giorni (7 per impostazione predefinita) e decorre dal giorno in cui il profilo diventa obbligatorio. In quel periodo un avviso mostra i giorni rimasti e rimanda a Configura ora; la pagina di configurazione mantiene il link Non ora. Alla fine il dipendente non può aprire il back office finché non completa la configurazione. Il valore 0 apre la configurazione alla pagina successiva.

Parti dai profili che toccano pagamenti, moduli, esportazioni o creazione di account, spesso SuperAdmin. Gli altri dipendenti possono attivare la 2FA dal menu senza obbligo. La dashboard, riservata ai super amministratori, conta i dipendenti, i protetti, le configurazioni obbligatorie in attesa e gli account bloccati; l'elenco mostra «Protetto», «Obbligatoria entro il …», «Obbligatoria, da configurare ora» o «Disattivata».

Con la protezione attiva, Reimposta e Sblocca chiedono il tuo codice in un riquadro di conferma, e ogni azione finisce nel registro. Così doti dieci persone senza rincorrerle: la dashboard mostra chi manca.

Come evitare un codice a ogni accesso con i dispositivi attendibili?

Seleziona Ricorda questo dispositivo: quel browser non chiede più il codice per 30 giorni per impostazione predefinita, e una sessione non ricordata resta verificata per 12 ore.

L'opzione «Ricorda un dispositivo per» accetta da 0 a 365 giorni. Ogni dipendente vede i propri dispositivi nella pagina «La mia autenticazione a due fattori» (browser, sistema, ultimo utilizzo, «Valido fino al») e può rimuovere quelli che non usa più. Il limite è di 20 dispositivi per dipendente; Rimuovi tutti i dispositivi svuota l'elenco.

Su un browser non ricordato, l'opzione Richiedi di nuovo il codice dopo fissa la durata della sessione verificata: da 1 a 168 ore (12 per impostazione predefinita). La disconnessione la annulla. Il cookie del dispositivo attendibile è HttpOnly e SameSite=Lax e resta indipendente dall'indirizzo IP, salvo che tu attivi Collega un dispositivo attendibile al suo indirizzo IP.

Su una postazione condivisa, porta la durata dei dispositivi attendibili a 0: la casella sparisce dalla pagina del codice e la verifica torna dopo la sessione. Su una postazione fissa, il valore predefinito evita un codice al giorno a tutto il team. L'opzione Seleziona «ricorda questo dispositivo» per impostazione predefinita preseleziona la casella nella pagina del codice.

Cosa fare quando un dipendente perde il telefono?

Entra con uno dei suoi 10 codici di recupero e poi cambia telefono; senza codice, un super amministratore clicca Reimposta nella dashboard e conferma con il proprio codice.

I codici di recupero sono monouso e conservati come hash. Nella pagina del codice, il link Usa un codice di recupero apre il campo corrispondente. Nella pagina «La mia autenticazione a due fattori», Cambia telefono riavvia la configurazione e chiede un codice dell'app attuale o un codice di recupero per confermare; Crea nuovi codici di recupero annulla i precedenti e un avviso compare quando ne restano pochi.

Un sabato sera, un dipendente rompe il telefono prima di una spedizione: entra con un codice di recupero, avvia Cambia telefono e inquadra il codice QR sul nuovo telefono. Se ha esaurito i codici, il super amministratore clicca Reimposta sulla sua riga e conferma con il proprio codice; il dipendente dovrà configurarla di nuovo se il suo profilo è obbligatorio. Sblocca serve quando l'account è bloccato dopo troppi codici errati.

Restano due vie quando il back office è irraggiungibile. Il comando php bin/console wepresta:2fa:disable --employee=ID_O_EMAIL elimina la 2FA di un dipendente, --all la sospende per tutto il negozio e --dry-run simula l'azione. Un file vuoto chiamato DISABLE_2FA nella cartella del modulo sospende la richiesta del codice per tutti finché esiste; un avviso rosso lo ricorda ai super amministratori. Eliminalo per ripristinare la protezione.

Quanti codici errati prima del blocco?

Cinque codici errati bloccano l'account per 15 minuti per impostazione predefinita; entrambi i valori si configurano e il blocco resta salvato nel database anche dopo un nuovo accesso con password.

L'opzione Codici errati prima del blocco accetta da 1 a 20 tentativi, e l'opzione Durata del blocco da 1 a 1440 minuti. Il messaggio indica il tempo rimasto: Troppi codici errati. Riprova tra 15 minuti. Un codice già usato è rifiutato con Questo codice è già stato usato, e uno errato mostra Questo codice non è valido, con i tentativi rimasti.

Il registro, riservato ai super amministratori, elenca data, dipendente, indirizzo IP e dettaglio: codici accettati o errati, codici di recupero usati, blocchi e sblocchi, cambi di telefono, nuovi codici, dispositivi aggiunti o rimossi, reimpostazioni e disattivazioni. Si filtra per dipendente e non contiene codici né segreti. L'opzione «Conserva il registro per» va da 7 a 3650 giorni (90 per impostazione predefinita); la pulizia elimina le righe più vecchie una volta al giorno.

Cosa succede se la licenza scade o il server delle licenze non risponde?

Senza una licenza valida, il modulo si disattiva su tutti i negozi: non viene chiesto alcun codice, le sue schermate di gestione si chiudono, ma registrazioni, codici di recupero, dispositivi, impostazioni e registro vengono conservati. Se il server è solo irraggiungibile, vale una tolleranza di sette giorni.

È la regola della versione 2.0.1: una licenza sospesa o revocata, una chiave assente, un dominio sconosciuto o una firma non valida fermano l'autenticazione a due fattori. La pagina di configurazione resta raggiungibile con il formulario di licenza; inserisci Chiave di licenza e Segreto di licenza, poi clicca su Attiva la licenza. Quando la licenza è valida, il modulo si attiva e richiede di nuovo il codice alla pagina successiva. Nessuno si registra di nuovo e i dispositivi attendibili restano validi fino alla loro data di scadenza.

Licenza scaduta: l'avviso spiega che non viene chiesto alcun codice e il formulario di licenza resta raggiungibile da Configura.
Licenza scaduta: l'avviso spiega che non viene chiesto alcun codice e il formulario di licenza resta raggiungibile da Configura.

Una licenza pagata non si interrompe al primo avviso. Alla fine di un abbonamento, la protezione resta attiva sette giorni dopo la data memorizzata. Poi il modulo interroga il server al massimo una volta all'ora, con timeout brevi. Una risposta temporanea — errore interno, troppe richieste, orologio disallineato — non disattiva nulla: la tolleranza di sette giorni decorre dal primo errore. Una risposta che non ammette nuovi tentativi (licenza scaduta, sospesa o revocata, dominio sconosciuto, firma non valida) si applica subito. In multinegozio, attiva la licenza dal contesto che comprende tutti i negozi: il modulo è attivo ovunque o da nessuna parte.

Per passare dalla 2.0.0 alla 2.0.1, esegui un backup, carica l'archivio in Moduli > Gestione moduli e lascia che PrestaShop avvii l'aggiornamento. Registrazioni, codici di recupero, dispositivi, impostazioni e registro vengono conservati. Poi apri Configura e controlla la licenza.

Domande frequenti

Quali app di autenticazione funzionano con il modulo?
Va bene qualsiasi app TOTP: Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden e le loro equivalenti. Il modulo segue TOTP (RFC 6238) e non dipende da un fornitore. Il codice QR si inquadra con l'app; sul telefono, Apri nell'app su questo telefono o la chiave mostrata sotto il codice QR evitano la scansione. Ogni dipendente sceglie la propria app, senza strumenti imposti.
La 2FA funziona con PrestaShop 1.7, 8 e 9?
Il modulo funziona su PrestaShop 1.7.8, 8.0+ e 9.0+, con PHP 7.4 minimo e un solo archivio. PrestaShop 1.7.7 e le versioni precedenti non sono supportate. Su PrestaShop 1.7, tre vecchi script autonomi (backup.php, pdf.php e get-file-admin.php) sfuggono al controllo; la pagina di configurazione li segnala e invita a eliminarli.
Cosa succede se la licenza del modulo scade o diventa non valida?
Una licenza scaduta disattiva il modulo solo dopo sette giorni; anche una licenza sospesa o revocata, un dominio sconosciuto o una firma non valida lo disattivano. Se il server è solo irraggiungibile, il modulo lo interroga al massimo una volta all'ora, con timeout brevi, e una risposta temporanea — errore interno, troppe richieste o orologio disallineato — non lo disattiva: la tolleranza di sette giorni decorre dal primo errore. Registrazioni e impostazioni restano intatte.
Gli indirizzi IP dell'ufficio possono evitare il codice?
Il modulo non offre un elenco di indirizzi IP esentati dal codice. Per evitare un inserimento a ogni accesso, usa il dispositivo attendibile di 30 giorni, collegato all'indirizzo IP se vuoi un controllo più rigoroso. Un indirizzo IP può cambiare o essere falsificato; il modulo si basa quindi sul dispositivo e sulla sessione, non sulla rete.
Per quanto tempo un codice resta valido?
Un codice TOTP è valido 30 secondi. Il modulo accetta uno scarto di un periodo di 30 secondi tra telefono e server e rifiuta un codice già usato. La verifica resta poi valida 12 ore per impostazione predefinita su un browser non ricordato finché la sessione resta aperta, o 30 giorni con un dispositivo attendibile (valore predefinito). Entrambe le durate si impostano nella configurazione del modulo.
Come si reimposta la 2FA di un dipendente che ha lasciato l'azienda?
Reimposta il suo account dalla dashboard con il pulsante Reimposta, confermato con il tuo codice: la sua 2FA viene eliminata e il vecchio telefono non dà più accesso. Se elimini la sua scheda dipendente, il modulo cancella segreto, codici di recupero e dispositivi attendibili; il registro resta fino alla fine del periodo di conservazione.

Prodotti di questo articolo

Trovate il modulo di cui il vostro negozio ha bisogno

Scopri i moduli