GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare facilmente un server di posta completo su Ubuntu 20.04 con iRedMail

Configurare da zero il tuo server di posta elettronica su Linux è un processo lungo e noioso, una seccatura se non sei un utente avanzato. Questo tutorial ti mostrerà come utilizzare iRedMail per configurare rapidamente un server di posta completo su Ubuntu 20.04, risparmiandoti un sacco di tempo e mal di testa.

Cos'è iRedMail?

iRedMail è uno script di shell che installa e configura automaticamente tutti i componenti necessari del server di posta sul tuo server Linux/BSD, eliminando così l'installazione e la configurazione manuali. Con iRedMail, puoi facilmente creare caselle di posta illimitate e domini di posta illimitati in un pannello di amministrazione basato sul Web. Le cassette postali possono essere archiviate in MariaDB/MySQL, database PostgreSQL o OpenLDAP. Di seguito è riportato un elenco di software open source che verranno installati e configurati automaticamente da iRedMail.

  • Server SMTP Postfix
  • Server IMAP di Dovecot
  • Nginx server web per servire il pannello di amministrazione e la webmail
  • OpenLDAP, MySQL/MariaDB o PostgreSQL per la memorizzazione delle informazioni sugli utenti
  • Amavised-nuovo per la firma e la verifica DKIM
  • SpamAssassin per l'anti-spam
  • ClamAV per antivirus
  • Webmail Roundcube
  • SoGo groupware, che fornisce webmail, calendario (CalDAV), contatti (CardDAV), attività e servizi ActiveSync.
  • Fail2ban per la protezione di SSH
  • Gestione mailing list mlmmj
  • Monitoraggio del server Netdata
  • Server delle politiche Postfix iRedAPD per il greylisting

Fase 1:scegli il provider di hosting giusto e acquista un nome di dominio

Per configurare un server di posta elettronica completo con iRedMail, è necessario un server con almeno 3 GB di RAM, perché dopo l'installazione, il tuo server utilizzerà più di 2 GB di RAM.

Si consiglia vivamente di installare iRedMail su un'installazione pulita di Ubuntu 20.04 server.

Questo tutorial viene eseguito su un Kamatera VPS (server privato virtuale) da $ 9 al mese con 1 CPU e 3 GB di RAM. Offrono una prova gratuita di 30 giorni.

Kamatera è un'ottima opzione per eseguire un server di posta perché

  • Non bloccano la porta 25 , così puoi inviare e-mail illimitate (e-mail transazionali e newsletter) senza spendere soldi per il servizio di inoltro SMTP. Kamatera non ha limiti SMTP. Puoi inviare un milione di email al giorno.
  • L'indirizzo IP non è in nessuna lista nera di email . (Almeno questo è vero nel mio caso. Ho scelto il data center di Dallas.) Sicuramente non vuoi essere elencato nella temuta lista nera IP di Microsoft Outlook o nella lista nera degli spamrat. Alcune blacklist bloccano un intero intervallo IP e non hai modo di rimuovere il tuo indirizzo IP da questo tipo di blacklist.
  • Puoi modificare il record PTR per migliorare la consegna delle email.
  • Ti permettono di inviare newsletter ai tuoi iscritti alla posta elettronica con no limiti orari o giornalieri, qualunque.
  • Puoi ordinare più indirizzi IP per un singolo server. Questo è molto utile per le persone che hanno bisogno di inviare un grande volume di e-mail. Puoi diffondere il traffico e-mail su più indirizzi IP per ottenere una migliore consegna delle e-mail.

Altri provider VPS come DigitalOcean bloccano la porta 25. DigitalOcean non sbloccherà la porta 25, quindi dovrai configurare l'inoltro SMTP per bypassare il blocco, il che può costarti denaro aggiuntivo. Se utilizzi Vultr VPS, la porta 25 è bloccata per impostazione predefinita. Possono sbloccarlo se apri un ticket di supporto, ma possono bloccarlo di nuovo in qualsiasi momento se decidono che la tua attività di invio e-mail non è consentita. Vultr potrebbe effettivamente bloccarlo nuovamente se utilizzi i loro server per inviare newsletter.

Vai al sito Web di Kamatera per creare un account, quindi crea il tuo server nella dashboard del tuo account.

Ti consiglio di seguire il tutorial collegato di seguito per configurare correttamente il tuo server VPS Linux su Kamatera.

  • Come creare un server VPS Linux su Kamatera

Dopo aver creato un server, Kamatera ti invierà un'e-mail con i dettagli di accesso SSH del server. Per accedere al tuo server, utilizzi un client SSH. Se stai utilizzando Linux o macOS sul tuo computer, apri semplicemente una finestra del terminale ed esegui il comando seguente per accedere al tuo server. Sostituisci 12.34.56.78 con l'indirizzo IP del tuo server.

