Permessi file WordPress: la guida alla configurazione dei permessi di siti Web e server Web sicuri

Pubblicato: 2020-07-02

WordPress può essere eseguito praticamente su qualsiasi sistema operativo che esegue PHP. Tuttavia, la stragrande maggioranza dei siti Web WordPress funziona su Linux. Pertanto è importante comprendere i permessi dei file Linux.

È fondamentale ottenere i permessi dei file corretti. L'impostazione di autorizzazioni file errate può aprire il tuo sito Web ad attacchi. Permessi file errati possono consentire a utenti non autorizzati di accedere a file e dati potenzialmente sensibili. Tali dati possono quindi essere utilizzati come trampolino di lancio per un attacco più ampio.

In qualità di amministratore di WordPress, i permessi dei file possono sembrare un po' scoraggianti, soprattutto se non conosci Linux. Non aver paura! Questa guida spiega da zero quali sono i permessi dei file su Linux. Spiega anche come si applicano le autorizzazioni dei file Linux al tuo sito Web WordPress.

Tabella dei contenuti

  • Cosa sono i permessi dei file?
    • Gruppi di autorizzazioni
    • Tipi di autorizzazioni
  • Rappresentazione dei permessi
  • Autorizzazioni consigliate per i file WordPress
  • Come correggere i permessi dei file di WordPress
    • Su un servizio di hosting condiviso
    • tramite FTP
    • tramite SSH
  • Suggerimento bonus: sicurezza oltre i permessi dei file

Cosa sono i permessi dei file?

Gruppi di autorizzazioni

Tutto parte da chi . Come qualsiasi altro sistema operativo, Linux ha un concetto di utenti e gruppi . Quando si definisce chi può accedere a un file, ogni file e directory su un sistema Linux ha tre gruppi di autorizzazioni.

  • Proprietario
    • Ogni file o directory ha un proprietario.
    • Le autorizzazioni del proprietario si applicano solo al proprietario del file o della directory. Non influiranno sulle azioni di altri utenti.
  • Gruppo
    • A ogni file o directory può essere assegnato un gruppo di utenti a cui è concesso l'accesso.
    • Le autorizzazioni del gruppo si applicano solo al gruppo che è stato assegnato al file o alla directory. Non influiranno sulle azioni di altri utenti.
  • Altro
    • Ogni file o directory può definire quali autorizzazioni hanno "tutti gli altri". Cioè, a parte il proprietario o il gruppo che abbiamo impostato.
    • Le altre autorizzazioni si applicano a tutti gli altri utenti del sistema. Questo è il gruppo di autorizzazioni che desideri guardare di più poiché potresti consentire involontariamente l'accesso a tutti.

Tipi di autorizzazione

Ora che sappiamo come specificare chi ha accesso a un file o una directory, dobbiamo scegliere che tipo di autorizzazioni diamo a ciascun proprietario , gruppo e altro per i file o le directory. Di seguito sono riportati i tipi di autorizzazione che possiamo assegnare a un gruppo di autorizzazioni ( proprietario , gruppo , altro ):

  • Leggi
    • Il tipo di autorizzazione di lettura si riferisce alla capacità di un utente di leggere il contenuto del file.
  • Scrivere
    • L'autorizzazione di scrittura si riferisce alla capacità di un utente di scrivere e/o modificare il contenuto del file.
    • È possibile consentire a un utente di scrivere su un file senza che sia in grado di leggerne il contenuto.
  • Eseguire
    • L'autorizzazione di esecuzione influisce sulla capacità di un utente di eseguire un file, ad esempio uno script.
    • L'autorizzazione di esecuzione consente inoltre a un utente di visualizzare il contenuto di una directory.

Rappresentazione dei permessi

Ora che abbiamo una comprensione di come funzionano le autorizzazioni, diamo un'occhiata a come verrebbe effettivamente rappresentata un'autorizzazione Linux. I permessi dei file sono memorizzati come una serie di 3 numeri. Tuttavia, possono anche essere rappresentati come lettere, rendendole un po' più facili da leggere. Capiamo prima cosa significano questi numeri.

  1. Primo numero
    • Permessi concessi al proprietario
  2. Secondo numero
    • Autorizzazioni concesse al gruppo
  3. Terzo numero
    • Permessi concessi ad altri (tutti gli altri, eccetto proprietario e gruppo )

