Perché dovrei preoccuparmi di proteggere le mie e-mail WordPress?

Pubblicato: 2023-05-31

Le email sono ovunque. Sono diventati uno dei metodi di comunicazione più comuni tra le persone su Internet. Gli amministratori di WordPress e i proprietari di siti Web utilizzano le e-mail per vari scopi, come comunicazioni personali e professionali, marketing, reclutamento e altro ancora.

Le e-mail possono anche contenere informazioni sensibili che utilizzi per autenticare i tuoi utenti o consentire loro di intraprendere determinate azioni, come reimpostare una password, ecc. In questo tutorial, discuteremo di tutto ciò che i proprietari di siti Web devono sapere sulla sicurezza delle e-mail in WordPress.

Iniziamo la discussione con la necessità di proteggere le e-mail del tuo sito Web WordPress. Mantenere le tue e-mail al sicuro aiuta in molte cose, come:

  • Protezione delle informazioni sensibili: come accennato in precedenza, invierai spesso e-mail che possono contenere informazioni sensibili. Questo può includere cose come le credenziali di accesso dei tuoi utenti e informazioni personali relative alla loro salute o finanze. In ogni caso, devi assicurarti che nessuno con intenzioni malevole possa intercettare queste informazioni.
  • Consegna delle e-mail: lo spam è un grosso problema su Internet. Siamo sicuri che hai ricevuto anche la tua giusta dose di e-mail di spam. Sono fastidiosi nella migliore delle ipotesi e possono portare a conseguenze più drastiche in altri casi. Un modo in cui i server di posta elettronica gestiscono il potenziale spam è non inviare e-mail che non sono affatto all'altezza degli standard. Allo stesso modo, le e-mail che potrebbero essere considerate spam da diversi client di posta verranno contrassegnate come tali e inserite in una cartella separata dalla posta in arrivo principale.
  • Mantenere la reputazione del marchio — La reputazione del tuo marchio potrebbe essere in pericolo se non prendi sul serio la sicurezza della posta elettronica di WordPress. Pensaci, come ti sentiresti su un marchio le cui e-mail sono costantemente bloccate nel filtro antispam o un marchio la cui mancanza di sicurezza si traduce nella perdita delle tue informazioni personali?
  • Prevenzione degli attacchi basati su e-mail: le persone malintenzionate possono utilizzare il phishing tramite e-mail per ottenere l'accesso al tuo sito Web o per avere accesso ai dati degli utenti. Questo può porre tutti i tipi di problemi di sicurezza. In entrambi i casi, è necessario adottare le misure appropriate per proteggere l'e-mail di WordPress.

Invio di e-mail sicure in WordPress

WordPress ha una funzione wp_mail() integrata che utilizza per inviare e-mail. Questa funzione si basa sulla popolare libreria PHPMailer gratuita e open source per inviare tutte le tue e-mail.

Un vantaggio dell'utilizzo della libreria è che dispone di un client SMTP integrato che consente di inviare e-mail su tutte le piattaforme senza bisogno di un server di posta locale.

Il termine SMTP sta per Simple Mail Transfer Protocol. Un client SMTP è un programma che possiamo utilizzare per inviare e-mail da un server a un altro. Il client fa molte cose preziose, come stabilire una connessione con il server di posta elettronica, l'autenticazione del mittente e la trasmissione di posta elettronica.

L'uso della funzione wp_mail() non è una garanzia automatica che la ricezione della tua email sia andata a buon fine. Restituirà true una volta che la richiesta avrà esito positivo, indipendentemente dallo stato di consegna dell'e-mail. Pertanto, avrai la certezza che le email che hai inviato vengano consegnate.

Puoi aggiungere le tue impostazioni relative a SMTP all'interno del file wp-config.php aggiungendo alcune righe di PHP al codice sorgente esistente. Tuttavia, un'opzione molto più semplice è utilizzare un plug-in.
Puoi utilizzare uno dei tanti plug-in SMTP gratuiti di WordPress che ti aiuteranno a configurare tutte le tue impostazioni per inviare le tue e-mail in modo efficace e sicuro. Abbiamo già trattato in dettaglio la consegna delle e-mail di WordPress in passato.

Impostazione di un plug-in SMTP

Vale la pena ricordare che ci sono più plugin SMTP che puoi utilizzare sul tuo sito web. Puoi provarli per vedere quale ti si addice meglio. Uno dei più popolari è il plugin WP Mail SMTP.

Plugin SMTP popolari per WordPress

