Ricerca nel sito web

Installa 'iRedMail' (server di posta completo) con domini virtuali, Webmail, SpamAssassin e ClamAV in Linux


Dopo i servizi HTTP e shadow DNS, la posta (SMTP, POP, IMAP e tutti i relativi protocolli di posta crittografata) è uno dei servizi più utilizzati in Internet e anche uno dei più sensati, a causa dello spam e dei server di posta open-relay.

Questo tutorial ti guiderà attraverso l'installazione di un server di posta completo con software MTA, MDA e MUA in pochi minuti su RHEL, CentOS, Scientific Linux e Debian, Ubuntu, Linux Mint con Postfix, domini virtuali e utenti con MySQL, Dovecot – supporto per POP3/POP3S, IMAP/IMAPS, Roundcube – Webmail e anche scansione di posta indesiderata e virus con SpamAssassin e ClamAV, tutti installati utilizzando un unico pacchetto software chiamato "iRedMail".

Cos'è iRedMail

iRedMail è una soluzione server di posta Open Source completa che può far risparmiare molto tempo agli amministratori di sistema per configurazioni complesse, supporta tutte le principali distribuzioni Linux e viene fornita con i seguenti pacchetti Linux.

  1. Suffisso: servizio SMTP – MTA predefinito.
  2. Dovecot: POP3/POP3S, IMAP/IMAPS, servizio Managesieve – MDA predefinito.
  3. Apache: server web.
  4. MySQL/PostgreSQL: archiviazione dei dati dell'applicazione e/o degli account di posta.
  5. OpenLDAP: memorizzazione degli account di posta.
  6. Policyd: server delle politiche Postfix.
  7. Amavisd: un'interfaccia tra Postfix e SpamAssassin, ClamAV. Utilizzato per la scansione di spam e virus.
  8. Roundcube: Webmail – MUA predefinito.
  9. Awstats: analizzatore di log Apache e Postfix.
  10. Fail2ban: analizza i file di registro (ad esempio /var/log/maillog) e blocca gli IP che mostrano tentativi di sistema dannosi.

Requisiti

  1. Installazione minima di CentOS 6.5 – Guida all'installazione di CentOS 6.5
  2. Un record DNS MX valido che punta al tuo server di posta responsabile del tuo nome di dominio.

Inoltre, questo tutorial è progettato solo a scopo di test e apprendimento e non utilizza record MX validi, né un dominio DNS valido, tutte le configurazioni vengono effettuate localmente utilizzando destinatari virtuali con MySQL (è possibile ricevere o inviare posta solo tra utenti del dominio locale – nome di dominio locale fornito dal file host) ma tieni presente che, sebbene il nostro sistema non possa ricevere posta da domini Internet, può effettivamente inoltrare posta a quei server di posta di dominio tramite Postfix MTA, anche se risiedi su uno spazio di indirizzi IP privato , senza record MX valido e utilizzando un dominio fittizio, quindi presta molta attenzione a ciò che stai facendo.

Passaggio 1: configurazioni iniziali e indirizzo IP statico

1. Dopo il primo riavvio accedi con il tuo account root e assicurati che il tuo sistema sia aggiornato e installa alcuni pacchetti utili necessari per un utilizzo successivo.

Su RHEL/CentOS/Scientific Linux
yum update && yum upgrade
yum install nano wget bzip2
Su Debian/Ubuntu/Linux Mint
apt-get update && apt-get upgrade
apt-get install nano wget bzip2

2. Poiché questa casella funziona come un server di posta, è necessario configurare un IP statico sull'interfaccia di rete. Per aggiungere un IP statico, apri e modifica il file di configurazione della scheda NIC situato nel percorso /etc/sysconfig/network-scripts/ e aggiungi i seguenti valori.

Su RHEL/CentOS/Scientific Linux
nano /etc/sysconfig/network-scripts/ifcfg-eth0

Utilizza questo file come modello e sostituiscilo con i tuoi valori personalizzati.

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:01:99:E8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="7345dd1d-f280-4b9b-a760-50208c3ef558"
NAME="eth0"
IPADDR=192.168.1.40
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

Dopo aver finito di modificare il file NIC, apri il file di rete dalla stessa posizione indicata sopra e aggiungi il nome host non qualificato del tuo server nella direttiva HOSTNAME.

nano /etc/sysconfig/network-scripts/network

Su Debian/Ubuntu/Linux Mint
nano /etc/network/interfaces

Sostituisci i seguenti valori con le tue impostazioni.

auto eth0
iface eth0 inet static
  address 192.168.1.40
  netmask 255.255.255.0
  gateway 192.168.1.1
  dns-nameservers 192.168.1.1
  dns-search 8.8.8.8

Una volta terminato con il file di rete, aggiungi il tuo nome host nel file /etc/hostname.

nano /etc/hostnames

3. Quindi apri il file /etc/resolv.conf e aggiungi i tuoi server IP DNS a livello di sistema come nello screenshot qui sotto.

nano /etc/resolv.conf

Aggiungi i seguenti contenuti con i tuoi server dei nomi preferiti.

