La lista di controllo definitiva sulla sicurezza PHP delle migliori pratiche di WordPress

Pubblicato: 2017-11-03

mirsad/stock.adobe.com

Il processo di sicurezza del tuo sito web probabilmente affronta come proteggere il tuo sito WordPress a livello di server e come proteggere il tuo sito a livello di file. Ma hai bisogno di proteggere il tuo linguaggio di programmazione? Ci sono best practice per la sicurezza PHP che devi seguire? PHP deve essere protetto?

Sì, sì e sì.

Se gestisci un sito Web WordPress ma non ti concentri sulla sicurezza del codice PHP, potresti essere esposto a un grave incidente.

Oh No Omg GIF di Friends

Ci sono moltissimi vantaggi nell’usare PHP per sviluppare il tuo sito web WordPress:

  • È abbastanza facile da usare per i principianti e abbastanza flessibile per i professionisti della programmazione.
  • Funziona perfettamente su tutte le piattaforme (ad esempio Linux, Windows, ecc.).
  • È anche molto compatibile con WordPress.
  • Può migliorare la velocità del sito.

Detto questo, PHP non è privo di difetti. Le applicazioni programmate in PHP possono essere a rischio di:

  • Iniezioni SQL
  • Cross Site Scripting
  • Credenziali di accesso esposte
  • Dirottamento della sessione
  • Forme contraffatte
  • E altri pericolosi rischi per la sicurezza