Qualsiasi plug-in che utilizzi ti chiederà di scegliere un mailer SMTP per il tuo sito web. Sono disponibili diverse opzioni come SendLayer, Postmark, SendGrid, Zoho Mail, ecc. La procedura guidata di installazione ti aiuterà con la configurazione iniziale, dove fornirai tutte le informazioni necessarie, come la chiave API, ecc. Tutte queste impostazioni per diversi i plugin saranno disponibili nella dashboard di WordPress.

Ci sono due cose importanti che dovresti tenere a mente durante la configurazione di questi plugin:

  1. Assicurati di inviare e-mail tramite SSL con il tuo client SMTP. Ciò contribuirà a impedire che le e-mail vengano intercettate mentre sono in transito. molti servizi come SendLayer ecc. gestiranno automaticamente la crittografia SSL/TLS per te. Tuttavia, puoi anche fornire manualmente informazioni sull'host SMTP, il numero di porta, la crittografia, ecc. se selezioni Altro SMTP come SMTP Mailer.
  2. Potresti anche voler disabilitare la registrazione della posta elettronica se invii informazioni riservate tramite posta elettronica. Ciò eviterà eventuali fughe di dati indesiderate se qualcosa va storto. Va bene avere questa opzione attivata durante il test, ma idealmente dovrebbe essere disattivata in altri casi.

Framework di sicurezza e-mail comuni

L'installazione e l'utilizzo di certificati SSL per l'invio di e-mail garantirà che il contenuto dell'e-mail sia sicuro durante il transito tra il client di posta e il server di posta. Ciò diventa possibile impedendo qualsiasi accesso non autorizzato o intercettazione dell'e-mail durante la trasmissione.

Il passaggio successivo per migliorare la sicurezza della posta elettronica di WordPress prevede l'utilizzo della crittografia in modo che solo il destinatario previsto possa leggere il contenuto dell'e-mail inviata.

Esistono molti framework di sicurezza e-mail diversi che puoi utilizzare per proteggere le e-mail sul tuo sito WordPress. Il termine quadro di sicurezza e-mail si riferisce a una serie di linee guida e standard in atto per garantire che tutte le comunicazioni e-mail siano al sicuro da rischi per la sicurezza come spam, phishing e accessi non autorizzati.

Diversi server SMTP potrebbero utilizzare una combinazione di più framework di sicurezza e-mail per raggiungere il loro obiettivo di proteggere le e-mail. Scopriamone alcuni.

Quadro dei criteri del mittente

Sender Policy Framework, noto anche come SPF, è un framework di autenticazione della posta elettronica che consente al server di posta del destinatario di verificare se un'e-mail proviene da una fonte legittima.

In breve, SPF funziona controllando il record DNS (Domain Name System) del dominio del mittente per verificare che l'indirizzo IP del mittente corrisponda agli indirizzi IP autorizzati per quel dominio.

Una volta inviata un'e-mail, il server di posta dal lato del destinatario controllerà i record SPF per capire se l'e-mail è stata effettivamente inviata da un server di posta autorizzato dal lato del mittente. Il record SPF conterrà informazioni su tutti gli indirizzi IP e i domini che possono inviare un'e-mail per conto di un particolare dominio. Qualsiasi mancata corrispondenza risulterà nel contrassegnare l'e-mail come sospetta.

SPF aiuta a combattere spam e attacchi di phishing in cui qualcuno finge di essere ciò che non è.

Posta identificata da DomainKeys

Il framework DomainKeys Identified Mail (DKIM) si basa sull'utilizzo di firme digitali per verificare che il mittente dell'e-mail sia una persona legittima. Garantisce inoltre che i contenuti dell'e-mail siano inalterati durante la trasmissione dell'e-mail.

La firma digitale non è altro che un valore crittografico generato utilizzando una chiave privata associata al legittimo nome a dominio. Il messaggio di posta elettronica contiene il valore crittografico come campo Firma DKIM nell'intestazione.

Il server di posta sul lato del destinatario può accedere alla chiave pubblica del dominio del mittente dai record DNS. Il sistema di posta elettronica utilizza la chiave pubblica per decrittografare la firma per verificare l'autenticità del mittente. Il sistema consegna l'e-mail alla casella di posta del destinatario dopo aver convalidato l'autenticità del mittente.

Il segreto qui è che la chiave privata viene utilizzata per generare la firma crittografica e questa firma può essere decrittografata solo dalla chiave pubblica corrispondente. Ciò significa che un valore corrispondente nei valori hash generati con le chiavi private e pubbliche garantisce l'autenticità dell'e-mail.

