«Ti creo un account da amministratore, così fai tutto tu.» È una frase che si dice spesso al grafico, al collaboratore che scrive gli articoli, all’agenzia che sistema una pagina. È comoda, ma è anche uno dei modi più semplici per allargare i rischi di un sito. In sicurezza si parla di principio del minimo privilegio: ogni persona deve avere solo i permessi che le servono per il suo lavoro, e per il tempo in cui le servono. Vediamo come applicarlo in WordPress e in PrestaShop.
Perché i permessi contano
Un account con troppi permessi è un problema anche quando la persona è affidabile:
- se la sua password viene rubata, chi la usa ha in mano tutto il sito;
- se il suo computer è infetto, il malware agisce con i suoi permessi;
- un errore in buona fede (un plugin installato per prova, un’impostazione cambiata) ha conseguenze su tutto il sito;
- molte falle dei plugin si possono sfruttare solo da utenti già collegati: più gli utenti hanno ruoli bassi, meno quelle falle sono pericolose.
WordPress: i ruoli di base
WordPress ha cinque ruoli predefiniti. In breve:
| Ruolo | Cosa può fare | A chi darlo |
|---|---|---|
| Amministratore | Tutto: plugin, temi, utenti, impostazioni | Al titolare del sito e a chi lo gestisce tecnicamente, nessun altro |
| Editore | Pubblica e modifica tutti gli articoli e le pagine, anche degli altri | A chi coordina i contenuti |
| Autore | Pubblica e modifica i propri articoli | A chi scrive regolarmente |
| Collaboratore | Scrive articoli, ma non li pubblica | A chi scrive occasionalmente, con revisione |
| Sottoscrittore | Gestisce solo il proprio profilo | Agli utenti registrati del sito |
Plugin come WooCommerce aggiungono ruoli propri (per esempio quello per chi gestisce il negozio e quello dei clienti). Prima di assegnarli, controlla cosa permettono davvero.
Buone abitudini in WordPress
- Pochi amministratori: idealmente uno o due. Chi scrive contenuti non ha bisogno di installare plugin.
- Un account per persona, con il suo nome: così sai chi ha fatto cosa e puoi togliere l’accesso a uno senza toccare gli altri.
- Niente utente chiamato «admin»: è il primo nome che i programmi automatici provano.
- Controlla le impostazioni di registrazione: se il sito permette a chiunque di registrarsi, assicurati che il ruolo predefinito dei nuovi utenti sia il più basso. Un ruolo predefinito sbagliato è una porta spalancata.
- Accessi temporanei: per un intervento di un tecnico o di un’agenzia, crea un account e cancellalo (o abbassagli il ruolo) a lavoro finito.
PrestaShop: dipendenti e profili
In PrestaShop chi accede al back office è un dipendente, e ogni dipendente ha un profilo che stabilisce a quali sezioni può accedere e cosa può fare (vedere, aggiungere, modificare, eliminare). Oltre al profilo di super amministratore, puoi crearne di tuoi.
Qualche esempio di profili sensati:
- Magazzino: ordini e prodotti, ma non moduli né impostazioni;
- Assistenza clienti: clienti, ordini e messaggi, senza poter cambiare i prezzi;
- Contenuti: pagine e prodotti, senza accesso ai dati dei clienti.
Il profilo di super amministratore va riservato a chi gestisce davvero il negozio. Moduli, impostazioni avanzate e dipendenti sono le sezioni più delicate: chi può installare un modulo può, di fatto, far eseguire qualsiasi codice al negozio.
Buone abitudini in PrestaShop
- disattiva o elimina i dipendenti che non lavorano più al negozio;
- dai a ogni persona il suo account, con un indirizzo email a cui ha accesso solo lei;
- pensa ai dati dei clienti: chi non deve vederli, non deve avere accesso alle sezioni clienti e ordini.
Gli altri accessi: FTP, posta, area clienti
Il principio vale anche fuori dal CMS:
- FTP: crea account FTP dedicati per chi deve caricare file. Ogni account è confinato nella cartella del suo dominio. Eliminali a lavoro concluso.
- Database: se un collaboratore deve lavorare sul database, valuta un utente di database dedicato invece di dargli i dati di quello usato dal sito.
- Caselle di posta: una casella condivisa da più persone è difficile da proteggere. Meglio caselle personali e, se serve, alias o inoltri.
- Area clienti dell’hosting: dall’area clienti si apre il pannello e si gestiscono i servizi. Non condividere le tue credenziali con fornitori esterni: se un’agenzia ha bisogno di qualcosa, valuta cosa può fare con un accesso più limitato, o chiedici con un ticket come procedere.
Un controllo da fare ogni tanto
Una volta ogni qualche mese prenditi dieci minuti e scorri gli elenchi:
- utenti con ruolo amministratore nel CMS: li riconosci tutti? Servono ancora tutti?
- account FTP: ce ne sono di collaboratori che non lavorano più al sito?
- caselle di posta: ce ne sono di persone che non ci sono più?
- plugin o moduli installati per un collaboratore e mai rimossi?
Un amministratore che non riconosci è sempre un segnale da prendere sul serio: può essere stato creato da chi ha violato il sito. In quel caso non limitarti a cancellarlo: segui i passi per un sito violato e apri un ticket.
Cosa facciamo noi
Sul server, Security Intelligence e cPGuard bloccano i tentativi di accesso automatici e le richieste che provano a sfruttare una falla, e cPGuard controlla ogni giorno file e database. Ma quali persone possono entrare nel tuo sito, e con quali permessi, lo decidi tu: è una delle protezioni più efficaci e non costa nulla.
In sintesi
- Dai a ognuno solo i permessi che gli servono, e solo per il tempo necessario.
- Pochi amministratori, un account per persona, niente utenti condivisi.
- In PrestaShop usa profili su misura invece del super amministratore per tutti.
- Controlla periodicamente utenti, account FTP e caselle, ed elimina ciò che non serve più.