Ogni numero corrisponde a una combinazione di uno o più tipi di autorizzazione discussi in precedenza. Capire questo è molto più facile quando visualizzato. Ogni tipo di autorizzazione ha un peso che viene sommato per ogni gruppo di autorizzazione .

I permessi di file e directory di Linux

Confuso? Potrebbe volerci un po' di tempo e un po' di pratica per avvolgerci la testa. Nel frattempo, ecco una tabella di tutte le possibili autorizzazioni di file che puoi assegnare a ciascun gruppo di autorizzazioni .

Numero Lettere Descrizione
0 (0+0+0) --- Nessun accesso
1 (0+0+1) --X Eseguire
2 (0+2+0) -w- Scrivere
3 (0+2+1) -wx Scrivi ed esegui
4 (4+0+0) R-- Leggi
5 (4+0+1) rx Leggi ed esegui
6 (4+2+0) rw- Leggere e scrivere
7 (4+2+1) rwx Leggi, scrivi ed esegui

Per vedere un esempio concreto, significa un'autorizzazione del file 644

  • autorizzazione del proprietario per leggere e scrivere il file o la directory
  • il gruppo dispone dell'autorizzazione per leggere il file o la directory
  • altro ha il permesso di leggere il file o la directory

Spiegazione dei permessi del filer 644

In genere vedrai questi valori rappresentati senza spazi intermedi e con un ulteriore o d all'inizio. Il denota un file normale. d indica una directory. Quello che segue è un esempio di ciò usando il comando ls -la di Linux per elencare i file in una directory.

 $ ls -la
totale 0
drwxr-xr-x 4 gruppo utenti 128 25 maggio 23:25 .
drwxrwxrwt 8 root wheel 256 25 maggio 23:25 ..
drwxr-xr-x 2 gruppo utenti 64 25 maggio 23:25 directory
-rw-r--r-- 1 gruppo utenti 0 25 maggio 23:25 file.txt

Autorizzazioni consigliate per i file WordPress

L'impostazione di autorizzazioni errate per i file WordPress potrebbe comportare la concessione accidentale dell'accesso ad altri utenti rispetto a quelli previsti. Nella peggiore delle ipotesi, ciò potrebbe consentire a un utente malintenzionato di modificare il contenuto di un file importante a cui non dovrebbe avere accesso. Può anche consentire a qualsiasi utente su Internet di leggere file sensibili all'interno dell'installazione di WordPress.

Questo è il motivo per cui non dovresti mai impostare i permessi dei file di WordPress su 777 (-rwxrwxrwx). Ciò consentirebbe l'accesso completo in lettura, scrittura ed esecuzione a chiunque sia in grado di controllare quel file. Potrebbe trattarsi di una terza parte che apporta modifiche tramite FTP o SSH o di un utente malintenzionato tramite un modulo di caricamento.

D'altra parte, devi fare attenzione a non rendere le cose troppo restrittive per WordPress per fare il suo lavoro. Poiché lo stesso WordPress, così come i temi e i plug-in, spesso dovranno apportare modifiche in sicurezza a diversi file. Ad esempio, quando WordPress si aggiorna automaticamente per proteggere il tuo sito dalle vulnerabilità della sicurezza.

Quindi, per amor di discussione, un'autorizzazione di 444 (-r–r–r–) potrebbe causare il malfunzionamento del tuo sito Web WordPress. Con 444 WordPress sarà autorizzato solo a leggere , quindi gli aggiornamenti automatici falliranno . Detto questo, è possibile eseguire WordPress con autorizzazioni di sola lettura ( 444 o r–r–r–). Sarà un'installazione molto sicura. Tuttavia, dovrai tenere conto delle suddette limitazioni.

Alcuni provider di hosting WordPress gestiti lo supportano immediatamente. Tuttavia, se desideri eseguire WordPress con tali autorizzazioni, provalo prima nell'ambiente di staging.

I permessi dei file consigliati da WordPress sono i seguenti.

Tipo Numeri Lettere Descrizione
Directory 755 drwx-wx-wx Directory di installazione di WordPress
File 644 -rwxr--r-- Core di WordPress, temi e plugin di WordPress (potrebbero essere applicate eccezioni ad alcuni temi e plugin)
wp-config.php 600 -rw------- Il file di configurazione di WordPress
.htaccess 644 o
600
-rw-r--r--
-rw-------
File di configurazione del server HTTP Apache (potrebbe non essere applicabile se si esegue Nginx o un server Web diverso da Apache HTTP Server)

