Qual è la configurazione ideale per affrontare i problemi di sicurezza?


8

Sono a conoscenza dei requisiti richiesti da WP affinché determinate directory e file siano scrivibili. Sono anche consapevole del fatto che rendere le autorizzazioni troppo lente può aprire falle di sicurezza. Infine, so che l'utente che (inserisci il tuo server qui) funziona come su sistemi Linux può essere un fattore.

A parte la sicurezza, mi piace poter scaricare temi e plugin sul mio blog e aggiornarli quando necessario. Le autorizzazioni appropriate sembrano essere un po 'in contrasto con questa preferenza.

Ho raccolto alcuni piccoli dettagli qua e là, ma mi piacerebbe vedere una risposta più definitiva, se ce n'è una: qual è la configurazione preferita con un cenno alla sicurezza? Quali autorizzazioni dovrebbero essere in atto, quale utente dovrebbe eseguire il sito, ecc.


Risposte:


10

Se si dispone dell'accesso FTP al server, l'installazione più sicura non prevede la scrittura dei temi o della directory dei plug-in da parte del server Web e la presenza di file di aggiornamento di WordPress tramite FTP. Quando vai ad aggiornare un plugin, WordPress ti chiederà i dettagli FTP.

Il metodo FTP è molto più lento delle scritture dirette di file, ma è molto più sicuro poiché uno script canaglia non sarà in grado di modificare i tuoi file.


5
SFTP è ancora meglio
Ashley G

3
FTP è accettabile internamente, ma mi rende nervoso su Internet; in quanto invia password su testo semplice. Trasferisco tramite SFTP / SSH, mi sento più a mio agio nello spostare i file su un canale sicuro. Inoltre, non autorizzo le autorizzazioni di scrittura per l'utente del server web.
JM Becker,

8

Come notato da @ Viper007Bond, l'aggiornamento di core, plugin e temi tramite i meccanismi di aggiornamento integrati è abbastanza sicuro, per quanto riguarda le autorizzazioni dei file, perché possono utilizzare le credenziali dell'utente reale. Per la massima sicurezza, si desidera assicurarsi che l' estensione PHP SSH2 sia installata. Il metodo di installazione (se possibile) può variare da host a host, quindi se non è già lì, potrebbe essere necessario chiedere al servizio di hosting o fare qualche googling.

Molti servizi di hosting condiviso utilizzeranno suexecnella loro configurazione di Apache, in modo che il servizio web venga eseguito come l'utente reale. Ciò elimina la maggior parte dei problemi di autorizzazione e aiuta a proteggere i file da altri utenti sul server. Tuttavia, nei casi in cui Apache viene eseguito come utente separato, se si desidera caricare file in WordPress, è necessario aprire le autorizzazioni per la directory di caricamento.

In questo caso, probabilmente desideri che la tua wp-content/uploadsdirectory disponga delle 0713autorizzazioni (AKA rwx--x-wx). Ciò fornisce al proprietario della directory le autorizzazioni complete, il suo gruppo può leggere i file se conoscono il percorso completo e altri (incluso il server Web) possono leggere i file a cui conoscono il percorso e possono creare / scrivere file.

Alcuni plugin di cache si aspettano anche di avere una wp-content/cachedirectory (o simile) disponibile su cui poter scrivere. Lo stesso consiglio di autorizzazione si applicherebbe a quello.

Infine, per permalink piuttosto, WordPress deve essere in grado di modificare il .htaccessfile, a meno che non si preveda di aggiornarlo manualmente. In questo caso, ti piacerebbe 0646per la modalità file. Tuttavia, una volta stabilita la struttura del permalink, di solito non è necessario modificarlo di nuovo, quindi è possibile disattivare le autorizzazioni di scrittura extra e impostarlo su 0644. Occasionalmente, un plug-in o un aggiornamento di base potrebbero richiedere l'accesso ad esso e potresti temporaneamente riattivare le autorizzazioni di scrittura per quello, quindi disattivarlo nuovamente.

Tutti gli altri file dovrebbero avere 0644autorizzazioni. Le directory dovrebbero essere 0711se sei extra paranoico, ma ciò potrebbe interferire con qualsiasi plug-in che deve ottenere un elenco di file da una directory. In tal caso, o se non sei così paranoico, usa 0755, che permetterà agli altri di leggere, ma non di scrivere.

La maggior parte di questo è principalmente una preoccupazione se si è in hosting condiviso. Se hai un server dedicato (incluso VPS), senza altri utenti che hanno accesso a ssh / ftp, puoi rilassarti un po 'di più. Non intendo che dovresti semplicemente rendere tutto scrivibile apertamente, ma probabilmente puoi semplicemente fidarti delle impostazioni predefinite del sistema, che probabilmente saranno 0755autorizzazioni per le directory anziché 0711.

Se è un'opzione, ottieni un certificato SSL installato per il sito e, una volta verificato che puoi accedere al tuo sito tramite https, puoi forzare SSL per gli accessi e l'accesso dell'amministratore aggiungendo queste righe al tuo wp-config.phpfile, appena prima del ' Interrompi modifica commento:

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.