Aggiornamenti, MFA, permessi, backup testati, WAF e web service: i 10 controlli che ogni piattaforma e-learning dovrebbe avere, con frequenze e responsabilità.
Perché la sicurezza dell'LMS non è un dettaglio tecnico
Una piattaforma e-learning contiene molto più di qualche video e di qualche quiz. Ci sono anagrafiche di dipendenti e studenti, indirizzi email, voti, attestati, a volte dati sanitari legati a corsi obbligatori, e spesso integrazioni con HR, CRM e sistemi di pagamento. Per questo un LMS è un bersaglio interessante, e una violazione ha conseguenze concrete: dati personali esposti, obblighi di notifica previsti dal GDPR, corsi fermi, certificazioni contestate.
La buona notizia è che la maggior parte dei problemi nasce da poche cause ricorrenti: software non aggiornato, password deboli, permessi troppo larghi, backup mai verificati. Di seguito i 10 controlli che consideriamo essenziali, pensati per Moodle ma validi per qualsiasi LMS.
1. Aggiornamenti tempestivi di core e plugin
Moodle pubblica regolarmente rilasci di manutenzione che includono correzioni di sicurezza, e gli avvisi sono consultabili su moodle.org nella sezione dedicata alla sicurezza. Restare indietro di molte versioni significa lasciare aperte vulnerabilità note e documentate pubblicamente.
Cosa fare in pratica:
- usare una versione ancora supportata, preferibilmente una LTS se servono cicli lunghi
- applicare i rilasci minori con regolarità, dopo un test su un ambiente di staging
- verificare che ogni plugin aggiuntivo sia compatibile con la versione in uso
- rimuovere i plugin abbandonati dal manutentore o non più utilizzati: ogni plugin installato è codice in più da difendere
Un plugin che non riceve aggiornamenti da anni è un rischio anche se "funziona ancora". Se è indispensabile, va valutata una manutenzione interna o un'alternativa.
2. HTTPS e header di sicurezza
Tutto il traffico deve passare in HTTPS, senza eccezioni, con certificati validi e rinnovo automatico. Oltre alla cifratura, il server web dovrebbe inviare alcuni header che riducono intere classi di attacchi.
Header da configurare:
- HSTS (Strict-Transport-Security), per impedire il ritorno a HTTP
- Content-Security-Policy, per limitare da dove possono essere caricati script, frame e risorse
- X-Frame-Options o la direttiva frame-ancestors della CSP, contro il clickjacking
- X-Content-Type-Options: nosniff e una Referrer-Policy restrittiva
La CSP va costruita con attenzione: Moodle, i suoi plugin e i contenuti incorporati (video, SCORM, H5P) caricano risorse da origini diverse, quindi una policy troppo rigida può rompere funzionalità. Conviene partire in modalità report-only e stringere gradualmente.
3. Autenticazione forte
Le credenziali rubate restano uno dei punti di ingresso più comuni. Da Moodle 4.3 l'autenticazione a più fattori è disponibile nel core tramite il plugin tool_mfa, con fattori come app di autenticazione (TOTP), email e altri.
Misure minime:
- MFA obbligatoria almeno per amministratori, manager e docenti con permessi di modifica
- policy password attiva (lunghezza minima, complessità, divieto di riuso)
- blocco dell'account dopo un numero definito di tentativi falliti
- dove possibile, single sign-on con l'identity provider aziendale, così le regole di accesso restano centralizzate
4. Ruoli e permessi con il minimo privilegio
Il sistema di ruoli di Moodle è potente, e proprio per questo tende a degenerare: account amministratore condivisi, docenti con permessi di sistema, ruoli personalizzati di cui nessuno ricorda l'origine.
Regole di igiene:
- ogni persona ha un proprio account, nessun admin condiviso
- gli amministratori di sito sono pochi e nominativi
- si assegnano ruoli a livello di categoria o di corso, non di sistema, quando basta
- si rivedono periodicamente gli amministratori e i ruoli con capability rischiose
- gli account di chi lascia l'organizzazione vengono sospesi subito
Moodle segnala le capability a rischio (ad esempio quelle che permettono XSS o modifica della configurazione): sono le prime da controllare in ogni ruolo personalizzato.
5. Protezione dei file e della struttura del server
La cartella moodledata contiene file caricati, cache e sessioni: deve stare fuori dalla webroot, non raggiungibile via browser. Da Moodle 5.1 la struttura del codice è stata riorganizzata e i file serviti dal web stanno nella cartella public, che diventa la document root: in fase di aggiornamento va adeguata la configurazione del virtual host.
Altri punti da verificare:
- permessi su file e cartelle limitati all'utente del web server
- config.php non leggibile da altri utenti di sistema
- directory listing disabilitato
- esecuzione di script bloccata nelle cartelle di upload
6. Firewall applicativo e fail2ban
Un WAF come ModSecurity con un set di regole aggiornato filtra molte richieste malevole prima che arrivino all'applicazione. Fail2ban, o strumenti analoghi, blocca gli indirizzi che generano tentativi di login ripetuti o scansioni.
Attenzione ai falsi positivi: un LMS riceve richieste "strane" per natura, come editor ricchi, upload di file, quiz con codice o formule, chiamate ai web service. Regole troppo aggressive possono bloccare docenti e studenti legittimi. Serve un periodo di osservazione, eccezioni mirate e una whitelist per gli indirizzi di gestione.
7. Backup cifrati, offsite e testati
Un backup che non è mai stato ripristinato è un'ipotesi, non una garanzia. Per una piattaforma Moodle il backup deve includere database, moodledata e codice (con i plugin installati).
Requisiti minimi:
- backup automatici con frequenza coerente con quanto si può accettare di perdere
- copia cifrata in una sede diversa dal server di produzione
- conservazione su più versioni, per difendersi anche da ransomware e cancellazioni non rilevate subito
- test di ripristino periodici su un ambiente separato, con verifica che corsi, utenti e voti siano integri
- procedura di ripristino scritta, con tempi stimati
8. Log e monitoraggio
Moodle offre un report specifico: in Amministrazione del sito, Report, Panoramica sicurezza, trovi una serie di controlli automatici (impostazioni rischiose, ruoli con permessi eccessivi, configurazioni deboli) con indicazioni su come intervenire. È un buon punto di partenza da consultare regolarmente.
Da affiancare con:
- log del web server e del sistema conservati per un periodo adeguato
- monitoraggio di disponibilità e prestazioni, con avvisi
- controllo degli accessi amministrativi anomali (orari, provenienze insolite)
- verifica che il cron di Moodle giri correttamente, perché molte attività di pulizia dipendono da lì
9. Sicurezza dei web service
Le integrazioni con HR, CRM, e-commerce o app esterne passano spesso dai web service di Moodle. Un token troppo potente è, di fatto, una password di amministratore che vive in un altro sistema.
Buone pratiche:
- creare servizi dedicati con le sole funzioni necessarie, non abilitare tutto
- associare i token a un utente tecnico con permessi minimi
- impostare una data di scadenza e, dove possibile, la restrizione per indirizzo IP
- conservare i token in modo sicuro, mai nel codice o in documenti condivisi
- revocare i token non più usati
10. Integrazioni esterne e AI
Plugin di videoconferenza, strumenti antiplagio, tutor AI, generatori di contenuti: ogni integrazione può inviare dati a terzi. Con l'intelligenza artificiale il tema è particolarmente sensibile, perché nei prompt possono finire testi degli studenti, valutazioni o dati personali.
Prima di attivare un'integrazione chiediti:
- quali dati escono dalla piattaforma e verso quale fornitore
- dove vengono trattati e conservati, e per quanto tempo
- se il fornitore li usa per addestrare i propri modelli
- se esiste un accordo sul trattamento dei dati conforme al GDPR
- se gli utenti sono informati in modo chiaro
Riepilogo: controllo, frequenza, responsabile
| Controllo | Frequenza | Chi |
|---|---|---|
| Aggiornamenti core e plugin | Ad ogni rilascio di sicurezza, minimo mensile | Sistemista o provider hosting |
| Revisione plugin installati | Trimestrale | Amministratore Moodle |
| HTTPS e header di sicurezza | Alla configurazione e ad ogni modifica | Sistemista |
| MFA e policy password | Alla configurazione, verifica semestrale | Amministratore Moodle |
| Revisione admin e ruoli | Trimestrale | Amministratore Moodle con referente HR |
| Permessi file e moodledata | Ad ogni aggiornamento maggiore | Sistemista |
| WAF e fail2ban | Revisione mensile dei blocchi | Sistemista |
| Test di ripristino backup | Almeno semestrale | Sistemista con amministratore Moodle |
| Panoramica sicurezza e log | Mensile | Amministratore Moodle |
| Token web service | Trimestrale | Responsabile integrazioni |
| Integrazioni esterne e AI | Prima dell'attivazione e annuale | DPO con amministratore Moodle |
Le frequenze sono indicative: vanno adattate alla dimensione della piattaforma, alla sensibilità dei dati e agli obblighi normativi del tuo settore.
Vuoi una verifica della tua piattaforma?
ITN gestisce piattaforme Moodle dal punto di vista tecnico e applicativo: hosting, aggiornamenti, configurazione della sicurezza, backup, plugin e integrazioni, comprese quelle con l'AI. Possiamo analizzare la tua installazione con questa checklist e indicarti le priorità di intervento.
Prenota una consulenza gratuita di 30 minuti: contattaci dalla pagina Contattaci di www.itn.it e raccontaci com'è configurato il tuo LMS. Ti diremo con franchezza dove sono i rischi e da dove conviene partire.
Ti è piaciuto questo articolo?
Contattaci per una consulenza gratuita sul tema trattato.
Prenota una consulenza gratuita