Autenticazione, reportistica e conformità dei messaggi basati sul dominio

I due framework precedenti ti consentono di convalidare che il mittente di un'e-mail è qualcuno che dichiara di essere. Questo aiuta a prevenire attacchi di spam e phishing.

Cosa succede se un'e-mail non supera i controlli SPF o DKIM?

Forse ti starai chiedendo come un'e-mail legittima potrebbe fallire i controlli SPF o DKIM. Ciò può accadere in una varietà di situazioni, come record SPF o DKIM configurati in modo errato, timestamp non valido a causa di un tempo di transito più lungo del solito e inoltro di posta elettronica in cui il server di inoltro non è autorizzato a inviare messaggi di posta elettronica per conto del dominio del mittente originale.

Il framework DMARC (Domain-based Message Authentication, Reporting and Conformance) viene in tuo soccorso in questo caso.

I proprietari di dominio possono aggiungere un criterio DMARC ai propri record DNS per specificare cosa deve accadere a qualsiasi messaggio e-mail che non supera i controlli di autenticazione SPF o DKIM.

Una volta che un'e-mail non supera questi controlli, il server di posta del destinatario cercherà il criterio DMARC del dominio del mittente. Il criterio DMARC specificherà se l'e-mail deve essere rifiutata, messa in quarantena o consegnata alla casella di posta del destinatario.

Oltre a verificare la legittimità del mittente, DMARC include meccanismi per segnalare ai proprietari di dominio tutte le informazioni sulle email inviate dal loro dominio. L'accesso a queste informazioni può aiutare i proprietari di domini a identificare potenziali attacchi di spoofing o phishing. Ciò si traduce in definitiva in una maggiore sicurezza della posta elettronica.

Privacy abbastanza buona

Pretty Good Privacy, o PGP, è un altro interessante framework di sicurezza della posta elettronica che fornisce la crittografia end-to-end per le tue e-mail, assicurando che solo il destinatario previsto possa leggere le tue e-mail.

Il protocollo di sicurezza PGP si basa su una coppia di chiavi pubbliche e private per il suo sistema di crittografia. Tutti gli utenti del protocollo PGP avranno le proprie chiavi pubbliche e private. PGP utilizza la chiave pubblica per crittografare i messaggi di posta elettronica e la chiave privata per decrittografarli. Chiunque desideri comunicare con l'utente ha accesso alla chiave pubblica. La chiave privata rimane con l'utente.

Supponiamo che tu voglia inviare un'e-mail a qualcuno. Come mittente, utilizzerai la chiave pubblica fornita dal destinatario per crittografare il tuo messaggio. Ciò garantisce che solo il destinatario possa decrittografare il messaggio perché solo lui avrà la chiave privata.

PGP utilizza anche firme digitali per verificare l'autenticità e l'integrità di un'e-mail e per assicurarsi che non vi siano state manomissioni durante la trasmissione.

La chiave privata si rivela utile per generare la firma digitale, che verifica l'autenticità del mittente. La chiave privata viene utilizzata per creare un hash del messaggio di posta elettronica. Poiché PGP funziona secondo il principio della condivisione delle chiavi pubbliche, il destinatario dell'e-mail avrà accesso alla chiave pubblica del mittente. Questa chiave pubblica è utile per decrittografare l'hash, che verifica che il messaggio sia invariato.

Un altro aspetto importante di PGP è il sistema “web of trust”, in cui diversi utenti possono firmare reciprocamente le chiavi pubbliche per indicare che hanno verificato il proprietario della chiave. Ciò rende ancora più difficile per qualcuno con intenti dannosi impersonare un utente.

Implementazione della sicurezza e-mail sul tuo sito WordPress

Ora impareremo come implementare diversi framework di sicurezza della posta elettronica sul tuo sito web.

Quadro dei criteri del mittente

Come accennato nella sezione precedente, SPF funziona controllando il record DNS del dominio del mittente. Controlla se l'IP del mittente corrisponde agli indirizzi IP autorizzati per quel dominio.

Possiamo testarlo usando wpwhitesecurity.com come esempio. Tutto quello che dobbiamo fare è usare il comando nslookup come segue:
nslookup -type=txt nomedominio

Registri SPF di WP White Security

Il risultato ci dice quali sistemi utilizziamo per inviare le email.

v=spf1 a mx include:_spf.google.com include:relay.kinstamailservice.com include:servers.mcsv.net include:helpscoutemail.com include:sendgrid.net ~all

