10 hack di sicurezza per WordPress per impedirti di essere hackerato

11

WordPress è una storia di enorme successo, non solo in termini di numeri globali, ma anche, cosa che potrebbe sorprendere alcuni, in termini di grandi nomi che utilizzano la piattaforma.

Su Internet, quando si dispone sia di una considerevole base di utenti installati sia di utenti di alto profilo, semplicemente non si può evitare di diventare un bersaglio per hacker e spammer. Dallo spaccio di pillole, alla promozione di ideologie distorte, al furto di dati e alla rottura di siti solo perché possono, essere hackerati potrebbe facilmente essere un grosso problema per la tua azienda.

In questo articolo darò un’occhiata ad alcuni dei suggerimenti, trucchi e hack che puoi utilizzare per offrirti una maggiore protezione dal ventre squallido del web.

Prendi confidenza con le basi

Mentre potresti pensare che alcuni di questi elementi dovrebbero essere scontati, pensa solo a quante volte hai visto non solo clienti ma anche colleghi sviluppatori, designer e agenzie che dovrebbero saperlo meglio essere colpevoli di alcuni di questi?

Inizia rendendo le tue password difficili da indovinare. Come puoi renderlo difficile per loro ma facile per te? Forse puoi dimenticare le sostituzioni di lettere ingannevoli come "h3ll0", mescolare maiuscole e minuscole e inserire la punteggiatura e usare invece un mnemonico. Concatenando tre o quattro parole insieme per creare un’immagine divertente, la tua password sarà molto più facile da ricordare rispetto a "t3r%?9.Fq!G" e ordini di grandezza più difficili da decifrare. Basta non usare "CorrectHorseBatteryStaple". Per una spiegazione completa e divertente di questo principio controlla XKCD 936.

Dovresti anche mantenere aggiornati i tuoi plugin e il core di WordPress. Questo ora è più facile da fare con le versioni successive di WordPress. Da WordPress 3.7 puoi configurare quattro tipi di aggiornamenti automatici: file core, plugin, temi e file di traduzione. Un avvertimento: a seconda della configurazione, potresti voler disabilitare alcuni di questi in modo da poter testare prima di distribuire gli aggiornamenti. Tuttavia, anche se li lasci attivi e riscontri problemi, hai ancora backup giornalieri su cui fare affidamento, giusto?

Semplifica la gestione di più siti, plug-in e backup con qualcosa come InfiniteWP. Le funzionalità di base sono gratuite!

Queste non sono le credenziali di accesso che stai cercando

Oltre alla maggiore sicurezza della password, dovresti anche cercare di spostare il tuo URL amministratore predefinito e utilizzare qualcosa di diverso da "admin" per il tuo nome utente. A meno che gli hacker non abbiano in mente un obiettivo specifico, di solito cercheranno di eseguire bot per automatizzare il processo. Questi robot cercano WordPress, provano le impostazioni predefinite e le password più comuni, quindi allontaniamoci dalle impostazioni predefinite per rendere questo compito più difficile.

Forse il modo più semplice per modificare l’URL di accesso è dare un’occhiata a plug-in come HC Custom WP-Admin URL. Ovviamente, esegui prima un backup!

Per modificare il tuo nome utente amministratore, il modo più semplice è creare un nuovo utente amministratore con il nome utente scelto ed eliminare quello vecchio. Se sei bloccato fuori dal tuo amministratore perché non ricordi il tuo nome utente, avrai bisogno di una soluzione leggermente più drastica. Accedi a phpMyAdmin e carica il tuo database WordPress. Scorri verso il basso sul lato sinistro e cerca la tabella "ks29so_users". Trova il nome utente che desideri modificare, ad esempio ‘admin’ e modifica il valore user_login in modo che sia il tuo nuovo nome.

Un’ultima parola sul processo di accesso

Prima di allontanarci dal processo di accesso, ci sono un paio di compiti in più da affrontare. Ricordi quei robot che indovinano le password? Rendiamogli le cose più difficili dicendo che puoi fare solo tanti tentativi entro un certo lasso di tempo e che prima di farlo devi trascrivere correttamente un CAPTCHA. Per Captcha puoi provare a installare questo plugin e via. Vantaggio collaterale: la versione premium si integra con BuddyPress e Contact Form 7 per proteggere i tuoi moduli di contatto dagli invii di spam.

Per limitare i tentativi di accesso puoi aggiungere plug-in come Limit Login Attempts oppure puoi chiedere al tuo provider di hosting che potrebbe avere una soluzione: Wpengine, ad esempio, lo ha configurato per impostazione predefinita.