search mydomain.lan
nameserver 8.8.8.8
nameserver 8.8.8.8

4. Dopo che tutte le configurazioni di cui sopra sono state scritte nei file corrispondenti, riavvia il servizio di rete per applicare le nuove configurazioni e verificale utilizzando i comandi ping e ifconfig.

service network restart	[On RedHat based systems]

service networking restart	[On Debian based systems]

ifconfig

5. Ora che la tua rete statica è completamente operativa, modifica il file /etc/hosts e aggiungi il tuo nome host non qualificato e FQDN come nell'esempio seguente.

nano /etc/hosts
127.0.0.1   centos.mydomain.lan centos localhost localhost.localdomain
192.168.1.40 centos.mydomain.lan centos

Per verificare il problema di configurazione del nome host, esegui i comandi hostname e hostname –f.

hostname
hostname -f

6. Un altro pacchetto utile è bash-completion (sequenza di comandi di completamento automatico utilizzando il tasto [Tab]) fornito dal repository EPEL sotto RedHat sistemi basati e quindi aggiornare le fonti.

Su RHEL/CentOS/Scientific Linux
rpm –Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum repolist && yum upgrade

Dopo che i tuoi sorgenti sono stati aggiornati, installa l'utilità bash-completion (rispondi a tutte le domande).

yum install bash-completion

Su Debian/Ubuntu/Linux Mint

Il pacchetto bash-completion nei sistemi basati su Debian può essere facilmente installato utilizzando il seguente comando.

apt-get install bash-completion

7. L'ultimo passaggio consiste nell'aggiungere un utente di sistema con privilegi di root. Per prima cosa aggiungi l'utente e imposta la sua password.

adduser your_user
passwd your_user

Dopo che il tuo utente è stato aggiunto, apri il file /etc/sudoers e rimuovi il commento dal gruppo %wheel, quindi aggiungi l'utente appena creato al gruppo wheel.

nano /etc/sudoers

Cerca e rimuovi il commento dalla riga del gruppo di ruote in modo che assomigli a questa.

%wheel                ALL=(ALL)            ALL

Chiudi il file e aggiungi il tuo utente al gruppo wheel emettendo il seguente comando.

usermod -aG wheel your_user

8. Prima di poter iniziare a scaricare e installare il software iRedMail, riavvia il sistema, quindi accedi con l'utente appena creato e assicurati che tutto sia perfettamente funzionante.

Passaggio 2: installa iRedMail

9. Per scaricare il pacchetto archivio iRedMail devi visitare la sezione della pagina di download ufficiale oppure puoi utilizzare il comando wget per scaricare l'ultima versione (0.8.7 al momento della stesura di questo articolo).

wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.8.7.tar.bz2

10. Al termine del download dell'archivio iRedMail, estrailo utilizzando il seguente comando.

tar xvjf iRedMail-0.8.7.tar.bz2

11. Quindi inserisci il percorso della directory iRedMail appena estratto, contrassegna lo script iRedMail.sh con le autorizzazioni eseguibili, quindi eseguilo.

cd iRedMail-0.8.7
chmod +x iRedMail.sh
sudo ./iRedMail.sh

12. Dopo i controlli iniziali del sistema, il programma inizia ad aggiungere il repository richiesto, quindi la prima richiesta di guida ti chiede se desideri continuare con l'installazione o interrompere. Scegli per continuare.

13. iRedMail utilizza il formato Maildir per archiviare le e-mail sul percorso di sistema /var/vmail dove crea directory separate per ogni dominio che aggiungi al tuo server MTA. Se ti senti a tuo agio con questo percorso, premi Avanti per andare avanti con le configurazioni del server, altrimenti fornisci la posizione desiderata, quindi Avanti.

14. Nel passaggio successivo scegli il database che preferisci per memorizzare i nomi dei domini di posta e i destinatari che si collegheranno a Postfix. Questo tutorial si concentra sul database MySQL, quindi scegli MySQL utilizzando la barra [Spazio], quindi continua con Avanti e fornisci una password complessa per l'account root MySQL.