Se un'e-mail che ricevi da noi non proviene da nessuno di questi sistemi, è quindi probabile che non sia legittima.

Tutto quello che dobbiamo fare per implementare SPF è aggiungere un record TXT al file di zona DNS del dominio. Un record TXT può contenere testo arbitrario che desideri associare a un nome di dominio. In questo caso, conterrà le informazioni SPF.

Il primo passo è accedere a qualsiasi servizio utilizzi per gestire i tuoi record DNS. In questo caso, utilizzeremo Cloudflare. Pertanto, prima accediamo all'account Cloudflare e selezioniamo il dominio i cui record DNS verranno modificati.

Dovresti vedere l'opzione per modificare le impostazioni DNS nella barra laterale sinistra o sotto Azioni rapide se stai utilizzando Cloudflare. Fare clic su di esso per aggiungere un record DNS. Ci sarà un pulsante Aggiungi record nella pagina successiva. Cliccaci sopra e vedrai la seguente schermata.

Aggiunta di un record DNS in Cloudflare

Seleziona TXT nel menu a discesa Tipo. Imposta il nome sulla radice del tuo dominio. Mantieni TTL su Auto e imposta il valore di Content su v=spf1 mx a ip4:XXX.XXX.XXX.XXX -all. Usa lo screenshot qui sotto come riferimento.

Il record DNS è composto da diverse parti. Vediamo cosa significano uno alla volta:

  1. v=spf1 — Questa parte specifica la versione del protocollo SPF in uso. In questo caso, la versione SPF è 1.
  2. mx: questa parte autorizza i record MX del dominio a inviare e-mail per conto del dominio.
  3. a: questa parte autorizza i record A del dominio o i suoi indirizzi ipv4 a inviare e-mail per conto del dominio.
  4. ip4:XXX.XXX.XXX.XXX — È possibile aggiungere questa parte per aggiungere un indirizzo IP specifico alla whitelist per l'invio di e-mail.
  5. -all: questa parte specifica cosa dovrebbe accadere alle e-mail che non corrispondono a nessuno dei domini o indirizzi IP autorizzati.

Assicurati di sostituire XXX.XXX.XXX.XXX con l'indirizzo IP che desideri inserire nella whitelist. Non è necessario aggiungere questa parte se prevedi di inviare solo indirizzi email dal tuo dominio. Tuttavia, dovresti includere qui l'indirizzo IP dei tuoi server di posta per evitare qualsiasi spoofing.

Posta identificata DomainKey

Il framework DKIM si basa anche sui valori archiviati nei record DNS per verificare l'autenticità del mittente di un'e-mail.

La differenza principale è che mentre SPF si basa sul controllo degli indirizzi IP nei record DNS per assicurarsi che alcuni autorizzati abbiano inviato l'e-mail, DKIM si basa sull'uso di chiavi pubbliche e private.

Se utilizzi Cloudflare per gestire il tuo dominio, puoi aggiungere un record DNS, come abbiamo fatto nella sezione precedente. Tuttavia, è anche possibile aggiornare i record DNS dalla dashboard del provider di hosting.

Ecco uno screenshot di un record TXT DKIM corrente nel cPanel di un account di hosting. Puoi trovare queste opzioni dopo aver effettuato l'accesso al tuo account cPanel e aver verificato la consegna dell'email.

cPanel record DKIM

Il nome del record DKIM è impostato su default._domainkey per assicurarsi che possa essere individuato facilmente da diversi provider di servizi di posta elettronica.

Il contenuto del record DKIM è costituito da diverse parti, come spiegato di seguito:

  1. v=DKIM1 — Questa parte specifica la versione del protocollo DKIM in uso.
  2. k=rsa — Questa parte specifica che la chiave pubblica che stiamo usando è una chiave RSA.
  3. p=KEY_VALUE — Questa parte è la chiave pubblica codificata Base64.

Autenticazione, reportistica e conformità dei messaggi basati sul dominio

Ora impareremo come aggiungere un criterio DMARC al nostro record DNS TXT. Il processo di aggiunta di un record DNS rimarrà lo stesso qui. L'unica cosa che cambia è il nome del record e il suo contenuto.

Il nome del nostro record DNS TXT sarà _dmarc.yourwebsite.com, dove yourwebsite.com è il tuo vero sito web. Ancora una volta, questa è solo una convenzione standard in vigore per una facile identificazione della politica DMARC.

Puoi aggiungere un totale di 11 coppie tag-valore come contenuto del record TXT DNS del criterio DMARC. Puoi leggere informazioni su di loro in questa pagina che descrive a fondo un record TXT DNS DMARC.

