Come proteggi un'installazione di WordPress predefinita?
Che checklist usi, buone pratiche, consigli e suggerimenti, ecc.?
Qualsiasi suggerimento sui plugin, strumenti di terze parti sono i benvenuti.
Come proteggi un'installazione di WordPress predefinita?
Che checklist usi, buone pratiche, consigli e suggerimenti, ecc.?
Qualsiasi suggerimento sui plugin, strumenti di terze parti sono i benvenuti.
In realtà, sul sito di wordpress è disponibile un'ottima guida: Hardening WordPress .
Tuttavia la mia personale lista di controllo breve è
ModSecurity con il set di regole di base non è male, ma è meglio configurarlo in modo esplicito per ogni input che l'app richiede, oltre a correggere l'output senza escape che invia sull'outbound. Funziona meglio in modalità proxy completo, ma include alcuni altri vantaggi esclusivi. Potrebbe essere intelligente usare entrambi, specialmente dal momento che Wordpress è insicuro.
Un passo sarebbe quello di proteggere il server (che di solito è Apache) che è descritto nelle risposte della mia domanda precedente di Hardening Apache Server
.htaccess
puoi bloccare la tua directory wp-admin in base all'indirizzo IP. Ciò significa che solo gli indirizzi IP specificati possono accedere agli URL del dashboard di amministrazione. Oltre agli ottimi consigli sopra, ho un altro suggerimento: di recente ho pubblicato un plugin per Wordpress che potresti trovare utile. Lo chiamo Foresight . È disponibile per il download dalla directory dei plugin di Wordpress:
(È anche rispecchiato su github .)
Il plug-in è piuttosto semplice: tutto ciò che fa è caricare un collegamento "Previsione" nella sezione "Strumenti" della barra laterale quando hai effettuato l'accesso come amministratore. Se fai clic su quel link, ti verrà presentata una serie di iframe a schede, ognuno dei quali mostra i più recenti exploit di Wordpress trovati sui seguenti popolari tracker di exploit:
Questo strumento non è particolarmente elaborato o altro. (Lo considero uno strumento stupido per un amministratore intelligente), in quanto alla fine sta solo caricando un mucchio di iframe. Per usarlo, basta caricarlo periodicamente e sfogliare gli exploit, tenendo d'occhio gli exploit nel core di Wordpress o nei plugin che usi. Se trovi un simile exploit, puoi quindi prendere una decisione intelligente sul modo migliore di procedere.
Ho creato questo plugin perché, dopo la recente debacle di TimThumb, mi è apparso evidente che molti amministratori di Wordpress non tengono d'occhio i tracker degli exploit. La mia speranza è che questo renderà leggermente più facile farlo.
Aggiungerò anche la mia risposta:
Utilizzo di HTTPS (esiste anche ssl gratuito per "Let's encrypt").
Non digita credenziali su PC / WIFI pubblico / sconosciuto (se ho bisogno di internet al volo, condivido internet dal mio cellulare al mio portatile)
Utilizzo di password sicure
avendo solo 1 admin (me stesso) e gli altri come editor, ecc ...
Iscrizione a wpvulndb.com per le notizie di tutti i giorni.
Verifica dei siti con plug-in Pen-Test (come questi ).
Utilizzo del plug-in di autorizzazione a due vie
Modifica Nicename
& DisplayName
- impostali diversi da username
.
Disattiva gli avvisi sulla pagina di accesso (utilizzando il iThemes plug-in)
Blocco brute-force (utilizzando il iThemes plug-in)
Modifica wp-admin
url (utilizzando il iThemes plug-in)
Disabilita le modifiche ai file PLUGIN / THEME dal dashboard (utilizzando il iThemes plug-in)
In alcuni casi, utilizzando il plug-in IP LOGIN RESTRICTOR (blocca tutti gli IP non consentiti se tenta di inserire qualsiasi pagina in /wp-admin
area.
installa plugin di sicurezza (come iThemes), che fa:
Se il sito specifico è ALTAMENTE CRITICO, io uso solo i plugins e il tema **, che è la fonte che ho controllato line-by-line per sicurezza.
attiva gli aggiornamenti automatici per CORE & PLUGINS & TEMI !
usa il plug-in "blocco di IP / bot non valido"
installazione del plug-in Attività per ispezionare le attività di volta in volta.
controlla i record di accesso per gli IP se qualcuno è entrato da un altro paese.
Esci se usi internet pubblico.
qualcuno potrebbe ignorare autorizzazione a due vie , wp-admin
backend di offuscamenti o altre restrizioni usando:
"COOKIE Forza bruta" (anziché la verifica della password dell'utente).
L'app WordPress su Android (non richiede dettagli a 2 fattori, perché ha il modo di connettersi a WP)
Comandi JSON-API (non richiede dettagli a 2 fattori o ecc ...)
"Consigli inutili" :
Potresti aver sentito molti di questi, ma sono inutili:
Nascondere tutti i link wp-*
nell'origine (abbastanza inutile, qualcuno controlla solo qualsiasi file, cioè example.com/wp-settings.php
per 200 codice HTTP).
Nascondere la versione / readme di WordPress (inutile, perché qualcuno potrebbe controllare l'origine del sito e capirà quale versione si sta utilizzando)
Modifica dell'amministratore username (inutile, chiunque può visualizzare i tuoi nomi utente in: yoursite.com/wp-json/wp/v2/users
a meno che tu non faccia quello che ho detto in alto)
Ci sono centinaia di articoli su questo argomento. Si prega di leggere i seguenti articoli.
Se puoi permetterti, affitta un server dedicato in modo che altri siti Web compromessi che sono ospitati nella stessa casella del tuo non ti influenzino. Puoi fare tutto ciò che puoi per assicurarti che il tuo sito web sia sicuro, ma se il tuo host utilizza una versione obsoleta di Apache o Linux, quella sola potrebbe essere la tua fine.
Effettua regolarmente un checksum e / o una revisione del codice sui tuoi plugin. È normale che gli hacker inseriscano shellcode nei plug-in, sia perché non ci si aspetterebbe che / lo cerchino lì, sia perché verrà eseguito ogni volta che viene eseguito il plug-in. Se trovi dei plug-in che non puoi verificare di aver installato, rimuovilo. Tieni d'occhio anche la data in cui un plug-in è stato modificato per l'ultima volta, documenta ogni modifica apportata a un plug-in.
Se è necessario memorizzare le password, farlo in modo sicuro. Utilizzare un algoritmo di hash strong con un sale per utente (non ci dovrebbero essere due sali uguali). Gli utenti salt (se archiviati) dovrebbero essere in un database separato. Leggi questo articolo (OSWASP) su come memorizzare le password in modo sicuro.
Parlando di database, usa la regola dei privilegi minimi. Controllare se le credenziali dell'utente sono corrette non richiede i privilegi di root.
Assicurati di eseguire la convalida su tutti gli input dell'utente . Per le ricerche, i campi di registrazione, ecc. Sarà facile, i commenti / le risposte non tanto. Imposta una whitelist di input validi, limita tutto il resto. Ad esempio, nella pagina di registrazione non vi è alcun motivo per autorizzare nient'altro che a-z, A-Z e 0-9 sul campo del nome utente. Tutto il resto dovrebbe essere esplicitamente limitato. Dalla mia esperienza, il modo più semplice per entrare in un sito Web (Wordpress o meno) è sfruttando la convalida incompetente. Utilizzare le whitelist e l'escape dei caratteri.
Account per tutti i vettori di attacco. Se stai solo facendo un'installazione di Wordpress, la sua sicurezza è relativamente semplice. Tuttavia, in futuro è possibile installare plugin e applicazioni aggiuntivi (forum, e-commerce, analisi, ecc.). Devi quindi assicurarti che siano aggiornati e che tu disponga di password sicure.
Limita il numero di tentativi di accesso che un utente può tentare prima di essere bloccato. Personalmente, io uso il nome appropriato " Limitare i tentativi di accesso ", ma ce ne sono parecchi là fuori, ad esempio Accesso bloccato . Alcune persone usano anche un CAPTCHA sulla loro pagina di accesso, è una questione di preferenza. Ciò ridurrà enormemente le probabilità di un attacco di forza bruta (un metodo di penetrazione già scadente) dal successo. Abilita anche la registrazione opzionale.
Se hai bisogno di ulteriori informazioni, non esitare a contattarmi. Avevo ancora molto da aggiungere, ma ho deciso di rimuoverlo per risparmiare energia;)
Per l'autocontrollo potresti trovare plecost di interesse.
Consulta definitivamente il link per un elenco molto completo di tattiche e strategie. Altre risposte alla tua domanda hanno link altrettanto utili. Passa attraverso ognuno di essi a turno fino a quando non senti di avere una copertura adeguata.
Inoltre, sii MOLTO consapevole dei plugin che installi e di quanti. Mentre WordPress è in costante sviluppo e peer review, lo stesso non si può dire di molti di questi plugin. Ognuno rappresenta un rischio per la sicurezza e deve essere mantenuto.
Il plugin di sicurezza di iThemes è abbastanza buono per fare cose come cambiare i nomi di login, il prefisso del database, i sali e persino cambiando / nascondendo l'area di amministrazione e la pagina di accesso. È anche utile per controllare le autorizzazioni.
Qualcosa di cui non ho visto molto è come proteggere xmlrpc.php che è esposto agli attacchi DoS anche se si usa il plugin Jetpack e si passa "alla protezione". Ho trovato questo codice da inserire nel file .htaccess o apache per consentire solo l'accesso xmlrpc.php dall'intervallo IP di WordPress.
<files xmlrpc.php="">
Order Deny,Allow
Deny from all
Allow from 192.0.64.0/18
Satisfy All
ErrorDocument 403 http://127.0.0.1/
</files>
Si spera che questo sia utile o forse qualcuno conosce un modo migliore per proteggere xmlrpc.php?
Leggi altre domande sui tag wordpress webserver web-application attack-prevention hardening