ssh [email protected]

Ti verrà chiesto di inserire la password.

Hai anche bisogno di un nome di dominio. Ho registrato il mio nome di dominio da NameCheap perché il prezzo è basso e offrono protezione della privacy a Whois gratuita per tutta la vita.

Fase 2:creazione del record MX DNS

Il record MX specifica quale host o host gestiscono le e-mail per un particolare nome di dominio. Ad esempio, l'host che gestisce le email per linuxbabe.com è mail.linuxbabe.com . Se qualcuno con un account Gmail invia un'email a [email protected] , il server Gmail eseguirà una query sul record MX di linuxbabe.com. Quando scopre che mail.linuxbabe.com è responsabile dell'accettazione della posta elettronica, quindi interroga il record A di mail.linuxbabe.com per ottenere l'indirizzo IP, così l'e-mail può essere consegnata.

Devi andare al tuo servizio di hosting DNS (di solito il tuo registrar di domini) per creare record DNS. Nel tuo gestore DNS, crea un record MX per il tuo nome di dominio. Inserisci @ nel campo Nome per rappresentare il nome di dominio principale, quindi inserisci mail.your-domain.com nel campo Valore.

Nota: Il nome host per il record MX non può essere un alias per un altro nome. Inoltre, si consiglia vivamente di utilizzare nomi host, anziché indirizzi IP nudi per il record MX.

Il tuo gestore DNS potrebbe richiederti di inserire un valore di preferenza (noto anche come valore di priorità). Può essere qualsiasi numero compreso tra 0 e 65.356. Un numero piccolo ha una priorità maggiore di un numero grande. Si consiglia di impostare il valore su 0, quindi questo server di posta avrà la massima priorità per la ricezione di e-mail. Dopo aver creato il record MX, devi anche creare un record A per mail.your-domain.com , in modo che possa essere risolto in un indirizzo IP. Se il tuo server utilizza l'indirizzo IPv6, assicurati di aggiungere il record AAAA.

Suggerimento:se utilizzi il servizio DNS Cloudflare, non dovresti abilitare la funzione CDN durante la creazione di un record per mail.your-domain.com . Cloudflare non supporta il proxy SMTP.

Fase 3:configurazione del nome host

Accedi al tuo server tramite SSH, quindi esegui il comando seguente per aggiornare i pacchetti software esistenti.

sudo apt update

sudo apt upgrade -y

Durante il processo di aggiornamento, potrebbe farti la seguente domanda. Se desideri continuare a utilizzare la porta 6543 per SSH, seleziona keep the local version currently installed . Se vuoi usare la porta 22 per SSH, seleziona install the package maintainer's version .

Consiglio vivamente di creare un sudo utente per gestire il tuo server invece di usare la root predefinita utente. Eseguire il comando seguente per creare un utente. Sostituisci username con il tuo nome utente preferito.

adduser username

Quindi aggiungi l'utente a sudo gruppo.

adduser username sudo

Passa al nuovo utente.

su - username

Quindi, imposta un nome di dominio completo (FQDN) per il tuo server con il comando seguente.

sudo hostnamectl set-hostname mail.your-domain.com

Dobbiamo anche aggiornare /etc/hosts file con un editor di testo a riga di comando come Nano.

sudo nano /etc/hosts

Modificalo come di seguito. (Utilizzare i tasti freccia per spostare il cursore nel file.)

127.0.0.1       mail.your-domain.com localhost