Come correggere i permessi dei file di WordPress

Sebbene un ambiente di hosting sia diverso da un altro, avrai sempre un modo per controllare i permessi dei file di WordPress.

Correzione delle autorizzazioni dei file di WordPress tramite il pannello di controllo dell'hosting condiviso

Se stai utilizzando l'hosting condiviso, probabilmente avrai accesso ad alcuni pannelli di controllo come cPanel o Plesk. In questo caso, verifica con il tuo provider di hosting i passaggi che devi intraprendere per modificare i permessi dei file sul tuo sito WordPress.

Correzione dei permessi dei file di WordPress tramite FTP

La correzione dei permessi dei file di WordPress può essere eseguita facilmente tramite un client FTP come FileZilla o Cyberduck. Lo screenshot seguente è di Cyberduck. È sufficiente fare clic con il pulsante destro del mouse sul file o sulla directory per cui si desidera modificare le autorizzazioni, fare clic su Informazioni e quindi fare clic sulla scheda Autorizzazioni .

Il processo è simile su Filezilla. Fai clic con il pulsante destro del mouse sul file, seleziona Autorizzazioni file e ti verrà presentata una finestra di dialogo simile.

Modifica delle autorizzazioni dei file con un client FTP

Correzione delle autorizzazioni di WordPress tramite SSH

Se stai già utilizzando un client SSH, puoi eseguire il comando Linux chmod per modificare i permessi dei file. Prendendo lo stesso esempio di cui sopra, per modificare i permessi di wp-config.php da 644 a 600 , useremmo i seguenti comandi:

 # cambia la directory nella posizione della tua installazione di WordPress
$ cd /var/www/html
# elenca i dettagli del file di wp-config.php
$ ls -la wp-config.php
-rw-r--r-- 1 www-data www-data 7368 2 settembre 2019 wp-config.php
# cambia i permessi di wp-config.php dall'attuale 644 a 600
$ chmod 600 wp-config.php
# verifica la tua modifica
$ ls -la wp-config.php
-rw------- 1 www-data www-data 7368 2 settembre 2019 wp-config.php

Permessi per i file WordPress correttamente configurati significano un sito Web più sicuro

Ricapitoliamo cosa è stato trattato. Abbiamo visto che i permessi dei file ci consentono di specificare chi e come è possibile accedere e/o modificare un file o una directory su un sistema Linux. Abbiamo anche discusso di come modificare le autorizzazioni sia utilizzando un client SFTP che tramite SSH. Tuttavia, la cosa più importante di cui abbiamo discusso è il motivo per cui dovresti aver cura di impostare correttamente i permessi dei file sul tuo sito Web WordPress.

Anche se all'inizio può essere un processo noioso, autorizzazioni di file errate possono esporre file sensibili sul tuo sito Web WordPress. Inoltre, possono consentire a un utente malintenzionato di trasformare una vulnerabilità di bassa gravità in una più pericolosa, date le giuste circostanze.

Ora che hai una migliore comprensione di come funzionano le autorizzazioni dei file su Linux e di come influiscono sulla sicurezza del tuo sito WordPress, usa queste informazioni per sostenere eventuali autorizzazioni dei file di WordPress che sono troppo liberali.

Suggerimenti per la sicurezza bonus: oltre ai permessi dei file di WordPress

Le corrette autorizzazioni per i file di WordPress sono un ottimo punto di partenza per iniziare a lavorare per quanto riguarda la sicurezza di WordPress. Tuttavia, sono tutt'altro che l'unica cosa di cui preoccuparsi. Altre cose che dovresti fare per migliorare la posizione di sicurezza del tuo sito Web WordPress sono:

  • Tieni un registro di tutto ciò che accade sul tuo sito in un registro delle attività di WordPress,
  • Utilizzare un plug-in per il monitoraggio dell'integrità dei file di WordPress,
  • Applica politiche password efficaci di WordPress,
  • Aggiungi l'autenticazione a due fattori al tuo sito Web WordPress,
  • Installa un firewall WordPress / usa un servizio firewall WordPress online.