Usiamo la procedura guidata appena introdotta in Cloudflare per aggiungere un criterio DMARC.

Aggiunta del criterio DMARC in Cloudflare

Dopo aver fatto clic sul collegamento della procedura guidata, verrà visualizzata la seguente schermata. Basta fare clic sul pulsante Aggiungi e sei a posto.

Schermata di configurazione del record DMARC

Impareremo ora cosa significa il contenuto all'interno del record DMARC:

  1. v=DMARC1 — Come al solito, specifica la versione del protocollo DMARC in uso.
  2. p=none — Questa parte specifica che non viene eseguita alcuna azione politica per i controlli non riusciti. Puoi anche impostare questo valore per mettere in quarantena o rifiutare. L'impostazione del valore su quarantena contrassegnerà l'e-mail come potenzialmente sospetta, ma la consegnerà comunque alla cartella spam della casella di posta del destinatario.
  3. rua=mailto:[email protected] — Questa parte specifica l'indirizzo email che riceve i rapporti. I report conterranno informazioni sui messaggi e-mail che hanno superato o meno i controlli DMRC.

Protezione delle e-mail per una maggiore sicurezza

Come dice il vecchio adagio, una catena è forte quanto il suo anello più debole. Questo è molto vero quando si tratta di sicurezza, che richiede agli amministratori di WordPress e ai proprietari di siti Web di guardare oltre la protezione di WordPress e affrontare l'infrastruttura di supporto/circostante.

La sicurezza della posta elettronica tende a essere trascurata; tuttavia, come abbiamo appena visto nell'articolo, proteggere la posta elettronica è relativamente facile e molto accessibile. Dalla configurazione dei record DNS alla crittografia delle e-mail, questo non solo garantirà una migliore copertura di clienti e utenti, ma ridurrà drasticamente i rischi per la sicurezza.

Altri consigli per migliorare la sicurezza di WordPress

Rendere sicure le tue e-mail è solo una parte della sicurezza complessiva del sito web. Ecco alcuni suggerimenti generali per migliorare la sicurezza complessiva del tuo sito web.

  • Aggiorna regolarmente: è importante mantenere aggiornati tutti i temi o i plug-in di WordPress. Gli aggiornamenti di solito aggiungono nuove funzionalità e correggono le vulnerabilità note.
  • Usa password complesse: dovresti utilizzare password complesse e univoche per tutti i tuoi account relativi al sito Web, inclusi host Web, database, account FTP, account amministratore di WordPress, ecc. Ciò impedirà agli attacchi di forza bruta di violare la tua password. Puoi utilizzare il plug-in MelaPress Login Security per seguire tutte le migliori pratiche di sicurezza dell'accesso, come password complesse, bloccare troppi tentativi di accesso falliti, ecc.
  • Installa plug-in di sicurezza: dovresti anche considerare l'installazione di un plug-in di sicurezza. Alcune delle opzioni più popolari sono Wordfence, iThemes Security, All-In-One security, ecc. Puoi anche installare plugin come WP Activity Log per registrare tutte le modifiche che si verificano sul tuo sito Web WordPress.
  • Utilizza l'autenticazione a due fattori: puoi utilizzare l'autenticazione a due fattori per aggiungere un ulteriore livello di sicurezza. Plugin gratuiti come WP 2FA possono aiutarti a farlo con facilità.
  • Esegui backup regolari: dovresti anche eseguire backup regolari del tuo sito web. Ciò ti aiuterà a mettere online rapidamente il tuo sito Web in caso di violazione della sicurezza o altri problemi.
  • Usa un host web affidabile: assicurati di utilizzare un host web affidabile e affidabile per ospitare il tuo sito web. L'host web sarà responsabile di diverse cose, come la protezione del server web, l'aggiornamento, l'esecuzione dei backup nel back-end, ecc.
  • Usa un firewall: l'installazione di un firewall impedirà l'accesso non autorizzato proteggendo al tempo stesso dalle comuni minacce alla sicurezza e dagli attacchi DDOS. È possibile installare un firewall a livello di server dal tuo host web o a livello di sito web da te come plug-in di WordPress. La buona notizia è che plugin come Wordfence ecc. offrono già un firewall e ti proteggeranno dai malware.
  • Limita i tentativi di accesso: un'altra misura di sicurezza che puoi adottare è limitare il numero di tentativi di accesso falliti per prevenire attacchi di forza bruta da parte dei bot.