Protezione di WordPress con modifiche a .htaccess

Spero che tu sia pronto a sporcarti un po’ le mani mentre passiamo a suggerimenti un po’ più complicati di "installa un plugin"! Aggiungi questi suggerimenti dopo la riga #END WORDPRESS.

Il primo elemento da aggiungere aiuterà a proteggere wp-config.php, questo file sarebbe pericoloso nelle mani sbagliate poiché contiene informazioni importanti sul tuo sito e sul suo database.

<Files wp-config.php>
orderallow,deny
deny from all
</Files>

È un ottimo inizio, cos’altro possiamo fare? Bene, possiamo impedire ai ficcanaso di dare un’occhiata ai tuoi file e alle tue cartelle: penso che i vantaggi di questo si spieghino da soli!

Quanto segue è una tuta per bloccare la navigazione nelle directory:

# directory browsing
Options All -Indexes

Se desideri bloccare un file in modo specifico, utilizza quanto segue:

<Files "private.php">
Order allow,deny
Deny from all
</Files>

Ora stiamo iniziando a fare progressi, rimuovendo l’accesso a coloro che non lo richiedono. Per portare questo alla sua logica conclusione, diamo un’occhiata a come possiamo vietare a qualcuno che sappiamo essere un cattivo attore di accedere a qualsiasi cosa sul tuo server.

Una volta che conosci l’IP, aggiungi semplicemente queste righe sostituendo 127.0.0.1 con l’IP errato:

Order Deny,Allow
Deny from 127.0.0.1

Per aggiornarlo con nuovi IP, aggiungi semplicemente nuove righe "deny from". Se hai bisogno di bloccare un intero intervallo, lascia fuori l’intervallo in questione. In altre parole, per bloccare tutto da 127.0.0.0 a 127.0.0.255 aggiungeresti:

Deny from 127.0.0.

Il suggerimento finale in questa sezione è proteggere .htaccess stesso. Ci sono parecchi siti che circolano metodi che sono buoni, ma non eccezionali. Il seguente metodo viene fornito per gentile concessione di Jeff Starr su Perishable Press ed è molto più approfondito:

# STRONG HTACCESS PROTECTION
<Files ~ "^.*.([Hh][Tt][Aa])">
 order allow,deny
 deny from all
 satisfy all
</Files>
Miglioramenti del database

Un altro vantaggio di WordPress per gli hacker è che in un’installazione standard sapranno come si chiamano le tabelle del database. WordPress utilizza il prefisso ‘ks29so_’ per impostazione predefinita, modificandolo ci allontaniamo nuovamente dalle supposizioni degli hacker.

Per prima cosa diremo a wp-config.php che stiamo cambiando il prefisso della tabella. Apri quel file e modifica quanto segue:

$table_prefix = 'ks29so_';

Aggiungi alcuni numeri o lettere:

$table_prefix = ‘ks29so_3drt5_’;

È quindi necessario esaminare e modificare ciascuno dei nomi delle tabelle nel database. Per ciascuna delle tue 11 tabelle esegui un comando nel seguente formato:

RENAME TABLE ‘ks29so_commentmeta‘ TO ‘ks29so_3drt5_commentmeta‘;

Probabilmente ci saranno alcuni altri riferimenti al vecchio prefisso che devi chiarire. Esegui questa query per elencare tutto dalla tabella delle opzioni utilizzando il vecchio prefisso:

SELECT * FROM ` ks29so_3drt5_options` WHERE `option_name` LIKE'%ks29so_%'

Sfortunatamente dovrai esaminarli tutti e aggiornarli.

Quindi dobbiamo guardare la tabella UserMeta, lo stesso processo di prima:

SELECT * FROM ` ks29so_3drt5_usermeta` WHERE `meta_key` LIKE'%ks29so_%'

Infine puoi anche limitare il tuo utente del database MySQL ad avere solo i seguenti privilegi di lettura e scrittura: SELECT, INSERT, UPDATE e DELETE. In questo modo puoi revocare i privilegi per la struttura del database e l’amministratore: DROP, ALTER e GRANT. Tuttavia, ciò può rendere complicato l’aggiornamento del core e l’aggiunta di nuovi plug-in in quanto potrebbero effettivamente dover modificare la struttura del database. Se si segue questa strada, è necessario essere scrupolosi sui backup e sui test.

Nuove chiavi per favore

