Una delle problematiche dei nostri giorni è quella relativa alla sicurezza dei siti web. Abbiamo visto ultimamente un portale autoritario come quello del SS.NN. della Regione Lazio andare completamente in blocco a causa di un attacco hacker e non è l’unico caso accaduto. Ogni giorno i nostri siti subiscono degli attacchi, solo che noi non ce ne accorgiamo perché spesso i nostri hosting hanno messo in campo misure di prevenzione capaci di proteggerci.
Ma adagiarsi sul fatto che il nostro hosting ci protegge non è la cosa giusta da fare. Gli attacchi possono anche colpire direttamente il nostro sito, utilizzando il form di accesso al backend del sito, o sfruttando qualche vulnerabilità che quasi sempre (non sempre) è stata generata da noi stessi. Quando ce ne accorgiamo spesso è troppo tardi. Per questo è necessario mettere in sicurezza i nostri siti web con piccoli accorgimenti che ora andremo a spiegare. Ci occupiamo di realizzazione siti web a Roma e tutto ciò che segue, rappresentano le nostre best practices per ogni nuovo sito sviluppato.
Contenuti di questo articolo
Come mettere in sicurezza un sito
Premetto: per esperienza so che è impossibile dormire sonni tranquilli ma sicuramente questi accorgimenti diminuiscono in misura notevole i rischi di un hackeraggio ai nostri siti. Quello che dobbiamo fare è chiudere tutte quelle porte che potrebbero permettere l’accesso a un hacker, a uno script malevolo o a una query dannosa. Parleremo in particolare di siti WordPress ma le indicazioni sono valide per tutti i siti internet.
La Password del sito
Iniziamo dalla cosa più ovvia e scontata: le password di accesso al backend del sito. Esistono dei software in rete che possono fare migliaia di tentativi in pochi secondi. È importante quindi mettersi al riparo da questa eventualità.
Innanzi tutto scegliete una password complessa, con caratteri numerici, alfanumerici e speciali, inserendo anche maiuscole. Ho visto password che si chiamavano con il nome dell’amministratore del sito e questo nome campeggiava bello chiaro su ogni articolo. Articolo scritto da Antonio. Nome utente Antonio. Password antonio1985. Non deve esistere una cosa del genere.
Se avete paura di non ricordare una password troppo complessa, utilizzate i simboli simili alle lettere per aiutarvi. Ad esempio potreste trasformare una password come “milanoèbella” in M1l@n0è8€ll@.
WordPress poi da la possibilità di forzare l’utilizzo di sole password efficaci. Vi consiglio di applicare questa funzionalità se avete collaboratori o se avete previsto delle aree riservate per sottoscrittori.
Nome utente del sito
Anche il nome utente merita attenzione. Spesso i cms vengono impostati con nomi utenti di amministrazione come “admin”, “administrator”, “root”, “webmaster”, e similari. Scegliere un nome utente del genere significa rendere la vita più facile a chi tenta di violare il vostro sito. Scegliete dei nomi creativi e non facilmente individuabili. A volte ci vuole davvero poco per scegliere un nome adatto, come ad esempio “Sono il Webmaster”.
Per non far apparire questo nome sul frontend nei vostri articoli, poi basterà darsi un nome utente pubblico diverso che potrà tranquillamente corrispondere al vostro.
Autenticazione a 2 fattori
Uno dei metodi più efficaci per mettere il sito in sicurezza per quel che riguarda le credenziali di accesso è utilizzare l’autenticazione a 2 fattori. Si tratta di una verifica ulteriore alla vostra titolarità di entrare all’interno del backend del sito, in quanto richiede da parte vostra un’ulteriore azione per accedere.
Metodi per implementare l’autenticazione a 2 fattori ce ne sono diversi. Il più semplice è quello di sfruttare un’app per il telefonino e un plugin per WordPress. Per chi utilizza Android consiglio l’ottima Google Authenticator (con la quale potete implementare questa funzione anche sulle email, paypal, facebook, eccetera), in combinazione con il plugin miniOrange’s Google Authenticator, che trovate nella repository di WordPress.
Password Hosting e FTP
Ovviamente, anche la password dell’hosting deve essere efficace perché se qualcuno va li dentro, provoca danni veri. Ma soprattutto, se utilizzate un client FTP come ad esempio Filezilla, fate attenzione a scegliere una password complessa e preferire sempre come accesso il protocollo SFTP con il quale i dati, tra il vostro client e il server, viaggiano in maniera sicura in quanto criptati.
I permessi dei files
Altro modo per proteggere il vostro sito e metterlo in sicurezza è impedire che alcuni files chiave come .htaccess e wp-config, abbiano permessi di scrittura pubblici. I permessi possono essere impostati direttamente sul pannello del vostro hosting o, in alternativa, direttamente da un client FTP. Ma cosa si intende per permessi?
Ogni file di WordPress (e di tutti gli altri tipi di cms e non), hanno 3 livelli di permessi: lettura, scrittura ed esecuzione. Questi permessi vengono tradotti in numeri che vanno da 0 a 7. Il permesso codice 777 significa che il file è soggetto a:
- scrittura, lettura ed esecuzione del proprietario (7)
- scrittura, lettura ed esecuzione di gruppo (7)
- scrittura, lettura ed esecuzione pubblici (7)
Capite bene che una configurazione del genere significa lasciare aperto tutto a tutti, con i rischi connessi.
Nella realtà noi dobbiamo dare modo al proprietario di leggere, scrivere ed eseguire (7) e permettere al gruppo e al pubblico di leggere ed eseguire (5-5), altrimenti il sito non funzionerebbe come dovrebbe.
In WordPress il permesso 755 viene dato alle cartelle, mentre ai files viene dato un più restrittivo 644.
Cambiare posto alla cartella d’installazione di WordPress
Alcuni webmaster, indicano utile cambiare il posto dove risiedono i files di WordPress. Normalmente noi questi files li ospitiamo nella root del sito, proprio nel primo livello utile principale. Spostare la cartella richiede qualche piccola modifica al wp-config.php, cosa non difficilissima. Ma sinceramente vi dico che a livello di sicurezza non serve veramente a nulla.
Nascondere i files di WordPress
Ecco invece una soluzione che potrebbe essere utile davvero. Si tratta di nascondere il percorso dell’installazione di WordPress per rendere il sito più sicuro. Farlo richiede un po’ di conoscenze e abilità nel maneggiare files molto importanti come l’.htaccess e in rete potete trovare diverse guide per farlo ma fate attenzione a seguirle con cura e soprattutto assicuratevi di avere un backup o il supporto dell’assistenza hosting in caso di bisogno.
Per rendere le cose un tantino più semplici, ma non meno delicate, potete utilizzare dei plugin appositi. Personalmente conosco bene WP Hide & Security Enhancer, che ritengo essere il modo più semplice per nascondere completamente i files del core di WordPress, la pagina di accesso, i temi e i percorsi dei plug-in dalla visualizzazione lato pubblico. Utilizzandolo, chi prova a visualizzare il codice delle pagine del sito, non trova alcun riferimento a WordPress. Il plugin in realtà non cambia nulla ma maschera in maniera efficace ogni percorso che possa ricondurre all’utilizzo di WordPress (compresa la url che conduce alla login della bacheca).
Cambiare la url di accesso alla bacheca
L’accesso alla bacheca di Wp è possibile alla url “nomesito.xx/wp-admin”. Tutti sanno che è il suffisso wp-admin che visualizza la pagina di accesso. Per questo potrebbe essere utile cambiarla in qualcos’altro di fantasioso. Abbiamo visto prima che il plugin WP Hide & Security Enhancer ha questa funzione, ma se ritenete di non volerlo utilizzare in favore di qualcosa di più semplice, ecco correre in vostro aiuto un plugin leggerissimo chiamato WPS Hide Login. Una volta installato vi compare una voce nella pagina dei permalink per cambiare wp-admin con qualcos’altro di vostro gradimento. A mio giudizio è un sistema efficace contro gli smanettoni in erba che stanno imparando a violare i siti, ma che alla lunga non rappresenta qualcosa che aggiunge sicurezza a sufficienza al punto di poter fare a meno di impostare una password efficace (anzi, nulla lo è).
Plugin per la sicurezza di WordPress
Qui lo dico e qui lo nego: non sono favorevole ai plugin per la sicurezza di WordPress per diversi motivi.
Spesso sono plugin pesantissimi che hanno bisogno di parecchie risorse per funzionare a dovere. In più tutto ciò che garantiscono, possiamo replicarlo senza aver bisogno di installarli. Infine, quasi sempre si ha bisogno della versione premium a pagamento per avere una copertura completa.
Certo è, che sono molto comodi e facili da utilizzare per i più, ma per me il gioco non vale la candela. Se decideste di affidarvi a uno di loro, troverete buoni IThemes Security, Wordfence, WP Cerber Security e Sucuri Security, tutti più o meno allo stesso livello. Ohi… sia ben chiaro… meglio questi che niente ovviamente.
Aggiornare sempre! WordPress, Temi e Plugin.
Quando esce una nuova release di WordPress o dei suoi plugin, spesso e volentieri non si tratta di vedere implementate nuove funzionalità, quanto piuttosto la correzione di bug tecnici e di sicurezza. È per questo che una buona abitudine è aggiornarli ogni volta che vengono segnalati degli update. L’aggiornamento di WordPress, dei temi e dei plugin è la prima difesa contro malware e hackeraggi.
Sappiamo bene però che a volte questi aggiornamenti creano qualche problema al layout o al funzionamento del sito, perché magari utilizziamo un tema o un qualche plugin che non risulta compatibile con le nuove versioni di WordPress. Per questo è sempre bene avere a disposizione un backup (includetelo sempre nel piano hosting) e ancora meglio, un’area di staging dove fare tutti gli aggiornamenti prima di farli al sito in produzione.
Conclusioni
Mantenere sicuro un sito web non è qualcosa di così difficile. Serve solo avere l’accortezza di fare le cose con giudizio. Come abbiamo detto, il primo passo è scegliere delle password efficaci, scegliere un hosting che ci protegga come si deve e implementare l’autenticazione a 2 fattori. Poi procedete con i consigli che ho dato e non dimenticate mai di tenere aggiornati WordPress, il tema e i plugin (anche quelli che sono disattivi – se sono disattivi non servono quindi disinstallateli -).
La sicurezza dei vostri siti web, passa sempre attraverso vostra attenzione. Un sito abbandonato è sempre un sito a forte rischio hackeraggio.