Correlato: Come verificare la versione PHP del tuo sito WordPress (e la compatibilità dell'aggiornamento)

Ovviamente, questo non intende scoraggiarti dal desiderio di utilizzare PHP per programmare il tuo sito Web WordPress. È un linguaggio altamente affidabile e flessibile e, se protetto correttamente, può essere uno strumento incredibilmente potente che aiuta anche a semplificare il processo.

La seguente lista di controllo sulla sicurezza PHP ti insegnerà tutte le migliori pratiche di sicurezza PHP che devi conoscere per mantenere sicuri il tuo linguaggio di programmazione e le applicazioni create in PHP in futuro.

Il nostro team di WP Buffs aiuta i proprietari di siti Web, i partner di agenzie e i partner liberi professionisti a seguire le migliori pratiche di sicurezza PHP. Che tu abbia bisogno di noi per gestire 1 sito web o supportare 1000 siti clienti, ti copriamo le spalle.

La lista di controllo definitiva sulla sicurezza PHP per WordPress

Vuoi assicurarti che il tuo sito Web WordPress rimanga al sicuro dagli hacker? Quindi spetta a te assicurarti che tutti gli strumenti che utilizzi per crearlo (incluso il linguaggio di programmazione) aderiscano alle migliori pratiche di sicurezza. Nello specifico, quando si tratta di PHP, dovrai prestare molta attenzione a quanto segue:

  • Migliori pratiche di codifica PHP
  • Restrizioni all'accesso al backend del tuo sito
  • Gestione e monitoraggio degli account utente
  • Convalida, sanificazione e fuga dei dati
  • Invio dei dati da parte degli utenti e monitoraggio del caricamento
  • Affidabilità dell'host web

Se desideri maggiori informazioni sui checkpoint di sicurezza PHP sopra menzionati e su come utilizzarli nello sviluppo di WordPress, continua a leggere per la checklist definitiva sulla sicurezza PHP

Migliori pratiche PHP

  • Usa PHP7 : usa sempre la versione più recente di PHP. Lo stesso vale per tutte le librerie e le applicazioni di terze parti che utilizzi insieme ad esso.
  • Nascondi versione : la versione corrente di PHP che stai utilizzando può consentire agli hacker di sapere a quali tipi di vulnerabilità hai lasciato aperto il tuo sito, quindi disattiva questa impostazione nell'intestazione utilizzando esporre_php.
  • Rinomina phpinfo : anche le informazioni aggiuntive sulla tua installazione devono essere nascoste, quindi assicurati di cambiare il nome del file phpinfo.php.
  • Modifica codice errore : modifica il messaggio di errore predefinito visualizzato dagli utenti quando la connessione al tuo sito non riesce. Ciò impedirà loro di vedere le informazioni sul tuo IP o sul percorso del file. Invece, registra semplicemente quegli errori da parte tua.
  • Limitare i comandi di sistema : il consenso generale è che non si dovrebbero usare le funzioni della shell in PHP. Se necessario, tuttavia, non includere i dati dell'utente.

Proteggi il back-end

  • Utilizza SFTP : quando trasferisci file sul backend, utilizza sempre SFTP.
  • Limita l'accesso alla directory : modifica il nome della directory predefinita per la tua applicazione PHP.
  • Configura il percorso della sessione : se utilizzi un hosting condiviso per il tuo sito, altri utenti sul server potrebbero essere in grado di vedere i dati della tua sessione. Puoi interrompere questo problema memorizzando i nuovi percorsi di sessione sotto la directory principale.
  • Crea amministratori separati : se esegui più di un sito Web basato su PHP su un singolo server, assicurati di utilizzare un amministratore separato con credenziali di accesso completamente diverse per ciascuno. Ciò impedirà le infezioni tra siti.
  • Rendi la directory di sola lettura : proteggi la tua directory accessibile dal web impostandola su sola lettura.
  • Archiviazione di file sensibili all'esterno della directory : i file dell'applicazione sensibili (come i file di configurazione) devono essere inseriti in una directory non accessibile dal Web. È quindi possibile instradarli utilizzando uno script PHP.

Proteggere le informazioni dell'utente

  • Crittografa tutte le password : questo è ovvio, ma assicurati di applicarlo a tutti i livelli, sia per le tue password che per tutti gli utenti che hanno effettuato l'accesso.
  • Sessioni sicure : previeni il dirottamento delle sessioni creando un ID sessione complesso. Potresti anche aggiungere un token speciale a ciascun URL.
  • Distruggi le vecchie sessioni : quando qualcuno si è disconnesso o se i suoi diritti di accesso sono cambiati, elimina sempre i cookie dalla sua sessione e forza un nuovo ID di sessione.
  • Verifica nuovi utenti : verifica sempre l'identità dei nuovi utenti e concedi loro i privilegi di accesso di conseguenza. Ciò è particolarmente importante se stanno tentando di accedere a una pagina riservata.
  • Usa una limitazione : troppi accessi non riusciti dovrebbero essere bloccati con una limitazione della password.

Convalida input e output degli utenti

  • Convalida e disinfetta l'input : tutti i dati, file, URL, contenuti incorporati, CSS o HTML inviati tramite il tuo sito da un utente, noto o sconosciuto, devono essere esaminati e disinfettati. Ciò significa che dovrebbero essere consentiti solo i dati che ti aspettavi di ricevere (ad esempio nome utente per nome utente, indirizzo e-mail per indirizzo e-mail, ecc.). Mantieni le parole "cattive" come "DA" o "DOVE" o la punteggiatura come virgolette singole sul tuo radar in quanto potrebbero indicare che qualcuno sta cercando di introdurre codice dannoso nel tuo sito .
  • Output di escape : prima di pubblicare dati o file utente sul tuo sito, assicurati che sia stato eseguito l'escape per evitare che caratteri e codice potenzialmente pericolosi passino (come virgolette singole o <script>).
  • Limita i dati POST : se gli hacker vogliono attaccare il tuo sito con una quantità enorme di dati, puoi tenerlo a bada impostando limiti alla quantità di dati POST che possono essere inviati. Puoi anche limitare il tempo di input.
  • Disabilita Register_Globals : non dovrebbe mai esserci margine di manovra sul tipo di informazioni che possono essere inviate nei moduli del tuo sito. Register_globals, sfortunatamente, offre questa opportunità agli hacker.
  • Disabilita Magic_Quotes : Magic_quotes di per sé non danneggerà il tuo sito, ma le persone che lo utilizzano per sfuggire ai dati generati potrebbero introdurre involontariamente una vulnerabilità.

Monitora i caricamenti

  • Disabilita caricamento file : questo potrebbe non essere sempre possibile. Ma se non hai bisogno di ricevere file o dati dagli utenti, elimina questa funzionalità.
  • Verifica i file caricati : se devi consentire agli utenti di caricare file sul tuo sito, dovrai analizzare il contenuto del file per individuare eventuali iniezioni dannose. Come scorciatoia, puoi salvare nuovamente il file in un formato diverso. Se è ancora valido, allora ci sono meno probabilità che ci sia un problema.
  • Utilizza uno scanner antivirus : se il tuo sito accetta molti file caricati, ti consigliamo di installare uno scanner antivirus.

Utilizza l'hosting web sicuro

  • Utilizza un host affidabile: non importa quanto lavoro dedichi alla protezione del tuo sito web, dei file, dell'area di accesso o del linguaggio di programmazione, la sicurezza deve iniziare a livello di hosting. Ecco perché devi collaborare con un host web affidabile che dia priorità alla sicurezza e fornisca supporto specifico per PHP7.
  • Ottieni una CDN: un altro modo per ridurre le minacce alla sicurezza a livello di server è ottenere una rete per la distribuzione di contenuti (CDN). Sebbene questi siano spesso associati al miglioramento delle prestazioni dei siti Web giramondo, i CDN forniscono anche un ulteriore livello di protezione.
  • Ottieni un certificato SSL: questa è una buona pratica indipendentemente dal fatto che programmi con PHP o meno. I certificati SSL aggiungono un ulteriore livello crittografato tra il tuo server e i browser dei tuoi visitatori.

Sebbene ciascuno dei punti precedenti sia effettivamente valido, vale la pena sottolineare questo punto particolare poiché la qualità del web hosting su cui fai affidamento può in definitiva creare o distruggere la strategia di sicurezza del tuo sito.

Poiché spesso è difficile distinguere il bene dal male, soprattutto quando si cerca qualcosa di specifico come il supporto PHP7, vi suggeriamo di iniziare con host web come WP Engine e Kinsta.

Correlato: Hosting WordPress completamente gestito tramite WP Engine e Kinsta

WP Engine è un provider di hosting WordPress gestito che include il supporto PHP7 in ciascuno dei suoi piani di hosting. Inoltre, WP Engine tratta regolarmente l'argomento PHP7 sul suo blog con speciali ringraziamenti al suo plugin PHP Compatibility Checker. Dire che questa azienda si dedica al supporto utente PHP7 sarebbe un eufemismo.

Un'altra società di hosting WordPress gestito, Kinsta ospita tutti i siti Web dei suoi clienti con PHP7. Questo per garantire prestazioni elevate e velocità su tutta la linea. Kinsta offre inoltre ai propri utenti la possibilità di aggiornare il proprio motore PHP all'ultima versione PHP.

E, naturalmente, c'è anche l'hosting WordPress completamente gestito di WP Buffs da considerare. WP Buffs rimane sempre all'avanguardia mantenendo i suoi server e le versioni PHP aggiornate con le ultime novità, quindi non dovrai mai preoccuparti di gestire tu stesso tali aggiornamenti (il che fa parte della gioia di esternalizzare la gestione di WordPress) a qualcun altro, vero?)

Avvolgendo

Quando si crea un sito Web WordPress, la sicurezza è sempre una preoccupazione primaria. Ecco perché utilizzi plugin e temi affidabili e mantieni sempre aggiornato il tuo core, oltre ad altre migliori pratiche di sicurezza. PHP non è diverso. Gestiscilo come fai con gli altri strumenti WordPress: mantienilo aggiornato e rispetta sempre le migliori pratiche di sicurezza, e tu (e il tuo sito web) potrete dormire molto più tranquilli la notte.

Vuoi dare il tuo feedback o partecipare alla conversazione?Aggiungi i tuoi commenti su Twitter.

Salva Salva