Le tue chiavi segrete sono memorizzate in wp-config.php. Tuttavia, non sono così segreti se li lasci come valori predefiniti! Migliora la tua sicurezza alterandoli – ti consiglio, tuttavia, di non fare affidamento sul tuo senso di casualità e complessità. Usa qualcosa come questo servizio: questo non solo definisce le chiavi per te, ma le fa tutte in una volta nel formato corretto per poterle incollare direttamente nel tuo file. La pressione di aggiornamento dimostra che ottieni un nuovo set di chiavi ogni volta che lo carichi.

Fonte ricetta originale

I plugin sono un vettore di attacco abbastanza grande quando gli exploit vengono scoperti e distribuiti tra gli hacker, quindi dovresti almeno assicurarti di fidarti della fonte del plugin. Altrimenti potresti essere tu a posizionare l’exploit sul tuo sito aggiungendo un plug-in pericoloso contenente malware.

Pulizie di primavera

Poiché temi e plug-in rappresentano una potenziale vulnerabilità, li teniamo aggiornati quando possibile. Se hai smesso di usare un plugin/tema, eliminalo completamente. La disabilitazione non è abbastanza buona, basta sbarazzarsene! Se un plug-in è stato abbandonato dal suo sviluppatore, sarebbe anche una buona idea trovare qualcosa di nuovo ed eliminare quello vecchio: se viene rilevata una vulnerabilità di sicurezza, non verrà patchato e ottenere una correzione personalizzata sarà probabilmente molto costoso.

Allo stesso modo, elimina tutti gli accessi che non ti servono più. Forse ti fidi dei tuoi ex dipendenti, e va bene, ma non si tratta solo di fiducia. Si tratta anche di ridurre dove possibile l’area di attacco disponibile, limitando le persone al livello minimo di accesso di cui hanno bisogno. In genere un ex dipendente o un autore non ha bisogno di accesso: sono sicuro che capiranno!

Si applica il criterio di ingresso – Consenti solo IP amministratore attendibile

Ho separato questo dagli altri suggerimenti .htaccess in quanto questo è potenzialmente un passaggio leggermente più serio da considerare. Contrariamente al passaggio precedente di vietare gli IP noti e dannosi, si tratta di consentire solo quelli noti e validi. Migliora la tua sicurezza ma a un costo per la tua comodità in quanto sarai limitato a dove puoi accedere per lavorare sul tuo sito. Vai avanti se non ti muovi molto, se sei stato sottoposto a continui tentativi di attacco o semplicemente se pensi che valga la pena stare tranquillo.

orderdeny,allow
allow from 127.0.0.1
deny from all

(di nuovo, sostituisci 127.0.0.1 con il tuo IP).

SSL

Non dovresti accedere al tuo amministratore su un servizio Wi-Fi pubblico: se lo fai, le credenziali vengono inviate via etere in chiaro. Il malvagio hacker potrebbe essere seduto accanto a te, sorseggiando un cappuccino e facendo segretamente un attacco man in the middle per ottenere le tue password e altri dettagli sensibili.

Tuttavia, se devi, puoi almeno offrirti un po’ più di protezione abilitando SSL. Innanzitutto assicurati che il tuo server lo supporti, quindi apri il tuo file wp-config.php e aggiungi la seguente riga:

define('FORCE_SSL_ADMIN', true);
Altre cose da guardare

Questo è tutto per la mia serie principale di suggerimenti, ma ci sono altri aspetti da considerare. Puoi rafforzare ulteriormente il tuo .htaccess, ad esempio, interrompendo l’esecuzione degli script php dove non dovrebbero essere. Puoi anche assicurarti che le autorizzazioni dei tuoi file siano impostate in modo appropriato, non solo nei tuoi file WordPress ma in tutto il server.

Il mio ultimo consiglio importante, tuttavia, sarebbe quello di eseguire il backup. L’intero articolo si basa sull’idea che prevenire è meglio che curare, ma dovrebbero esserci backup regolari, utilizzabili e testati solo nel caso in cui ne avessi bisogno. Consentitemi di sottolineare sia regolari che testati: un backup di un anno fa non è essenzialmente un backup per la maggior parte dei siti che saranno cresciuti notevolmente in quel periodo. Se i backup non sono testati, non hai un backup. Seriamente non vuoi arrivare al punto in cui è necessario un backup e devi solo incrociare le dita e sperare che funzioni!

Cosa hai fatto per proteggere il tuo sito Web WordPress? Dove si traccia il confine tra sicurezza e accessibilità/usabilità? Fatemi sapere nei commenti.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More