15. Nel passaggio successivo aggiungi il tuo primo nome di dominio virtuale. Se possiedi un nome di dominio registrato, aggiungilo qui (aggiungi solo il nome di dominio e non l'FQDN di sistema).

16. Per impostazione predefinita iRedAdmin crea un utente amministrativo con pieni poteri sul tuo server a cui è possibile accedere tramite il pannello iRedAdmin o tramite i protocolli Dovecot (interfaccia webmail predefinita Roundcube o qualsiasi altro software IMAP/POP MUA come SquirrelMail, Rainloop , Microsoft Outlook, Mozilla Thunderbird, Evolution, Mutt, Elm ecc.).

Inoltre questo account amministrativo di postmaster viene utilizzato dal sistema per segnalare incidenti relativi alle funzioni di posta o altri errori di sistema o informazioni utili – logwatch di solito invia le sue statistiche qui – quindi scegli una password complessa e continua con Avanti.

17. Nel passaggio successivo scegli gli altri componenti del server di posta come il pannello amministrativo ufficiale iRedAdmin su Postfix, le chiavi di dominio DKIM – (aggiunge una firma all'intestazione del messaggio valutando l'attendibilità del messaggio per la consegna finale o ulteriori inoltri), Roundcube interfaccia webmail predefinita (se prevedi di utilizzare un altro Mail Delivery Agent salta Roundcube), PhpMyadmin (se hai dimestichezza con la riga di comando MySQL dovresti anche saltare l'installazione di PhpMyAdmin), Awstats (utili statistiche di registro e analizzatore), Fail2ban (protegge il tuo server da attacchi di forza bruta).

18. Nella prossima serie di domande, a seconda dei componenti opzionali installati, dovresti rispondere con . Presta particolare attenzione al file iRedMail.tips che si trova nella directory estratta $HOME perché contiene informazioni sensibili sul server di posta come nomi utente e password per le applicazioni server, file di configurazione del server, URL predefinito e altre informazioni importanti.

19. Al termine dell'installazione, riavvia il sistema e verifica il file iRedmail.tips per vedere le impostazioni predefinite del server: dovresti spostare questo file in un luogo sicuro percorso di sistema con 600 autorizzazioni su di esso.

20. Accedi alle applicazioni web predefinite sui seguenti URL.

  1. Roundcube Webmail – https://nome_dominio o IP_server/posta/
  2. Pannello IRedAdmin – https://nome_dominio o IP_server/iredadmin/
  3. PhpMyadmin – https://nome_dominio o IP_server /phpmyadmin/
  4. Awstats – https://nome_dominio o IP_server/awstats/awstats.pl?config=web (o ?config=smtp)
  5. Plug-in anti-spam Policy – https://nome_dominio o IP_server/cluebringer/

Passaggio 3: configurazioni iniziali della webmail

21. Il pannello amministrativo di iRedAdmin offre un'interfaccia webmail di base in cui puoi aggiungere domini e account virtuali per il tuo server di posta che Postfix può gestire tramite il backend MySQL. Per accedere al pannello iRedAdmin, puntare il browser all'URL https://nome_dominio/iredadmin/ o https://IP_server/iredadmin/ e utilizzare le seguenti credenziali predefinite.

  1. Nome utente: postmaster@tuo_nome_dominio.tld
  2. Password: password postmaster impostata al punto 16

22. Per aggiungere un utente, vai a Aggiungi -> Utente quindi fornisci il nome utente, l'indirizzo e-mail e la password desiderati. Puoi anche impostare la quantità di spazio che la tua casella di posta utente può gestire con la Quota e puoi anche promuovere gli utenti con poteri amministrativi sul pannello iRedAdmin Contrassegnando l'utente come amministratore globale.

23. La lettura della posta elettronica degli utenti è fornita dall'interfaccia web Roundcube. Per accedervi, vai all'URL https://nome_dominio/mail o https://IP_server/mail/ e fornisci le credenziali del tuo account di posta sotto forma di [ email protetta].

Accedendo all'account di posta amministrativa predefinito postmaster troverai due email iniziali, una delle quali include informazioni sensibili sul tuo server. Da qui ora puoi leggere e-mail, comporre e inviare e-mail ad altri utenti del dominio.

24. Per accedere al server policy anti-spam vai a https://domain_name/cluebringer o https://server_IP/ indizio/ e fornire le seguenti credenziali.

  1. Nome utente: [email protetto]
  2. Password: password del postmaster

25. Per visualizzare le statistiche del server di posta, vai a https://mydomain.lan/awstats/awstats.pl/?config=smtp o https:// mydomain.lan/awstats/awstats.pl e utilizzare le seguenti credenziali.

  1. Nome utente: [email protetto]
  2. Password: password del postmaster

26. Se vuoi controllare le connessioni aperte del tuo server e lo stato del demone in ascolto con i loro socket afferenti, immetti i seguenti comandi.

netstat -tulpn   ## numerical view
netstat -tulp    ## semantic view

27. Per eseguire il debug di altri problemi con le transazioni di posta o visualizzare il tuo server in funzione puoi utilizzare i seguenti comandi.

tailf /var/log/maillog   ## visualize mail logs in real time
mailq    		   ##  inspect mail queue
telnet    		   ## test your server protocols and security form a different location
nmap                     ## scan your server opened connections from different locations

28. Ora hai implementato un ambiente di posta completo, l'unica cosa che manca, almeno su questo argomento, è un nome di dominio valido con un record MX DNS per ricevere la posta da altri domini Internet ma il server SMTP locale può e invierà la posta su altri domini Internet validi, quindi presta particolare attenzione a chi invii la posta perché potresti incorrere in problemi illegali con il tuo ISP.

Dallo screenshot qui sotto puoi vedere che ho inviato un'e-mail dal mio dominio locale non valido a uno dei miei account google.com e l'e-mail è stata ricevuta correttamente dal mio account Google.

A differenza di altri servizi di rete in cui li installi e te ne dimentichi per molto tempo, la gestione di un server di posta è un duro lavoro continuo a causa di problemi relativi al servizio di posta come SPAM, inoltro aperto e messaggi respinti.

Collegamenti di riferimento

Home page di iRedMail