Proteggi file e cartelle

Sicurezza WordPress (3/3): Proteggi File e Cartelle

Diciamocelo: WordPress è molto sicuro e in situazioni normali, quando utilizzi un’installazione pulita di WordPress con il tema predefinito Twenty Seventeen, non hai nulla di cui preoccuparti (a meno che la tua password non sia «password» o «123456789»).

Ma non ci sono situazioni ordinarie nella vita – potresti usare un plugin con un hosting vulnerabile o non abbastanza buono – in questo caso qualsiasi consiglio di sicurezza è importante e potrebbe proteggere il tuo sito web da accessi non voluti.

Step 1. Proteggi il file wp-config.php con .htaccess

Prima di tutto – metti il file wp-config.php in una cartella sopra rispetto a quella pubblica di installazione di WordPress. Non ti preoccupare, WordPress la troverà senza problemi anche là.

Secondo – nella stessa cartella dove hai inserito il file config.php inserisci un file nominato .htaccess con il seguente contenuto:

<files wp-config.php>
order allow,deny
deny from all
</files>

Sicurezza WordPress (3/3): Proteggi File e Cartelle 4Dovreste avere una situazione simile a quella rappresentata nell’immagine qui a sinistra, dove nella cartella public_html avrete l’installazione di WordPress.

 

Terzo – imposta i permessi dei file (chmod) su 400. Puoi farlo nel tuo client FTP / SFTP solitamente facendo clic con il tasto destro sul file.

Ma cosa significa 400 (o anche 440 e 444)? Significa che nessuno può modificare questo file. Non puoi nemmeno farlo nella tua area di amministrazione di WordPress (usando un plugin per esempio).

Consiglio anche di impostare 444 chmod per ogni file .htaccess sul tuo sito web. Inoltre, la raccomandazione del codice WordPess ufficiale è 755 per tutte le directory e 644 per i file.

Step 2. Disabilita la navigabilità delle cartelle

Prova ad aprire tuodominio/wp-content/plugins nel tuo browser e potresti vedere una cosa simile a questa:

Sicurezza WordPress (3/3): Proteggi File e Cartelle 5

Di solito WordPress include già un file index.php vuoto all’interno della cartella /wp-content/plugins/, /wp-content/themes/ e /wp-content/uploads.

Ma per quanto riguarda tutte le altre directory senza index.php, come /wp-content/uploads/2017 è opportuno aprire il file .htaccess che si trova nella cartella di installazione di WordPress e inserire all’inizio del file solo questa singola riga:

Options -Indexes

Ora, quando qualcuno cercherà di accedere direttamente alle tue directory, riceverà un errore «403 Forbidden».

Step 3. Particolare attenzione alla cartella di upload

La cartella dei caricamenti è un posto molto problematico in WordPress. Se ti sembra che il tuo sito web sia sotto attacco, guarda nella cartella dei caricamenti, suppongo che tu possa trovare qualcosa di interessante lì.

Il nostro compito ora è disabilitare lì l’esecuzione di PHP. Ci sono due modi per implementarlo (il primo è più stringente).

a. Disabilito completamente l’accesso:

<Files ~ ".*..*">
	Order Allow,Deny
	Deny from all
</Files>
<FilesMatch ".(jpg|jpeg|jpe|gif|png|mp4|pdf)$">
	Order Deny,Allow
	Allow from all
</FilesMatch>

b. Disabilito il file eseguibile come il codice PHP:

<Files *.php>
deny from all
</Files>

Indipendentemente dal modo che scegli, devi creare un altro .htaccess nella directory upload.

Step 4. Proteggi la cartella wp-admin con .htaccess

Metodo 1 – con una Password

con questo metodo, aggiungendo due semplici file nella tua directory /wp-admin/ bloccherai completamente tutte le informazioni al suo interno dall’accesso non autorizzato.

Crea pertanto un file .htaccess all’interno della cartella /wp-admin/ e inserisci questo codice:

AuthType Basic
# Messaggio di Benvenuto
AuthName "Ciao, qui è tutto protetto!"
# Indirizzo path al file .htpasswd, puoi utilizzare il comando getcwd() per trovarlo
AuthUserFile /home/tuosito.com/public_html/wp-admin/.htpasswd
require valid-user

Crea un secondo file dentro la cartella contenente le credenziali di accesso: /wp-admin/.htpasswd, ogni riga è un utente diverso. Per generare il file password puoi utilizzare questo tool online gratuito.

Metodo 2 – con l’indirizzo IP

è la protezione migliore, ma non è adatta a tutti. Ad esempio se lavori da molti luoghi diversi e talvolta durante i viaggi diventerebbe difficile (e non sicuro) dover cambiare ogni volta indirizzo IP.

Inserisci questo codice nel file .htaccess nella solita cartella da proteggere /wp-admin/ :

<limit GET>
satisfy any
order deny,allow
deny from all
allow from 213.21.33.55
allow from 213.21.34.
# add your own lines with allowed IP addresses here
require valid-user
</limit>

Semplice come bere un bicchier d’acqua, ma soprattutto efficace! Provare per credere 🙂


Scopri altri utili consigli sulla sicurezza:

Fatti sentire