Un’introduzione a WordPress Security
Le statistiche recenti mostrano che oltre il 35% degli amministratori di siti web utilizza WordPress. La sua popolarità ha un prezzo: spesso questi siti sono presi di mira da hacker e spammer malintenzionati che cercano di sfruttare i siti Web non sicuri a loro vantaggio. La sicurezza di WordPress riguarda la riduzione del rischio, non l’eliminazione del rischio.
Poiché ci sarà sempre un rischio, la sicurezza rimarrà un processo continuo, che richiede una valutazione frequente di questi vettori di attacco.
Questa guida ha lo scopo di educare gli amministratori di WordPress su tecniche di sicurezza di base e azioni attuabili che contribuiranno a migliorare l’atteggiamento sulla sicurezza e ridurre il rischio di compromissione.
Contattaci
chiama 339 848 3250
Guida alla sicurezza di WordPress
SOMMARIO ARTICOLO
1- VULNERABILITA’ SOFTWARE
Il team di sicurezza di WordPress lavora diligentemente per fornire importanti aggiornamenti di sicurezza e patch di vulnerabilità. Tuttavia, l’uso di plug-in e temi di terze parti espone gli utenti a ulteriori minacce alla sicurezza. Installando regolarmente le ultime versioni di file ed estensioni core di WordPress, puoi assicurarti che il tuo sito web possieda tutte le patch di sicurezza prevalenti.
1.1 – Controllo Plugin e temi
Plugin e temi possono diventare deprecati, obsoleti o includere bug che comportano gravi rischi per la sicurezza del tuo sito web. Per proteggere l’installazione di WordPress, ti consigliamo di controllare i tuoi plugin e temi su base regolare.
Valuta la sicurezza del tuo plugin
Puoi valutare la sicurezza dei plugin e dei temi di WordPress esaminando un paio di importanti indicatori:
- Il plugin o il tema hanno una base di installazione di grandi dimensioni?
- Ci sono molte recensioni degli utenti e la valutazione media è alta?
- Gli sviluppatori supportano attivamente il loro plug-in e spingono frequenti aggiornamenti o patch di sicurezza?
- Il fornitore elenca i termini di servizio o una politica sulla privacy?
- Il venditore include un indirizzo di contatto fisico nel ToS o da una pagina di contatto?
Leggi attentamente i Termini di servizio – potrebbero includere extra indesiderati che gli autori non hanno pubblicizzato sulla loro homepage. Se il plug-in o il tema non soddisfa uno di questi requisiti o ha cambiato proprietario di recente prima dell’ultimo aggiornamento [esempio], potrebbe essere necessario cercare una soluzione più sicura.
Rimuovi plugin e temi non utilizzati
Quando si tratta di plugin inutilizzati, less is more. La memorizzazione di plug-in indesiderati nell’installazione di WordPress aumenta la possibilità di un compromesso, anche se sono disabilitati e non vengono utilizzati attivamente nell’installazione. Non stai usando quel plugin per WordPress? Rimuovilo dalla tua installazione!
1.2 – Aggiornamenti
Aggiornamento di WordPress
Quando è disponibile un nuovo aggiornamento, riceverai una notifica nel menu Dashboard> Aggiornamenti.
Devi sempre applicare gli aggiornamenti il prima possibile. L’accesso frequente al tuo sito garantisce che tu sia a conoscenza degli aggiornamenti man mano che vengono rilasciati. Se non è possibile aggiornare il sito per qualsiasi motivo, prendere in considerazione l’utilizzo di un firewall del sito Web per applicare praticamente una patch al problema e ridurre al minimo il rischio. Per impostare gli aggiornamenti automatici in WordPress:
Accedi al tuo server tramite SFTP o SSH.
Individua il file wp-config.php, normalmente situato nella cartella principale del documento public_html.
Aggiungi il seguente snippet al file: define (‘WP_AUTO_UPDATE_CORE’, true);
ATTENZIONE: Prima di aggiornare il tuo sito Web all’ultima versione di WordPress, ti consigliamo di adottare le seguenti misure precauzionali:
- Esegui il backup del tuo sito web, specialmente di qualsiasi contenuto personalizzato.
- Consulta le note sulla versione per identificare se le modifiche avranno un impatto negativo
- Prova l’aggiornamento su un sito di sviluppo per verificare che temi, plug-in e altre estensioni siano compatibili con la versione più recente.
Per applicare manualmente gli aggiornamenti in WordPress:
- Accedi al tuo server tramite SFTP o SSH.
- Rimuovere manualmente le directory wp-admin e wp-includes
- Sostituisci i file core dalla directory principale, / wp-admin / e / wp-includes / utilizzando le copie dal repository ufficiale di WordPress.
- Accedi a WordPress come amministratore: potresti visualizzare una richiesta per aggiornare il database.
- Clicca su Aggiorna database WordPress.
- Una volta aggiornato il database, accedere a Dashboard> Aggiornamenti.
- Applica eventuali aggiornamenti mancanti.
- Apri il tuo sito Web per verificare che sia operativo.
NOTA: Alcuni aggiornamenti possono rompere il tuo sito, quindi assicurati di verificare che sia pienamente operativo dopo l’applicazione di un aggiornamento. Gli utenti esperti possono fare riferimento alla guida del Codex di WordPress sugli aggiornamenti utilizzando subversion
Aggiornamento dei plugin
WordPress potrebbe non essere in grado di aggiornare l’estensione se è stata scaricata da un sito Web di terze parti. In tal caso, potrebbe essere necessario aggiornare manualmente il plug-in usando FTP o utilizzare un programma di aggiornamento incluso.
Per applicare manualmente gli aggiornamenti per i plugin in WordPress:
- Verifica la compatibilità tra il plugin e la tua attuale versione di WordPress.
- Scarica l’ultima versione del plugin da una fonte ufficiale e salvala sul tuo computer locale.
- Verifica le istruzioni speciali per l’aggiornamento dallo sviluppatore o dal fornitore del plug-in. Se nessuno esiste, procedere con i passaggi 4-9.
- Accedi al tuo server tramite SFTP o SSH.
- Vai a / wp-content / plugins / e scarica questa cartella sul tuo computer per fungere da backup.
- Individua la directory del plugin che vuoi aggiornare ed eliminalo dall’FTP.
- Carica la versione più recente nella stessa posizione.
- Accedi a WordPress come amministratore e fai clic su Dashboard> Plugin.
- Individua il plug-in appena aggiornato dall’elenco e fai clic su Attiva.
Aggiornamento di temi
Se non si utilizza un child theme per le personalizzazioni, è necessario copiare le modifiche in una nuova cartella tema, quindi aggiornarlo su FTP.
Per aggiornare manualmente i temi in WordPress:
- Collegati al tuo sito web usando FTP e vai a / wp-content / themes /, quindi scarica la cartella del tema corrente sul tuo computer.
- Visita il sito Web del tema per scaricare l’ultima versione del tema e salvalo sul tuo computer locale: ora avrai due copie della cartella del tema.
- Copia eventuali personalizzazioni e modifiche al codice dal vecchio tema e aggiungili ai nuovi file del tema.
- Carica la versione più recente della directory del tema, completa di personalizzazioni su WordPress tramite FTP.
2- Controllo degli accessi
Gli aggressori sfruttano frequentemente le credenziali utente deboli per ottenere l’accesso ai siti Web WordPress.
Utilizzando password forti e uniche sul tuo sito web, limitando i privilegi disponibili agli utenti attraverso ruoli assegnati, abilitando l’autenticazione in due fasi o multi-fattore e limitando le sessioni utente, puoi ridurre il rischio di compromissione di un sito web da parte di un malintenzionato.
2.1 – Account utente
Admin
La maggior parte degli attacchi è rivolta ai punti di accesso wp-admin, wp-login.php e xmlrpc.php utilizzando una combinazione di nomi utente e password comuni.
Se si usa un nome utente univoco e e si rimuove l’account amministratore predefinito nell’installazione di WordPress, è molto più difficile per gli attaccanti indovinare (con attacchi di forza bruta) la loro strada nel tuo sito web.
Sostituisci l’account “admin” predefinito:
- Accedi a WordPress come amministratore.
- Dalla Dashboard, seleziona Utenti> Aggiungi nuovo.
- Utilizzando un nuovo indirizzo email, crea un nuovo account e imposta il ruolo su Amministratore.
- Salva il nuovo utente, quindi disconnettiti e accedi di nuovo con il tuo nuovo account amministratore.
- Dalla Dashboard, seleziona Utenti> Tutti gli utenti.
- Passa il mouse sopra il nome utente admin, quindi seleziona Elimina.
- Attribuisci vecchi messaggi al nuovo account Administrator.
Ruoli e il principio del minimo privilegio
Il principio del privilegio minimo è composto da due passaggi molto semplici:
- Utilizzare il set minimo di privilegi su un sistema per eseguire un’azione.
- Concedi i privilegi solo per la durata esatta in cui un’azione è necessaria.
Con questo concetto in mente, WordPress include ruoli integrati per amministratori, autori, editori, contributori e iscritti. Questi ruoli specificano cosa può e cosa non può essere realizzato da un utente.
Segui questi consigli sul controllo degli accessi per ridurre i rischi per la sicurezza:
- Crea nuovi account utente al livello più basso di autorizzazione.
- Concedere autorizzazioni temporanee e revocare l’accesso quando non sono più necessari.
- Elimina account che non vengono più utilizzati.
- Assicurarsi che il ruolo utente predefinito sia impostato su Sottoscrittore:
- Accedi a WordPress come amministratore.
- Verificare che le autorizzazioni del Sottoscrittore includano solo la possibilità di accedere e aggiornare un profilo.
- Dalla Dashboard, seleziona Impostazioni> Generale.
- Imposta il ruolo predefinito dell’utente nuovo per l’iscritto.
2.2 – Password
Gli elenchi di password vengono spesso utilizzati dagli aggressori nei siti Web WordPress a forza bruta. Questo è il motivo per cui dovresti sempre usare password forti e uniche per tutti i tuoi account.
Le password complesse dovrebbero soddisfare i seguenti standard:
- Almeno 1 carattere maiuscolo
- Almeno 1 carattere minuscolo
- Almeno 1 cifra
- Almeno 1 personaggio speciale
- Almeno 10 caratteri, con non più di due caratteri identici in una riga
Autenticazione a due fattori
L’autenticazione a due fattori fornisce un secondo livello di protezione per il tuo account. Questa funzione richiede che un utente approvi un accesso tramite un’app e protegge il tuo account nel caso in cui qualcuno sia in grado di indovinare la tua password.
Per aggiungere 2FA a WordPress usando Google Authenticator:
- Scarica e installa Google Authenticator sul tuo iPhone o Android.
- Installa e attiva un plug-in 2FA per WordPress come il 2FA di miniOrange.
- Seleziona miniOrange 2-Factor dal menu di sinistra e segui le istruzioni.
- Una volta ottenuto il codice QR, apri Google Authenticator e fai clic sul pulsante Aggiungi nella parte in basso a destra dell’applicazione.
- Esegui la scansione del codice QR visualizzato dal plug-in utilizzando la fotocamera del telefono.
- Verifica il codice sulla pagina del plugin.
La piattaforma di sicurezza del sito Web di Sucuri include una funzionalità che ti aiuta a proteggere con password o implementare 2FA su qualsiasi pagina del tuo sito web.
Per aggiungere 2FA a qualsiasi pagina del tuo sito web usando Sucuri:
- Scarica e installa Google Authenticator sul tuo iPhone o Android.
- Accedere a Sucuri Dashboard e navigare su Website Firewall.
- Fare clic sul sito Web che si desidera proteggere, quindi selezionare Controllo accesso dalla barra di navigazione superiore.
- Inserisci il nome della pagina che desideri proteggere (ad esempio /wp-login.php), quindi seleziona 2FA con Google Auth dal menu a discesa.
- Fai clic su Proteggi pagina e scansiona il codice QR con il tuo dispositivo mobile utilizzando Google Authenticator.
2.3 – Limitare i tentativi di accesso
WordPress consente agli utenti di tentare un accesso illimitato per impostazione predefinita, ma questo lascia il tuo sito vulnerabile agli attacchi di forza bruta mentre gli hacker tentano di tentare diverse combinazioni di password.
È possibile aggiungere un ulteriore livello di sicurezza limitando il numero di tentativi di accesso a un account tramite un plug-in o utilizzando un WAF (Web Application Firewall).
Alcuni plugin popolari che forniscono questa funzionalità includono Limit login attempts, o Loginizer.
2.4 – CAPTCHA pre-login
L’acronimo sta per Completely Automated Public Turing test to tell Computers and Humans Apart. Questa funzione è estremamente utile per impedire ai bot automatizzati di accedere al dashboard di WordPress e inviare spam indesiderati tramite i moduli.
Tra i plugin popolari che aggiungono un CAPTCHA alla tua pagina di accesso di WordPress troviamo Really simple Captcha.
2.5 – Limita l’accesso agli URL autenticati
Limitare l’accesso alla tua pagina di accesso solo agli IP autorizzati impedirà l’accesso non autorizzato.
Ci sono plugin disponibili che possono farlo. Se si utilizza un WAF basato su cloud come il Firewall di Sucuri, è possibile limitare l’accesso a questi URL tramite la dashboard senza dover fare confusione con i file .htaccess.
3 – SICUREZZA PROATTIVA DI WORDPRESS
Nel campo dell’Information Security (InfoSec) si usa la frase defense in depth.
Per apprezzare questa ideologia, è necessario sottoscrivere un principio molto semplice: non esiste una soluzione completa al 100% in grado di proteggere qualsiasi ambiente.
In questa sezione, abbiamo elencato una serie di soluzioni che puoi utilizzare sul tuo sito web per fornire una strategia efficace di difesa in profondità. Con la stratificazione di questi controlli difensivi, sarai in grado di identificare e mitigare gli attacchi contro il tuo sito web.
3.1 – Plugin di sicurezza
Se vai al repository ufficiale di WordPress e fai una rapida ricerca con la parola chiave Sicurezza, troverai oltre 4.000 plugin con categorizzazioni e set di funzionalità distinti.
Analizzeremo le categorie e spiegheremo la loro importanza in modo da poter trovare le giuste soluzioni per le tue esigenze.
WordPress Security Plugin – Prevention Category
Questi plugin sembrano fornire un livello di prevenzione, altrimenti noto come difesa perimetrale per il tuo sito web. Il loro obiettivo è di impedire che gli hack filtrino il traffico in entrata.
I plugin di prevenzione sono spesso limitati a lavorare a livello di applicazione, il che significa che l’attacco deve colpire l’applicazione WordPress per farli rispondere. Gli attacchi contro il software del server non possono essere prevenuti con i plugin di sicurezza, motivo per cui consigliamo di prendere in considerazione un WAF basato su cloud.
WordPress Security Plugin – Categoria di rilevamento
La protezione è ottima per problemi noti, ma non così grande per l’ignoto. Essere in grado di rilevare tutto ciò che supera la difesa perimetrale è estremamente prezioso, ed è qui che entra in gioco il rilevamento.
Questi plugin cercheranno di identificare gli intrusi attraverso i controlli di integrità dei file, la ricerca di indicatori di compromissione o una combinazione dei due meccanismi.
L’efficacia di questi plugin è strettamente determinata dall’ordine in cui sono installati. Ad esempio, se il plug-in si basa sui controlli di integrità, è necessario installarlo su un ambiente nuovo e conosciuto, in modo che possa creare una linea di base da cui controllare.
Alcuni plug-in possono confrontare i temi e i plugin di terze parti noti con il proprio repository per poter lavorare con siti Web già compromessi, ma questi non sono compatibili con file personalizzati o poco conosciuti.
I plug-in di rilevamento sono importanti per identificare se qualcosa è andato storto sul tuo sito web. Questi strumenti ti garantiscono di essere informato quando si verifica un incidente di sicurezza.
WordPress Security Plugin – Categoria di controllo
Contrariamente alla credenza popolare, la sicurezza non è qualcosa da impostare e poi dimenticare. Devi investire tempo nel processo e abituarti a quello che sta succedendo, a chi sta effettuando l’accesso, a cosa sta cambiando e quando vengono apportate le modifiche.
I plug-in di controllo possono aiutarti a rispondere alle domande precedenti offrendo funzionalità di amministrazione di base che consentono di identificare, ostacolare o rispondere a un compromesso.
WordPress Security Plugin – Utility Category
Questo è forse la tipologia più varia dell’intero ecosistema di plugin per la sicurezza di WordPress. Alcuni plugin sono quelli che consideriamo essere i coltelli svizzeri nel panorama della sicurezza. Questi plugin di utilità hanno un set di funzionalità molto più ristretto.
Questi plug-in possono essere esaustivi nelle opzioni di configurazione della sicurezza. Hanno tutte le possibili configurazioni che potresti o vorrai utilizzare e sono più adatte per gli utenti che amano armeggiare o vogliono la possibilità di configurare opzioni specifiche per soddisfare le loro esigenze. Ad esempio, alcuni plugin di sicurezza semplicemente disabilitano XML-RPC o spostano la tua pagina di accesso.
Inoltre riserviamo questa categoria per set di strumenti come backup o plugin di manutenzione che rispondono a specifiche funzioni di sicurezza.
3.2 – Hosting
Il concetto di sicurezza dell’hosting di un sito Web è maturato negli ultimi anni ed è un argomento complesso. La maggior parte degli host fornisce la sicurezza richiesta a vari livelli, ma non per il sito stesso. Esistono numerosi provider di hosting che offrono sicurezza a un costo aggiuntivo, ma a meno che tu non abbia acquistato un prodotto di sicurezza da loro, è improbabile che risolveranno un tuo problema.
Esistono quattro ambienti di hosting principali che possono essere utilizzati per l’installazione di WordPress:
- Ambienti di hosting condiviso
- Ambienti Virtual Private Server (VPS)
- Managed Hosting Environments
- Server dedicati
In teoria, gli ambienti che rimuovono la maggior parte delle dipendenze dell’utente offriranno la massima sicurezza. Se hai tempo e abilità per proteggere il tuo ambiente, allora hai più opzioni ma anche più responsabilità.
In realtà, tuttavia, il tipo di ambiente di hosting che scegli dovrebbe essere dettato dalle tue esigenze e competenze:
Se sei qualcuno che ha poca comprensione di come funzionano i siti web, è nel tuo interesse andare in un ambiente gestito.
Se sei un’organizzazione il tuo centro operativo di rete (NOC), il centro operativo di sicurezza delle informazioni (SOC), o amministratori di sistema dedicati, un server VPS o dedicato offrono un migliore isolamento del tuo ambiente (supponendo che sia propiamente configurato).
Puoi anche avviare una conversazione con il tuo provider di hosting per identificare la loro posizione sulla sicurezza. Alcuni punti chiave dovrebbero essere affrontati:
- Quali precauzioni di sicurezza stanno adottando per proteggere il tuo sito Web (non solo il loro server)?
- Quali azioni intraprenderanno se identificheranno il malware su uno dei tuoi siti web?
- Quanto spesso cercano malware?
- Offrono servizi di risposta agli incidenti?
- Dovrai contattare una terza parte se il tuo sito è compromesso?
Nota: Utilizzare account FTP e utente accuratamente isolati su ambienti server condivisi per evitare la contaminazione tra siti.
Connessioni SFTP / SSH
Il trasferimento sicuro dei file da e verso il tuo server è un aspetto importante della sicurezza dei siti Web nel tuo ambiente di hosting. La crittografia garantisce che tutti i dati inviati siano protetti da occhi indiscreti che potrebbero sniffare il traffico di rete.
Ti consigliamo di utilizzare uno dei seguenti metodi per connettersi al tuo server:
SSH: Secure Socket Shell è un protocollo di rete sicuro e il modo più comune per amministrare in modo sicuro i server remoti. Con Secure Socket Shell, qualsiasi tipo di autenticazione, inclusa l’autenticazione della password e il trasferimento dei file, è completamente crittografata.
SFTP: SSH File Transfer Protocol è un’estensione di SSH e consente l’autenticazione su un canale sicuro. Se si utilizza FileZilla o qualche altro client FTP, è spesso possibile selezionare SFTP. La porta predefinita per SFTP nella maggior parte dei servizi FTP è 22.
3.3 – BACKUP
Il mantenimento dei backup del sito Web dovrebbe essere una delle attività ricorrenti più importanti per un amministratore del sito web. Un buon insieme di backup può salvare il tuo sito Web quando assolutamente tutto il resto è andato storto. Se un malintenzionato decide di voler cancellare tutti i file del tuo sito o di corrompere i file del tuo sito con i loro script bug, il danno può essere annullato ripristinando il tuo sito dai tuoi backup.
Esistono quattro requisiti chiave per l’utilizzo di una soluzione di backup di successo:
- Ubicazione offsite: i backup devono essere archiviati offsite e non sullo stesso server del tuo sito web. I backup archiviati sul tuo server web rappresentano un serio rischio per la sicurezza perché spesso contengono vecchi software privi di patch con vulnerabilità e, a causa della loro posizione accessibile al pubblico, chiunque può sfruttarli per attaccare il tuo sito web dal vivo. I backup off-site aiutano anche a proteggere da guasti hardware. Se il disco rigido del tuo server web non funziona, puoi facilmente perdere tutti i tuoi dati: il sito live e i backup.
- Automatico: i sistemi di backup devono essere completamente automatizzati per garantire che i backup vengano eseguiti regolarmente. Gli esseri umani sono pigri e smemorati, quindi puoi mitigare gli errori degli utenti attraverso l’automazione. Se una soluzione manuale è l’unica opzione, assicurati di programmare un orario per eseguire i backup regolarmente.
- Ridondante: la seconda legge del calcolo di Schofield afferma che i dati non esistono se non ne esistono almeno due copie. Ciò significa che la strategia di backup deve includere ridondanza o backup dei backup.
- Testato e True: assicurati che il processo di ripristino funzioni effettivamente. Inizia con una directory web vuota e poi assicurati di poter utilizzare quei backup per recuperare tutti i tuoi dati e il sito Web di nuovo online con un dominio di prova utilizzando nient’altro che il file di backup.
3.4 – Rilevazione
Esistono numerosi strumenti che puoi utilizzare per identificare qualcosa che è andato storto sul tuo sito web. Per aiutarti a rispondere rapidamente a una violazione della sicurezza, puoi utilizzare uno strumento che includa i seguenti servizi.
Monitoraggio dell’integrità
I controlli di integrità sono un aspetto importante del controllo della tua installazione di WordPress e possono darti un avviso tempestivo di un’intrusione sul tuo sito web.
Gli strumenti di monitoraggio dell’integrità dei file vengono normalmente installati su un server in cui creano un checksum crittografico di base dei file critici e delle voci di registro. Se un file o un record vengono modificati in qualche modo, riceverai una notifica delle modifiche.
È possibile installare il plug-in gratuito Sucuri Scanner per WordPress per utilizzare il nostro sistema di monitoraggio dell’integrità dei file.
Auditing / Avvisi
Gli strumenti di controllo ti danno visibilità sulle attività degli utenti sul sito web.
Come amministratore del tuo sito web dovresti fare domande come:
- Chi sta effettuando l’accesso?
- Dovrebbero accedervi?
- Perché stanno cambiando quel post?
- Perché si connettono quando dovrebbero dormire?
- Chi ha installato quel plugin?
Non possiamo che sottolineare l’importanza dell’attività di registrazione. Utilizza uno strumento che registra e ti avvisa di eventuali azioni intraprese sul tuo sito web, tra cui:
- Successo e guasti dell’autenticazione dell’utente
- Creazione / rimozione dell’utente
- Caricamenti di file
- Creazione di post e pagine
- Pubblicazione di post e pagine
- Modifica / attivazione del widget
- Installazione del plugin
- Modifiche del tema
- Modifiche alle impostazioni
Piano di risposta e recupero
La risposta e il recupero non riguardano solo la risposta a un compromesso o incidente, ma l’analisi dell’impatto di un attacco per capire cosa è successo e l’implementazione dei controlli per evitare che si ripeta.
Manteniamo attivamente un plug-in di sicurezza WordPress gratuito che include tutte le funzionalità sopra elencate per migliorare la sicurezza e identificare gli indicatori di compromesso.
Se ritieni che il tuo sito WordPress sia stato violato, leggi la nostra guida Come pulire un WordPress Hack o raggiungere il team di rimozione malware Sucuri, disponibili 24/7/365.
4 – RACCOMANDAZIONI DI HARDENING
Attenzione: i seguenti consigli sono per gli amministratori di server con la conoscenza di come funzionano questi file. Se non ti senti a tuo agio con questi suggerimenti, ti consigliamo di utilizzare un firewall del sito web che include invece l’hardening virtuale.
4.1 – Configurazioni di base .htaccess
Il file .htaccess è ciò che la maggior parte dei produttori modificherà quando affermano di rafforzare il proprio ambiente.
Questo file di configurazione critico è specifico per i server Web in esecuzione su Apache. Se stai eseguendo l’istanza di WordPress su uno stack LAMP usando Apache, ti consigliamo di rafforzare il tuo sito aggiornando il tuo file .htaccess con le seguenti regole.
Regola di riscrittura:
Questa regola è generata da WordPress se ha accesso in scrittura al server, in particolare per risolvere i problemi con i permalink . Se non è nella parte superiore del file, posiziona nella parte superiore del tuo file .htaccess. Qualsiasi altra regola dovrebbe andare dopo le affermazioni # BEGIN WordPress e # END WordPress.
# BEGIN WordPress
# Rewrite rule
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Limita gli accessi all’intervallo IP
Questa regola limita l’accesso a wp-login.php a un IP, proteggendoti da tentativi di accesso non autorizzati in altre località. Anche se non si dispone di un IP statico, è comunque possibile limitare gli accessi al proprio intervallo comune ISP.
Utilizza questa stessa voce su altri URL autenticati che desideri limitare, incluso / wp-admin. Se si utilizza un IP dinamico, è possibile fare riferimento alle nostre istruzioni: Come bloccare WordPress Admin Panel con un IP dinamico
# Block IPs for login Apache 2.2
<files /wp-login.php>
order deny, allow
allow from MYIP
allow from MYIPIP2
deny from all
</files>
# Block IPS for login Apache 2.4
<Files “wp-login.php”>
Require all denied
</Files>
Proteggi wp-config.php
Questa regola impedisce ai visitatori di accedere al tuo file wp-config.php, che contiene informazioni sensibili sul database, inclusi nome, host, nome utente e password. Questo file viene anche utilizzato per definire impostazioni avanzate, chiavi di sicurezza e opzioni di sviluppo.
<FilesMatch "wp-config\.php">
Require all denied
</FilesMatch">
Impedisci la navigazione nella directory
Questa regola impedisce agli aggressori di visualizzare il contenuto della cartella del tuo sito web, limitando le informazioni che devono sfruttare il tuo sito web.
# Prevent directory browsing
Options All -Indexes
Impedisci l’hotlink delle immagini
Questa regola impedisce ad altri siti web di utilizzare immagini ospitate sul tuo sito web. Sebbene l’hotlinking non comprometta il tuo sito, può provocare un dannoso sfruttamento delle risorse del tuo server. Cambia example.com con il tuo sito web.
# Prevent image hotlinking
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} \
!^http://(www\.)example.com/.*$ [NC]
RewriteRule \.(gif|jpg|jpeg|bmp|png)$ – [NC,F,L]
Proteggi .htaccess
Questa regola impedisce agli aggressori di accedere a qualsiasi file che inizia con “hta” – questo garantisce che i file .htaccess siano protetti in tutte le directory del tuo server.
# Protect htaccess Apache 2.2
<files ~ “^.*\.([Hh][Tt][Aa])”>
order allow, deny
deny from all
satisfy all
</files>
# Protect htaccess Apache 2.4
<FilesMatch “^.*\.([Hh][Tt][Aa])”>
Require all denied
</FilesMatch>
Il blocco include
Questa regola impedisce agli hacker di inserire file dannosi in una delle quattro cartelle principali utilizzate per includere:
/ wp-admin / include /
/ wp-includes
/ wp-includes / js / tinymce / langs /
/wp-includes / theme-compat /
# Block Includes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ – [F,L]
RewriteRule !^wp-includes/ – [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ – [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php \
– [F,L]
RewriteRule ^wp-includes/theme-compat/ – [F,L]
</IfModule>
Prevenire backdoor PHP
Questa regola impedisce agli hacker di posizionare backdoor PHP nelle cartelle / wp-include / e / wp-content / uploads /, due posizioni popolari per i caricamenti di file dannosi.
# Backdoor Protection Apache 2.2
<Files *.php>
deny from all
</Files>
# Backdoor Protection Apache 2.4
<FilesMatch “.+\.php$”>
Require all denied
</FilesMatch>
4.2 – Configurazioni dell’applicazione
WP-Config
Il file wp-config.php è un file di configurazione molto importante che contiene informazioni sensibili sul tuo sito WordPress, comprese le connessioni al database.
Se il file wp-config.php non esiste nella cartella principale, WordPress cercherà automaticamente questo file nella cartella sopra la directory principale. Lo spostamento di questo file fuori dalla cartella principale impedisce a wp-config.php di essere accessibile da Internet.
Sali e chiavi
Il file wp-config include una sezione dedicata ai sali e alle chiavi di autenticazione. Questi sali e chiavi migliorano la sicurezza dei cookie e delle password che sono in transito tra il tuo browser e il server web.
Puoi impostare le tue chiavi includendo o modificando queste righe dopo le altre istruzioni di definizione nel tuo file wp-config.php:
define (‘AUTH_KEY’, ‘include salt here’);
define (‘SECURE_AUTH_KEY’, ‘include salt here’);
define (‘LOGGED_IN_KEY’, ‘include salt here’);
define (‘NONCE_KEY’, ‘include salt here’);
Puoi facilmente generare le tue chiavi di salatura navigando verso il generatore di wordpress.org
Disabilita modifica file
Per impostazione predefinita, le modifiche ai file possono essere apportate tramite Aspetto> Editor dal dashboard di WordPress.
Puoi aumentare la sicurezza di WordPress disabilitando la modifica dei file dalla dashboard. Ciò impedisce a un utente malintenzionato di modificare i file tramite il back-end o l’amministratore di wp. Sarai comunque in grado di apportare modifiche tramite SFTP / SSH.
Per disabilitare la modifica dei file dalla dashboard, includi le seguenti due righe di codice alla fine del tuo file wp-config.php:
## Disabilita modifica in Dashboard
define (‘DISALLOW_FILE_EDIT’, true);
Nota: Alcuni plug-in disabilitano la modifica dei file come parte del loro processo di hardening o come impostazione aggiuntiva.
5- SERVIZI DI SICUREZZA
Esistono numerosi servizi professionali che si prendono cura delle esigenze di sicurezza del tuo sito web per te. Non tutti i servizi sono uguali: alcuni di essi si fanno pagare degli extra per sistemare hack complessi e altri forniscono set di funzionalità a livelli diversi. Dovresti scegliere quello più adatto alle tue esigenze.
Se il tuo host fornisce servizi di sicurezza, dedica del tempo a ricercare esattamente quali caratteristiche includono. Normalmente sono felici di consigliarti su come integrare i loro set di funzionalità di base con servizi aggiuntivi.
Il vantaggio di utilizzare un servizio di sicurezza basato su cloud come Sucuri è che fornisce una sicurezza completa del sito end-to-end. Ciò significa che i servizi di protezione, rilevamento e risposta sono inclusi in una piattaforma all-in-one e senza costi nascosti.
La nostra alta disponibilità Globally Distributed Anycast Network (GDAN) garantisce che i siti web possano servire in modo efficiente il loro pubblico globale mitigando gli attacchi DDoS.
6 – IMPLEMENTAZIONE di SSL e HTTPS
SSL è diventato sempre più importante negli ultimi due anni, non solo per trasmettere in modo sicuro le informazioni da e verso il tuo sito web, ma anche per aumentare la visibilità e ridurre le possibilità di essere penalizzato.
SSL consente l’accesso a un sito Web tramite HTTPS, che crittografa i dati inviati tra visitatori e server Web. Dal 2014, SSL è un segnale di ranking per SEO e Google ha ora iniziato a segnalare i siti Web non HTTPS che trasmettono dati relativi a password e carte di credito.
Abbiamo preparato una guida gratuita su come implementare SSL sul tuo sito web. Se hai bisogno di assistenza, puoi raggiungerci e scoprire come possiamo aiutarti ad attivare SSL / HTTPS tramite il nostro WAF basato su cloud.
Traduzione autorizzata da Sucuri che detiene il copyright dell’articolo. Leggi l’articolo originale (in Inglese)
Lascia un commento