due chiacchiere

Il mio sistema d’allarme

È sempre spiacevole ricevere una visita non gradita, specialmente se l’ospite ha la tipica mascherina nera, un sacco sulle spalle, ed una calzamaglia tutta nera. A me è successo nella vita reale, e non lo augurerei al mio peggior nemico: sapere che qualcuno ha messo le mani nei tuoi cassetti, ha camminato con le scarpe sul letto, ha mangiato la roba dal tuo frigo… beh, non è piacevole. Analoga sensazione si prova quando “profanano” il proprio sito web, approfittando di un cosiddetto “buco di sicurezza” del sistema di gestione. Ecco come si difende WordPress.

WordPress 2.0.3 presenta alcuni aggiornamenti sulla sicurezza, dei quali qualcuno vorrebbe anche saperne di più. Ecco allora il mio proposito di illustrarne uno, seguendo quanto detto dagli sviluppatori stessi.

Il tuo lasciapassare personale

Quando ti autentichi in WordPress, ti viene dato un lasciapassare (in gergo meglio noto come cookie): un piccolo file conservato dal tuo browser, nel quale sono contenute le informazioni utili a darti accesso al pannello di controllo del sistema. In questo modo tu puoi navigare tra le varie schermate senza dover digitare, ogni volta, la password. Allo stesso tempo, chi non ha questo speciale “visto”, non è in grado di entrare dietro le quinte del tuo blog.

Uno dei problemi più critici nell’ambito della sicurezza è il possesso di questo speciale pass: se qualcuno se ne impadronisse senza autorizzazione, potrebbe spacciarsi per te. Fortunatamente esistono precauzioni in grado di rendere difficile il lavoro di questi “furfanti” della rete. Prima di tutto la scadenza del lasciapassare: quando esci dal pannello di controllo cliccando sull’apposito pulsante, è come se venisse apposto un timbro che rende non più valida la “tesserina” nel tuo browser.

Questa è l’autenticazione: verificare che la persona che esegue un’azione sia autorizzata ad eseguirla. In passato WordPress, usava il metodo di controllare la provenienza dell’utente (il suo indirizzo di rete) per verificarne l’identità. Ma si è presto scoperto che era facile, per i furfanti, spacciarsi per altri alterando il proprio indirizzo. Quindi si è cercata una soluzione alternativa: i nunici.

Nunici: numeri unici

In inglese li chiamano nonce, contrazione di number used once, ovvero numeri usati una volta. In italiano si potrebbero tradurre con nunici. Puoi pensarli come una password che cambia ogni volta che viene usata. Tecnicamente, l’implementazione di WordPress non è un nunico, perché la chiave cambia ogni 12 ore, mantenendo una validità di 24 ore, ma l’idea è molto simile. Il concetto è semplice: si verifica che la richiesta è partita cliccando un pulsante o un collegamento all’interno del pannello di controllo, assegnando alla pagina richiedente un nunico che verrà verificato prima di eseguire l’operazione.

Quindi nel caso peggiore, se qualcuno intercetta uno di questi numeri per cancellare un articolo del blog, avrà 24 ore di tempo per cancellare solo quell’articolo. Nessun’altra operazione sarà possibile, alternativamente. Resta il problema di proteggere l’assegnazione di questi numeri, e la conoscenza del lasciapassare all’ingresso. Ho pensato anche a questo.

Un guardiano alla porta

Altro accorgimento che può tornare comodo, è quello di restringere il campo dei possibili utenti che hanno accesso al pannello di amministrazione. Ogni navigatore, per stare in rete, ha associato un indirizzo IP univoco che lo distingue da tutti gli altri. Basta dire al proprio sito: “fai entrare nella schermata di login soltanto le persone che hanno un indirizzo che comincia per…” e il gioco è fatto. Per far questo, aggiungi le seguenti righe al file .htaccess:

RewriteCond %{REQUEST_URI} ^/wp-login.* [OR]
RewriteCond %{REQUEST_URI} ^/wp-admin.*
RewriteCond %{REMOTE_ADDR} !^123.456.789..*
RewriteCond %{REMOTE_ADDR} !^198.765.432..*
RewriteRule . /index.php [L]

dove al posto di 123.456.789 (notare che il punto finale è presente due volte, nella definizione della regola qui sopra: non si tratta di un errore) e dell’altro indirizzo, metterai i tuoi (ad esempio casa e lavoro), privati dell’ultimo gruppo di cifre. In questo modo dici al sistema: fai passare tutti quelli che appartengono a questa sottorete. Se vuoi puoi specificare proprio il tuo singolo indirizzo, ma questo non è consigliabile, perché quello che ti assegnano quando ti colleghi da casa, cambia con una certa frequenza (in genere solo l’ultimo gruppo di cifre).

Copiare, copiare, copiare

Un ultimo suggerimento che non guasta mai: fai un backup periodico della tua base di dati, che contiene tutte le impostazioni, gli articoli, i commenti e la struttura del sito. In questo modo, se proprio trovi qualcuno intenzionato a fare danni sul tuo blog, puoi ripristinare tutto nel giro di pochi minuti. L’operazione di salvataggio è semplice ed intuitiva con WordPress, essendo integrata nel pannello di amministrazione, sotto la voce Gestione » Backup.

Per finire, è buona norma evitare che gli utenti possano inserire codice Javascript all’interno degli articoli (e WordPress offre diversi modi per mettere in pratica questa cosa, con poco sforzo ed in maniera assolutamente automatizzata). Esistono infatti metodi in grado di tracciare la navigazione degli utenti, infiltrando una “spia” all’interno del programma che si usa per navigare.

Riferimenti

Lascia un commento