Salva e chiudi il file. (Per salvare un file nell'editor di testo Nano, premi Ctrl+O , quindi premi Enter per confermare. Per chiudere il file, premi Ctrl+X .)

Per vedere le modifiche, accedi nuovamente e quindi esegui il seguente comando per vedere il tuo nome host.

hostname -f

Fase 4:configurazione del server di posta su Ubuntu 20.04 con iRedMail

Esegui i seguenti comandi per scaricare l'ultima versione del programma di installazione dello script iRedMail dal suo repository Github.

wget https://github.com/iredmail/iRedMail/archive/1.5.0.tar.gz

Estrarre il file archiviato.

tar xvf 1.5.0.tar.gz

Quindi cd nella directory appena creata.

cd iRedMail-1.5.0/

Aggiungi l'autorizzazione eseguibile a iRedMail.sh copione.

chmod +x iRedMail.sh

Quindi, esegui lo script Bash con il privilegio sudo.

sudo bash iRedMail.sh

Verrà visualizzata la procedura guidata di configurazione del server di posta. Usa il tasto Tab per selezionare e premi Invio.

La schermata successiva ti chiederà di selezionare il percorso di archiviazione della posta. Puoi utilizzare il percorso predefinito:/var/vmail , quindi premi semplicemente Enter .

Quindi scegli se vuoi eseguire un server web. Si consiglia vivamente di scegliere di eseguire un server Web perché è necessario il pannello di amministrazione basato sul Web per aggiungere account di posta elettronica. Inoltre, ti consente di accedere alla webmail di Roundcube. Per impostazione predefinita, il server web Nginx è selezionato, quindi puoi semplicemente premere Enter . (Un asterisco indica che l'elemento è selezionato.)

Quindi seleziona il backend di archiviazione per gli account di posta elettronica. Scegline uno che conosci. Questo tutorial ha scelto MariaDB. Premi il tasto freccia su e giù e premi la barra spaziatrice per selezionare.

Se hai selezionato MariaDB o MySQL, dovrai impostare la password di root MySQL.

Quindi, inserisci il tuo primo dominio di posta. Puoi aggiungere ulteriori domini di posta in un secondo momento nel pannello di amministrazione basato sul Web. Questo tutorial presuppone che tu voglia un account email come [email protected] . In tal caso, devi inserire tuo-dominio.com qui, senza sottodominio. Non premere la barra spaziatrice dopo il tuo nome di dominio. Penso che iRedMail copierà il carattere spazio insieme al tuo nome di dominio, il che può causare un errore di installazione.

Quindi, imposta una password per l'amministratore del dominio di posta.

Scegli componenti opzionali. Per impostazione predefinita, sono selezionati 4 elementi. Se desideri utilizzare il groupware SOGo (webmail, calendario, rubrica, ActiveSync), premi il tasto freccia giù e la barra spaziatrice per selezionare. Premi Enter alla schermata successiva.

Ora puoi rivedere le tue configurazioni. Digita Y per iniziare l'installazione di tutti i componenti del server di posta.

Al termine dell'installazione, scegli y per utilizzare le regole del firewall fornite da iRedMail e riavviare il firewall.

Ora l'installazione di iRedMail è completa. Ti verrà notificato l'URL della webmail, il pannello di amministrazione web e le credenziali di accesso. Il iRedMail.tips contiene informazioni importanti sul tuo server iRedMail.

Riavvia il tuo server Ubuntu 20.04.

sudo shutdown -r now

Una volta che il tuo server è di nuovo online, puoi visitare il pannello di amministrazione web.

https://mail.your-domain.com/iredadmin/

Nota che nell'URL sopra, la sottodirectory per l'accesso al pannello di amministrazione è /iredadmin/ , non /iredmail/ . E poiché utilizza un certificato TLS autofirmato, devi aggiungere un'eccezione di sicurezza nel tuo browser web.

Passaggio 5:installazione del certificato Let's Encrypt TLS

Poiché il server di posta utilizza un certificato TLS autofirmato, sia gli utenti del client di posta desktop che gli utenti del client di posta web visualizzeranno un avviso. Per risolvere questo problema, possiamo ottenere e installare un certificato Let's Encrypt TLS gratuito.

Come ottenere il certificato

Innanzitutto, accedi nuovamente al tuo server tramite SSH ed esegui il seguente comando per installare il client Let's Encrypt (certbot) su Ubuntu 20.04.

sudo apt install certbot

iRedMail ha già configurato le impostazioni TLS nell'host virtuale Nginx predefinito, quindi qui consiglio di utilizzare il plug-in webroot, invece del plug-in nginx, per ottenere un certificato. Esegui il comando seguente. Sostituisci il testo rosso con i tuoi dati effettivi.

sudo certbot certonly --webroot --agree-tos --email [email protected] -d mail.your-domain.com -w /var/www/html/

Quando ti chiede se desideri ricevere comunicazioni da EFF, puoi scegliere No.

Se tutto è andato bene, vedrai il seguente testo che indica che hai ottenuto con successo un certificato TLS. Il tuo certificato e la tua catena sono stati salvati su /etc/letsencrypt/live/mail.your-domain.com/ directory.

Mancato ottenimento del certificato TLS

Se certbot non è riuscito a ottenere il certificato TLS, forse è perché i tuoi record DNS non vengono propagati a Internet. A seconda del registrar di domini che utilizzi, il tuo record DNS potrebbe essere propagato istantaneamente o potrebbero essere necessarie fino a 24 ore per propagarsi. Puoi andare su https://dnsmap.io, inserire il nome host del tuo server di posta (mail.your-domain.com ) per controllare la propagazione del DNS.

Se certbot non è riuscito a ottenere un certificato e hai visualizzato il seguente messaggio,

Failed authorization procedure. mail.linuxbabe.com (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching https://mail.linuxbabe.com/.well-known/acme-challenge/IZ7hMmRE4ZlGW7cXYoq2Lc_VrFzVFyfW6E0pzNlhiOA: Timeout during connect (likely firewall problem)

È possibile che tu abbia impostato il record AAAA per mail.your-domain.com , ma il server web Nginx non è in ascolto sull'indirizzo IPv6. Per correggere questo errore, modifica il /etc/nginx/sites-enabled/00-default.conf file

sudo nano /etc/nginx/sites-enabled/00-default.conf

Trova la riga seguente.

#listen [::]:80;

Rimuovi il # carattere per abilitare IPv6 per questo host virtuale Nginx.

listen [::]:80;

Salva e chiudi il file. Quindi modifica l'host virtuale SSL /etc/nginx/sites-enabled/00-default-ssl.conf .

sudo nano /etc/nginx/sites-enabled/00-default-ssl.conf

Aggiungi la riga seguente.

listen [::]:443 ssl http2;

Salva e chiudi il file. Quindi testa la configurazione di Nginx.

sudo nginx -t

Se il test ha esito positivo, ricarica Nginx per rendere effettive le modifiche.

sudo systemctl reload nginx

Eseguire nuovamente il comando seguente per ottenere il certificato TLS. Sostituisci il testo rosso con i tuoi dati effettivi.

sudo certbot certonly --webroot --agree-tos --email [email protected] -d mail.your-domain.com -w /var/www/html/

Ora dovresti essere in grado di ottenere con successo il certificato TLS.

Installazione del certificato in Nginx

Dopo aver ottenuto un certificato TLS, configuriamo il server web Nginx per usarlo. Modifica il file modello SSL.

sudo nano /etc/nginx/templates/ssl.tmpl

Trova le seguenti 2 righe.

ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;

Sostituiscili con:

ssl_certificate /etc/letsencrypt/live/mail.your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.your-domain.com/privkey.pem;

Salva e chiudi il file. Quindi prova la configurazione di nginx e ricarica.

sudo nginx -t

sudo systemctl reload nginx

Visita di nuovo il pannello di amministrazione di iRedMail, il tuo browser web non ti avviserà più perché Nginx ora utilizza un certificato TLS valido.

Installazione del certificato TLS in Postfix e Dovecot

Abbiamo anche bisogno di configurare il server SMTP Postfix e il server IMAP di Dovecot per utilizzare il certificato rilasciato da Let's Encrypt in modo che il client di posta desktop non visualizzi avvisi di sicurezza. Modifica il file di configurazione principale di Postfix.

sudo nano /etc/postfix/main.cf

Trova le seguenti 3 righe. (righe 95, 96, 97).

smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt

Sostituiscili con:

smtpd_tls_key_file = /etc/letsencrypt/live/mail.your-domain.com/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.your-domain.com/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.your-domain.com/chain.pem

Salva e chiudi il file. Quindi ricarica Postfix.

sudo systemctl reload postfix

Quindi, modifica il file di configurazione principale di Dovecot.

sudo nano /etc/dovecot/dovecot.conf

Fine le seguenti 2 righe. (righe 47, 48)

ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key

Sostituiscili con:

ssl_cert = </etc/letsencrypt/live/mail.your-domain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.your-domain.com/privkey.pem

Salva e chiudi il file. Quindi ricarica dovecot.

sudo systemctl reload dovecot

D'ora in poi, gli utenti di posta desktop non vedranno gli avvisi di sicurezza.

Fase 6:invio di un'e-mail di prova

Accedi al pannello di iredadmin con l'account di posta del postmaster ([email protetta]). In Add scheda, puoi aggiungere altri domini o indirizzi email.

Se vedi l'errore "nessun dominio sotto controllo", fai riferimento a questo articolo.

Dopo aver creato un utente, puoi visitare l'indirizzo webmail di Roundcube e accedere con il nuovo account utente di posta.

https://mail.your-domain.com/mail/

Ora puoi testare l'invio e la ricezione di e-mail. Tieni presente che potrebbe essere necessario attendere alcuni minuti per ricevere le e-mail perché iRedMail per impostazione predefinita abilita il greylisting, che è un modo per dire ad altri server SMTP di invio di riprovare tra qualche minuto. La riga seguente nel file di registro della posta /var/log/mail.log indica che il greylisting è abilitato.

Recipient address rejected: Intentional policy rejection, please try again later;

Aggiunta di spazio di scambio

ClamAV viene utilizzato per scansionare i virus nei messaggi di posta elettronica. ClamAV può utilizzare una discreta quantità di RAM. Se non c'è abbastanza RAM sul tuo server, ClamAV non funzionerà correttamente, il che impedirà al tuo server di posta di inviare e-mail. Puoi aggiungere un file di scambio al tuo server per aumentare la RAM totale sul tuo server. (Si noti che l'utilizzo dello spazio di scambio sul server degraderà le prestazioni del server. Se si desidera prestazioni migliori, è necessario aggiornare la RAM fisica invece di utilizzare lo spazio di scambio.)

Per aggiungere spazio di scambio sul server, prima usa il fallocate comando per creare un file. Ad esempio, crea un file denominato swapfile con capacità 1G nel file system radice:

sudo fallocate -l 1G /swapfile

Quindi assicurati che solo root possa leggere e scrivere su di esso.

sudo chmod 600 /swapfile

Formattalo per scambiare:

sudo mkswap /swapfile

Uscita:

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433

Abilita il file di scambio

sudo swapon /swapfile

Per montare lo spazio di scambio all'avvio del sistema, modificare /etc/fstab file.

sudo nano /etc/fstab

Aggiungi la seguente riga in fondo a questo file.

/swapfile    swap    swap     defaults    0   0

Salva e chiudi il file. Quindi ricarica systemd e riavvia ClamAV.

sudo systemctl daemon-reload

sudo systemctl restart clamav-daemon

Fase 7:verifica se la porta 25 (in uscita) è bloccata

Il tuo ISP o provider di hosting non bloccherà le connessioni in entrata alla porta 25 del tuo server, il che significa che puoi ricevere e-mail da altri server di posta. Tuttavia, molti ISP/provider di hosting bloccano le connessioni in uscita alla porta 25 di altri server di posta, il che significa che non puoi inviare e-mail.

Se la tua email non è arrivata al tuo altro indirizzo email come Gmail, esegui il seguente comando sul tuo server di posta per verificare se la porta 25 (in uscita) è bloccata.

telnet gmail-smtp-in.l.google.com 25

Se non è bloccato, vedrai messaggi come di seguito, che indicano che la connessione è stata stabilita correttamente. (Suggerimento:digita quit e premere Invio per chiudere la connessione.)

Trying 74.125.68.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

Se la porta 25 (in uscita) è bloccata, vedrai qualcosa del tipo:

Trying 2607:f8b0:400e:c06::1a...
Trying 74.125.195.27...
telnet: Unable to connect to remote host: Connection timed out

In questo caso, il tuo Postfix non può inviare e-mail ad altri server SMTP. Chiedi al tuo ISP/provider di hosting di aprirlo per te. Se rifiutano la tua richiesta, devi configurare l'inoltro SMTP per bypassare il blocco della porta 25.

Non riesci ancora a inviare e-mail?

Se la porta 25 (in uscita) non è bloccata, ma non riesci comunque a inviare e-mail dal tuo server di posta all'altro indirizzo e-mail come Gmail, dovresti controllare il registro della posta (/var/log/mail.log ).

sudo nano /var/log/mail.log

Ad esempio, alcune persone potrebbero vedere le seguenti righe nel file.

host gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Our system has detected that 550-5.7.1 this message does not meet IPv6 sending guidelines regarding PTR 550-5.7.1 records and authentication. Please review 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError for more information

Ciò significa che il tuo server di posta utilizza IPv6 per inviare l'e-mail, ma non hai impostato i record IPv6. Dovresti andare al tuo gestore DNS, impostare AAAA record per mail.your-domain.com , quindi dovresti impostare PTR record per il tuo indirizzo IPv6, che è discusso nel passaggio 9.

Fase 8:utilizzo dei client di posta sul tuo computer o dispositivo mobile

Avvia il tuo client di posta elettronica desktop come Mozilla Thunderbird e aggiungi un account di posta.

  • Nella sezione del server in arrivo, seleziona il protocollo IMAP, inserisci mail.your-domain.com come nome del server, scegli la porta 143 e STARTTLS. Scegli normal password come metodo di autenticazione.
  • Nella sezione in uscita, seleziona il protocollo SMTP, inserisci mail.your-domain.com come nome del server, scegli la porta 587 e STARTTLS. Scegli normal password come metodo di autenticazione.

Fail2ban che blocca il tuo indirizzo IP

Se hai commesso un errore e non sei riuscito ad accedere al server di posta più volte, il servizio Fail2ban sul server di posta potrebbe bloccare il tuo indirizzo IP. Puoi aggiungere il tuo indirizzo IP alla whitelist modificando jail.local file.

sudo nano /etc/fail2ban/jail.local

Aggiungi il tuo indirizzo IP all'elenco da ignorare come di seguito. Sostituisci 12.34.56.78 con il tuo vero indirizzo IP.

ignoreip = 12.34.56.78 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

Salva e chiudi il file. Quindi riavvia Fail2ban.

sudo systemctl restart fail2ban

Fase 9:miglioramento della consegna delle e-mail

Per evitare che le tue email vengano contrassegnate come spam, dovresti impostare PTR , SPF , DKIM e DMARC record.

Registrazione PTR

Un record del puntatore, o record PTR, associa un indirizzo IP a un FQDN (nome di dominio completo). È la controparte del record A e viene utilizzato per DNS inverso ricerca, che può aiutare a bloccare gli spammer. Molti server SMTP rifiutano le email se non viene trovato alcun record PTR per il server di invio.

Per controllare il record PTR per un indirizzo IP, esegui questo comando:

dig -x IP-address +short

o

host IP-address

Il record PTR non è gestito dal tuo registrar di domini. È gestito dall'organizzazione che ti fornisce un indirizzo IP. Poiché ottieni l'indirizzo IP dal tuo provider di hosting o ISP, non dal tuo registrar di domini, quindi devi impostare il record PTR per il tuo IP nel pannello di controllo del tuo provider di hosting o chiedi al tuo ISP . Il suo valore dovrebbe essere il nome host del tuo server di posta:mail.your-domain.com . Se il tuo server utilizza l'indirizzo IPv6, assicurati di aggiungere anche un record PTR per il tuo indirizzo IPv6 .

Per modificare il record DNS inverso per il tuo Kamatera VPS, accedi all'area client di Kamatera, quindi apri un ticket di supporto e chiedi loro di aggiungere il record PTR per gli indirizzi IP del tuo server per puntare l'indirizzo IP a mail.your-domain.com . Non è conveniente, potresti pensare, ma serve a tenere gli spammer lontani dalla piattaforma, quindi i mittenti di email legittimi come noi avranno un'ottima reputazione IP.

Registro SPF

SPF (Sender Policy Framework) specifica a quali host o indirizzo IP è consentito inviare e-mail per conto di un dominio. Dovresti consentire solo al tuo server di posta elettronica o al server del tuo ISP di inviare e-mail per il tuo dominio. Nella tua interfaccia di gestione DNS, crea un nuovo record TXT come di seguito.

Spiegazione:

  • TXT indica che si tratta di un record TXT.
  • Inserisci @ nel campo del nome per rappresentare il nome di dominio principale.
  • v=spf1 indica che si tratta di un record SPF e la versione è SPF1.
  • mx significa che tutti gli host elencati nei record MX sono autorizzati a inviare email per il tuo dominio e tutti gli altri host non sono autorizzati.
  • ~tutti indica che le email del tuo dominio devono provenire solo dagli host specificati nel record SPF. Le email provenienti da altri host verranno contrassegnate come contraffatte.

Per verificare se il tuo record SPF viene propagato su Internet pubblico, puoi utilizzare l'utilità dig sulla tua macchina Linux come di seguito:

dig your-domain.com txt

Il txt l'opzione dice a dig che vogliamo solo interrogare i record TXT.

Registro DKIM

DKIM (DomainKeys Identified Mail) utilizza una chiave privata per firmare digitalmente le email inviate dal tuo dominio. I server SMTP riceventi verificano la firma utilizzando la chiave pubblica, pubblicata nel record DKIM DNS.

Lo script iRedMail ha configurato automaticamente DKIM per il tuo server. L'unica cosa rimasta da fare è creare il record DKIM nel gestore DNS. Esegui il comando seguente per mostrare la chiave pubblica DKIM.

sudo amavisd-new showkeys

La chiave pubblica DKIM è tra parentesi.

Quindi nel tuo gestore DNS, crea un record TXT, inserisci dkim._domainkey nel campo del nome. Copia tutto tra parentesi e incolla nel campo del valore. Elimina tutte le virgolette doppie e le interruzioni di riga.

Dopo aver salvato le modifiche, esegui il comando seguente per verificare se il record DKIM è corretto.

sudo amavisd-new testkeys

Se il record DKIM è corretto, il test passerà.

TESTING#1 linuxbabe.com: dkim._domainkey.linuxbabe.com => pass

Tieni presente che il tuo record DKIM potrebbe richiedere del tempo per propagarsi a Internet. A seconda del registrar di domini che utilizzi, il tuo record DNS potrebbe essere propagato istantaneamente o potrebbero essere necessarie fino a 24 ore per propagarsi. Puoi andare su https://www.dmarcanalyzer.com/dkim/dkim-check/, inserire dkim come selettore e inserisci il tuo nome di dominio per verificare la propagazione del record DKIM.

Registro DMARC

DMARC sta per Domain-based Message Authentication, Reporting and Conformance. DMARC può aiutare a ricevere server di posta elettronica per identificare e-mail legittime e impedire che il tuo nome di dominio venga utilizzato dallo spoofing e-mail.

Per creare un record DMARC, vai al tuo gestore DNS e aggiungi un TXT disco. Nel campo del nome, inserisci _dmarc . Nel campo del valore, inserisci quanto segue. (Dovresti creare il [email protected] indirizzo email.)

v=DMARC1; p=none; pct=100; rua=mailto:[email protected]

Il record DMARC di cui sopra è un punto di partenza sicuro. Se vuoi leggere la spiegazione completa di DMARC, controlla il seguente articolo. Nota che questo è facoltativo.

  • Creazione di un record DMARC per proteggere il tuo nome di dominio dallo spoofing e-mail

Fase 10:verifica del punteggio e del posizionamento e-mail

Dopo aver creato il record PTR, SPF e DKIM, vai su https://www.mail-tester.com . Vedrai un indirizzo email univoco. Invia un'e-mail dal tuo dominio a questo indirizzo e poi controlla il tuo punteggio. Come puoi vedere, ho ottenuto un punteggio perfetto. Nel risultato del test, dovresti controllare se il tuo record PTR, SPF e DKIM è valido.

Mail-tester.com può mostrarti solo un punteggio del mittente. C'è un altro servizio chiamato GlockApps che ti consente di verificare se la tua e-mail è arrivata nella posta in arrivo o nella cartella spam del destinatario o se è stata rifiutata a titolo definitivo. Supporta molti provider di posta elettronica popolari come Gmail, Outlook, Hotmail, YahooMail, iCloud mail, ecc.

Cosa succede se le tue email vengono ancora contrassegnate come spam?

Ho altri suggerimenti per te in questo articolo:Come impedire che le tue e-mail vengano contrassegnate come spam. Anche se ci vorrà un po' di tempo e fatica, le tue email verranno eventualmente inserite nella Posta in arrivo dopo aver applicato questi suggerimenti.

Cosa succede se la tua email viene rifiutata dalla casella di posta Microsoft?

Microsoft sembra utilizzare una blacklist interna che blocca molti indirizzi IP legittimi. Se le tue e-mail vengono rifiutate da Outlook o Hotmail, devi inviare il modulo delle informazioni sul mittente. Dopodiché, la tua email sarà accettata da Outlook/Hotmail.

Aggiunta di più domini di posta

Ho scritto questo articolo per mostrarti come aggiungere più domini di posta in iRedMail.

Come disabilitare il greylisting

Per impostazione predefinita, iRedMail ha abilitato il greylisting, che dice agli altri server SMTP di invio di riprovare tra qualche minuto. Questo è principalmente utile per bloccare lo spam, ma degrada anche l'esperienza dell'utente. Se preferisci disattivare il greylisting, segui le istruzioni di seguito.

Aggiungi l'autorizzazione di scrittura a /opt/iredapd/settings.py file.

sudo chmod 600 /opt/iredapd/settings.py

Quindi modifica il file di configurazione.

sudo nano /opt/iredapd/settings.py

Trova la riga seguente.

plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]

Rimuovi "greylisting" dalla lista. Salva e chiudi il file. Quindi riavvia iredapd.

sudo systemctl restart iredapd

Riporta il file di configurazione in modalità di sola lettura.

sudo chmod 400 /opt/iredapd/settings.py

Abilitazione della porta SMTPS 465

Se intendi utilizzare il client Microsoft Outlook, devi abilitare la porta SMTPS 465 nel server SMTP Postfix.

Risoluzione dei problemi

Innanzitutto, utilizza un VPS con almeno 4 GB di RAM. L'esecuzione di iRedMail su un VPS da 1 GB di RAM causerà la chiusura del database, di SpamAssassin o di ClamAV a causa di un problema di memoria insufficiente. Se vuoi davvero utilizzare un VPS da 1 GB di RAM, perderai le email in arrivo e avrai altri risultati indesiderati.

Se l'interfaccia web di iRedMail non è accessibile, come un errore del gateway 502, dovresti controllare i log di Nginx in /var/log/nginx/ directory per trovare indizi. Potresti anche voler controllare il registro della posta /var/log/mail.log .

Controlla se i vari servizi sono in esecuzione.

systemctl status postfix

systemctl status dovecot

systemctl status nginx

systemctl status mariadb

systemctl status clamav-daemon

systemctl status amavis

Se hai abilitato il firewall, dovresti aprire le seguenti porte nel firewall.

HTTP port:  80
HTTPS port: 443
SMTP port:  25
Submission port: 587 (and 465 if you are going to use Microsoft Outlook mail client)
IMAP port:  143 and 993

Se desideri utilizzare il firewall UFW, consulta la mia guida qui:Introduzione al firewall UFW su Debian e Ubuntu.

Come rinnovare il certificato TLS

Il certificato TLS emesso da Let's Encrypt è valido solo per 90 giorni ed è importante impostare un processo Cron per rinnovare automaticamente il certificato. Puoi eseguire il comando seguente per rinnovare il certificato.

sudo certbot renew -w /var/www/html/

Puoi usare il --dry-run opzione per testare il processo di rinnovo, invece di fare un vero rinnovo.

sudo certbot renew -w /var/www/html/ --dry-run

Se viene visualizzato il seguente errore durante il rinnovo del certificato TLS.

The client lacks sufficient authorization :: Invalid response

Quindi devi creare la directory nascosta.

sudo mkdir -p /var/www/html/.well-known/acme-challenge

E imposta www-data come proprietario del webroot.

sudo chown www-data:www-data /var/www/html/ -R

Inoltre, modifica l'host virtuale SSL /etc/nginx/sites-enabled/00-default-ssl.conf . Aggiungi le seguenti righe.

location ~ /.well-known/acme-challenge {
     root /var/www/html/;
     allow all;
}

Salva e chiudi il file. Prova la configurazione di Nginx e ricarica.

sudo nginx -t

sudo systemctl reload nginx

Crea lavoro Cron

Se ora il ciclo di prova ha esito positivo, puoi creare un processo Cron per rinnovare automaticamente il certificato. Basta aprire il file crontab dell'utente root.

sudo crontab -e

Quindi aggiungi la seguente riga in fondo al file.

@daily certbot renew -w /var/www/html/ --quiet && systemctl reload postfix dovecot nginx

È necessario ricaricare Postfix, Dovecot e Nginx per far sì che questi programmi raccolgano il nuovo certificato e la chiave privata.

Configurazione del server di posta di backup

Il tuo server di posta principale potrebbe essere inattivo a volte. Se ospiti il ​​tuo server di posta in un data center, i tempi di inattività sono minimi, quindi non dovresti preoccuparti di perdere le email in entrata. Se ospiti il ​​tuo server di posta a casa, non è possibile prevedere i tempi di inattività, quindi è buona norma eseguire un server di posta di backup in un data center per evitare di perdere le email in entrata. Il server di posta di backup richiede solo 512 MB di RAM per funzionare. Si prega di controllare tutti i dettagli nel seguente articolo.

  • Come configurare un server di posta elettronica di backup con Postfix su Ubuntu (Guida completa)

Per utenti avanzati

iRedMail non include un servizio di verifica DMARC, puoi consultare il seguente tutorial per configurare OpenDMARC per bloccare lo spoofing e-mail.

  • Configura OpenDMARC con Postfix su Ubuntu per bloccare lo spoofing/spam e-mail

Potresti voler personalizzare il filtro dei contenuti SpamAssassin per rilevare meglio lo spam.

  • Blocca la posta indesiderata controllando l'intestazione e il corpo in Postfix/SpamAssassin

Se il tuo sito Web e il server di posta funzionano su due diversi VPS (server privato virtuale), puoi impostare l'inoltro SMTP tra il tuo sito Web e il server di posta, in modo che il tuo sito Web possa inviare e-mail tramite il server di posta. Vedi il seguente articolo.

  • Come configurare l'inoltro SMTP tra 2 server SMTP Postfix su Ubuntu

Ubuntu
  1. Configura un server di posta con PostfixAdmin

  2. Come configurare un server OpenVPN su Ubuntu 18.04

  3. Come installare e configurare Ubuntu Mail Server sulla versione 18.04 LTS

  4. Come configurare un server di posta elettronica con Mail-in-a-Box su Ubuntu

  5. Come inviare e-mail con il mio server CentOS?

Come configurare rapidamente un server di posta su Ubuntu 20.04 con Modoboa

Come configurare un server di posta completo con IRedMail su Centos 7 VPS

Come configurare un server di posta completo con iRedMail su Ubuntu 18.04 VPS

Come configurare un server Seafile con Nginx su Ubuntu 18.04

Come configurare un server FTP con ProFTPD in Ubuntu 18.04

Come configurare un server di posta con Modoboa su Ubuntu 20.04