Come configurare smartphone e PC. Portale informativo
  • casa
  • Sicurezza
  • Configurazione competente e rapida del server di posta. Server di posta su Linux

Configurazione competente e rapida del server di posta. Server di posta su Linux

La posta elettronica per la maggior parte degli utenti sembra un normale sito Web con un'interfaccia intuitiva, in cui è possibile digitare comodamente testo, allegare immagini e inviare messaggi agli amici. Tuttavia, in realtà, tutto è molto più complicato. I server di posta su Linux vengono utilizzati per il trasferimento dei dati. Sono loro che elaborano, consegnano e instradano i messaggi. Questo articolo ti guiderà attraverso i server di posta Linux più popolari e come configurarne alcuni.

Panoramica delle soluzioni per la creazione di sistemi per l'invio e la ricezione di messaggi

Utilizzando un server di posta su Linux, puoi distribuire rapidamente e comodamente il tuo meccanismo per ricevere e inviare messaggi. Ci sono molte soluzioni già pronte sul Web, che devi solo installare e "finire" un po '. Tra questi, ovviamente, ci sono sistemi più complessi da configurare, la cui configurazione verrà mostrata di seguito utilizzando l'esempio di Postfix.

SendMail - popolare e veloce

SendMail può essere definito un pioniere tra i server di posta Linux. La prima versione è stata rilasciata nel 1983. Da allora SendMail ha dominato molte stazioni e nodi. È attivamente utilizzato fino ad oggi. Un server veloce e ottimizzato, tuttavia, non soddisfa i moderni requisiti di sicurezza ed è piuttosto difficile da configurare.

Postfix è flessibile, potente e affidabile

È stato originariamente sviluppato per le esigenze interne dell'IBM Research Center. Molte caratteristiche e capacità sono prese in prestito da SendMail. Tuttavia, è molto più veloce, più sicuro e richiede meno tempo e fatica per l'installazione. Può essere utilizzato come server di posta su Linux, MacOS, Solaris.

IredMail

Questo server è essenzialmente un piccolo insieme di script e file di configurazione. Con il loro aiuto, puoi configurare rapidamente un server di posta su Linux con e senza un'interfaccia Web. Supporta i protocolli SMTP, POP3 e IMAP. La procedura di installazione in genere non richiede più di 10 minuti, a seconda dell'abilità dell'amministratore.

Il processo iRedMail installerà automaticamente gli strumenti antivirus e antispam. Oltre a questi, è possibile aggiungere meccanismi di protezione della forza bruta delle password, vari analizzatori e così via. Un'opzione eccellente per un server di posta Linux già pronto.

IndiMail

Combina diversi noti protocolli e tecnologie per l'implementazione del trasferimento di messaggi di posta. Il sistema integra la possibilità di creare canali tra nodi della stessa rete, ad esempio per organizzare una risorsa di posta condivisa per diverse filiali dell'azienda. Il sistema ha un meccanismo di configurazione molto flessibile. Viene implementato tramite variabili di override, di cui nel server sono presenti circa 200. Allo stesso tempo, è possibile creare più thread di IndiMail in parallelo.

Rombo

Server web di posta Linux scritto in C++. C'è un'API integrata per la gestione e lo scripting. Ha molte funzioni e caratteristiche fuori dalla scatola. Sono supportate diverse versioni note del DBMS. Se lo si desidera o riconfigurato, è possibile passare rapidamente da uno all'altro. Le interfacce del server sono separate dai diritti per le loro zone specifiche: utenti, domini e amministratori del server.

Zentyal

Probabilmente il server di posta Linux standard più semplice e conveniente. In esso, quasi tutte le istruzioni e le impostazioni vengono eseguite in un'interfaccia grafica speciale. Questo server di posta è basato su L'aggiunta di funzioni o capacità avviene installando nuovi moduli. Può essere utilizzato per organizzare sia un server di posta separato che un router o un nodo intermedio tra le principali autostrade.

Axigen

Server di posta gratuito, potente e ricco di funzionalità. Può essere utilizzato sia tramite la propria interfaccia web che tramite qualsiasi client di posta. Sa come raccogliere la posta da caselle di posta esterne, rispondere automaticamente ai messaggi, filtrarli e anche importarli comodamente in formato CSV.

Dispone di una propria interfaccia web per la configurazione e l'amministrazione. Per gli amanti del classico modello di controllo è disponibile l'assegnazione dei comandi tramite console.

Il server supporta un gran numero di sistemi operativi, inclusi quelli della linea Windows. Il processo di interazione è molto ben documentato e spiegato da numerosi esempi sul sito dello sviluppatore.

CommuniGate Pro

Un server multipiattaforma in grado di gestire e-mail e messaggi vocali. È possibile connettersi ad esso utilizzando client di posta o un'interfaccia web centralizzata. Esiste un'implementazione della differenziazione dei diritti di accesso di un account per più persone. I plugin possono aiutare a integrare vari sistemi e soluzioni antivirus.

Configurazione sull'esempio di un sistema

Dopo aver esaminato i server di posta su Linux, vale la pena considerare di configurarne uno in modo più dettagliato.

Ad esempio, puoi mostrare come installare su Ubuntu. Si presume che l'hardware disponga già di questo sistema operativo e sia stato aggiornato alla versione più recente.

La prima cosa da fare è scaricare il server stesso. È disponibile nei repository di Ubuntu, quindi nel terminale è necessario digitare:

Durante l'installazione, il sistema ti chiederà di specificare una nuova password per l'utente del database nell'account root. Quindi deve essere ripetuto per confermare. Quindi potrebbe chiederti che tipo di installazione ti interessa. Quindi il nome della posta di sistema, in cui è possibile specificare - some.server.ru.

Ora dobbiamo creare un database per il server. Questo può essere fatto usando il comando:

mysqladmin -u root -p crea posta.

Qui è dove è necessaria la password specificata in precedenza per il database.

Ora puoi entrare nella shell MySQL stessa usando il comando:

mysql -u radice. Il sistema chiederà nuovamente una password da inserire.

Avrai anche bisogno di tabelle nel database principale, puoi crearle in questo modo:

Ora la console mysql non è più necessaria e puoi uscirne.

Configurazione postfissa

Innanzitutto, devi mostrare al server come accedere al database, come trovare i valori necessari lì. Diversi file verranno creati per questo. Possono trovarsi nella directory /etc/postfix. Ecco i loro nomi:

Dovrebbero contenere il seguente contenuto, tra cui la stringa di query per ogni file sarà univoca:

user = nome amministratore specificato durante la creazione della tabella;

password =<пароль админа>;

dbname = nome del database creato;

query = query, diversa per ogni file;

host = 127.0.01.

La variabile di query per i file:

Questi file conterranno la password per entrare nel database, quindi l'accesso ad essi deve essere in qualche modo limitato. Ad esempio, imposta i diritti, questi sono limitanti.

Ora non resta che aggiungere qualche altra personalizzazione a Postfix. Vale la pena notare che nelle righe seguenti è necessario sostituire some.server.ru con il dominio reale.

Certificazioni di sicurezza

Innanzitutto, è necessario creare la propria autorità di certificazione, che confermerà la validità di tutti i certificati.

L'archiviazione dei file viene creata:

E il file di configurazione. Contiene il seguente codice:

Una piccola spiegazione ad esso:

  • variabile C - qui è necessario specificare il paese in un formato a due lettere, ad esempio per Russia - RU;
  • ST - indica una regione o area specifica;
  • L - città;
  • O - il nome dell'impresa;
  • CN - qui è necessario specificare il dominio a cui è destinata la chiave;
  • Indirizzo email.

Quindi viene creata la chiave stessa:

sudo openssl genrsa -des3 -out ca.key 4096

Il sistema ti chiederà di specificare una password per questa chiave, che in nessun caso deve essere dimenticata.

Ora abbiamo bisogno di una versione pubblica della chiave:

openssl req -new -x509 -nodes -sha1 -days 3650 -key ca.key -out ca.crt -config ca.conf

Qui dovrai inserire la password precedentemente creata per la chiave privata.

Ora il certificato:

openssl pkcs12 -export -in ca.cer -inkey ca.key -out ca.pfx

mkdir SERV / some.domen.ru

E crea la propria configurazione:

nano SERV / some.domen.ru / openssl.conf

Dovrebbe contenere le impostazioni seguenti. Sono simili a quelli che sono già stati creati.

Per generare le chiavi, usa il comando:

sudo openssl genrsa -passout pass: 1234 -des3 -out SERV / some.server.ru / server.key.1 2048

Questa riga utilizza la password 1234. È necessaria per un po'.

Ora la password viene rimossa dal comando:

openssl rsa -passin pass: 1234 -in SERV / some.server.ru / server.key.1 -out SERV / some.server.ru/server.key

Ora devi firmare la chiave:

openssl req -config SERV / some.server.ru / openssl.conf -new -key SERV / some.server.ru / server.key -out SERV / some.server.ru / server.csr

E rimuovi il temporaneo: rm -f SERV / some.server.ru/server.key.1

Con l'aiuto delle manipolazioni eseguite, apparirà un server di posta che può semplicemente ricevere e inviare messaggi. Oltre a quelli principali, sono presenti moduli aggiuntivi che possono essere installati per espandere le funzionalità. Questo creerà un server di posta Linux completo per l'azienda.

Funzioni aggiuntive

I seguenti moduli possono essere utilizzati per estendere le capacità del server di posta, ad esempio "Antispam" o il servizio di posta.

  • Orda. Interfaccia web molto user-friendly per la posta. Oltre al suo compito principale, ha un calendario, un programma di pianificazione e contatti integrati. Ha un comodo schema di configurazione e configurazione.
  • Amavisd-nuovo. Funge da gateway ed è utilizzato principalmente per connettere varie tecnologie. Amavisd-new riceve il messaggio, lo filtra, scopre se potrebbe essere pericoloso e collega funzioni aggiuntive di altri moduli per la verifica.
  • SpamAssassin. Come suggerisce il nome, il modulo filtra le email secondo determinate regole, calcolando lo spam. Può essere usato sia separatamente che come parte di vari demoni.
  • ClamAV. Antivirus diffuso nell'ambiente Linux.È un software gratuito. È in grado di funzionare con molti server di posta diversi, scansionare file e messaggi "al volo".
  • Rasoio. Questo modulo memorizza i checksum delle e-mail di spam e interagisce direttamente con P ostfix.
  • Pyzor è un altro strumento per rilevare messaggi contenenti codice dannoso o inutile per l'utente.
  • Fail2ban. Uno strumento che protegge gli account utente dal cracking delle password a forza bruta. Dopo un certo numero di tentativi, uno specifico indirizzo IP viene bloccato per un po'.
  • Postino. Un comodo strumento per creare mailing list tramite un'interfaccia web.
  • Munin. Strumento di monitoraggio del server. Ha un gran numero di plugin già pronti che estendono le sue capacità. Il funzionamento dei protocolli di rete può essere monitorato su comodi grafici.

Conclusione

Come puoi vedere dall'articolo, l'installazione e la configurazione manuale di un server di posta completo è un'attività lunga e difficile. Tuttavia, questo approccio ti consentirà di comprendere in generale come funziona il sistema e conoscerne le vulnerabilità e i punti di forza. In caso di problemi, un amministratore esperto può isolare e risolvere rapidamente il problema. Ciò sarà particolarmente rilevante per le grandi aziende, il cui lavoro dipende interamente dalla rapidità di ricezione e invio di messaggi a clienti o partner. Per le piccole reti, è anche abbastanza adatta una soluzione pronta all'uso, che può essere implementata rapidamente utilizzando un'interfaccia intuitiva.

Tuttavia, in caso di guasto del server, ci vorrà molto tempo per approfondire e comprendere la struttura del sistema. Utilizzando il server di posta Postfix come esempio, l'articolo ha mostrato i metodi di base ei metodi di impostazione per il lavoro iniziale. Insieme a un gran numero di moduli, plug-in e componenti aggiuntivi, questo creerà uno strumento potente e affidabile per l'invio e la ricezione di messaggi.

Affinché il server di posta funzioni correttamente, è importante disporre di una zona DNS configurata correttamente. In abbiamo già toccato alcuni aspetti legati al sistema DNS, oggi ci soffermeremo su questo tema in modo più dettagliato. La configurazione di una zona DNS è un'operazione preparatoria prima dell'implementazione di un server di posta e l'operatività del sistema di posta elettronica dipende direttamente da essa.

Impostazioni errate possono impedire che la posta venga consegnata al tuo server di posta o ai server dei destinatari per rifiutare la tua posta. Infatti, se i tuoi record di zona non contengono informazioni sul server di posta, a dove dovrebbe essere inviata la posta? Al villaggio del nonno? Puoi, ovviamente, chiedere di configurare la zona DNS del tuo provider, ma è meglio farlo da solo.

Cosa ci serve? Indirizzo IP dedicato (diciamo 11.22.33.44), che dovresti ottenere dal tuo ISP. Nome di dominio (ad esempio example.com), può essere registrato con qualsiasi registrar o partner. Quando ti registri con un partner, controlla se fornisce l'accesso alla gestione della zona DNS, altrimenti dovrai dedicare ulteriore tempo, nervi e denaro al trasferimento del dominio al registrar.

Se hai già un dominio e, molto probabilmente, su di esso funziona un sito web, verifica se è possibile gestire la zona DNS dal pannello del provider di hosting, altrimenti è meglio trasferire il dominio al registrar, per questo contatta il supporto del fornitore.

Quindi, abbiamo il dominio. Quali record contiene la sua zona DNS? Innanzitutto, questo è il record SOA, la descrizione della zona. Non analizzeremo tutti i record in dettaglio, questo va oltre lo scopo del nostro articolo, ma è necessario averne una comprensione generale. Dovrebbero esserci anche due record NS che puntano a server dei nomi (server DNS) che servono questo dominio, questi saranno i server del registrar o il provider di hosting.

La prima voce da aggiungere sarà una voce A o una voce nome. Dovrebbe puntare all'indirizzo IP del tuo server, se decidi di servire tutte le richieste al dominio da solo, o all'indirizzo IP del provider di hosting, se decidi di ospitare il tuo sito. Quando un sito è ospitato da un hoster, il dominio è solitamente delegato al suo server DNS (i record NS corrispondenti sono registrati) e il record A verrà creato automaticamente quando il dominio viene parcheggiato.

Questa è l'opzione più comune, ma puoi sempre creare tu stesso un record A se necessario. Questo record ha la forma

Esempio.com. IN UN 22.11.33.44

Nel nostro esempio, 22.11.33.44 è l'indirizzo del nostro provider di hosting che ospita il sito. Attenzione al punto alla fine del nome, questo indica che il nome è assoluto, se non c'è il punto il nome è considerato relativo e ad esso viene aggiunto il nome a dominio della SOA. Puoi controllare il record con il comando nslookup.

Affinché il server di posta funzioni, è necessario creare un record MX, che dovrebbe puntare al nostro server di posta. Per fare ciò, creiamo un record:

Esempio.com. IN MX 10 mail.esempio.com.

Puoi anche scrivere semplicemente:

Esempio.com. IN MX 10 posta

A tale nome (senza punto alla fine) verrà automaticamente aggiunto example.com. Il numero 10 definisce la priorità del server, minore è, maggiore è la priorità. A proposito, la zona DNS potrebbe già contenere un record MX del modulo:

Esempio.com. IN MX 0 esempio.com.

Di solito questa voce viene creata automaticamente dal provider di hosting quando viene inserito il sito, deve essere eliminata.

Ora creiamo un record A per mail.example.com

Mail.esempio.com. IN UN 22.33.44

Ora tutta la posta per il dominio example.com verrà inoltrata all'host di posta all'11.22.33.44, ad es. tuo server di posta, allo stesso tempo il sito example.com continuerà a funzionare sul server del provider al 22.11.33.44.
Potrebbe sorgere la domanda, perché è impossibile specificare immediatamente l'indirizzo IP del server di posta nel record MX? In linea di principio, alcuni lo fanno, ma questo non è conforme alle specifiche DNS.

Puoi anche creare alias per un server di posta come pop.esempio.ru e smtp.esempio.ru... Perché è necessario? Ciò consentirà al client di essere indipendente dalle specifiche della tua infrastruttura, dopo aver registrato le impostazioni. Diciamo che la tua azienda è cresciuta e ha dedicato un server di posta separato per servire clienti esterni. posta1, tutto ciò che devi fare è modificare due record DNS, i client non noteranno che stanno lavorando con il nuovo server. I record CNAME vengono utilizzati per creare alias:

Inserisci IN CNAME mail.example.com.
smtp IN CNAME mail.example.com.

Questo completa la configurazione della zona DNS diretta, la cosa più interessante rimane: la zona inversa. La zona inversa è controllata dal provider che ti ha fornito l'indirizzo IP e non puoi gestirla da solo (a meno che tu non sia il proprietario del blocco di indirizzi IP). Ma è necessario aggiungere almeno un record alla zona inversa. Come abbiamo scritto nell'ultimo articolo, molti server di posta controllano i record PTR (reverse zone record) per il server mittente e se sono assenti o non corrispondono al dominio del mittente, tale lettera verrà rifiutata. Pertanto, chiedi al provider di aggiungere una voce per te come:

44.33.22.11.in-addr.arpa. IN PTR mail.esempio.com.

Un po' strano, no? Diamo un'occhiata più da vicino alla struttura del record PTR. Lo speciale dominio di primo livello in-addr.arpa viene utilizzato per la risoluzione inversa dei nomi. Questo viene fatto per utilizzare gli stessi meccanismi di programmazione per la traduzione dei nomi in avanti e all'indietro. Il punto è che i nomi mnemonici sono scritti da sinistra a destra e gli indirizzi IP da destra a sinistra. Quindi mail.esempio.com. significa che l'host di posta è nell'esempio di dominio, che è nel dominio di primo livello com., 11.22.33.44 significa che l'host 44 è nella sottorete 33, che è nella sottorete 22 della rete 11. Per mantenere lo stesso ordine, il PTR i record contengono l'indirizzo IP " back to front "dominio di primo livello imbottito in-addr.arpa.

Puoi anche controllare i record MX e PTR con il comando nslookup utilizzando un parametro aggiuntivo -tipo = MX o -tipo = PTR

E, naturalmente, non dimenticare che eventuali modifiche alle zone DNS non avvengono istantaneamente, ma entro poche ore o addirittura giorni necessari per la propagazione delle modifiche nel sistema DNS globale. Ciò significa che, nonostante il fatto che il tuo server di posta inizi a funzionare 2 ore dopo aver apportato le modifiche, la posta del tuo partner potrebbe non essere inviata a te per un periodo di tempo più lungo.

Oggi, quando la posta elettronica è la spina dorsale dei processi aziendali, le aziende necessitano di un sistema di posta elettronica affidabile e ad alte prestazioni che protegga da virus e spam, possa autenticare gli utenti, crittografare il traffico e offrire molte funzioni utili. Le soluzioni presentate consentono di ottenere tale risultato con il minimo sforzo.

iRedMail

Nome: iRedMail

Licenza: GNU GPL

Piattaforma:* no

I server di posta basati su *nix affascinano per la loro apertura, prestazioni e sicurezza, ma per un principiante, l'implementazione da zero e la successiva manutenzione possono trasformarsi in un vero incubo. Il progetto iRedMail mira a risolvere questo problema. In effetti, questo sviluppo è un insieme di script e configurazioni già pronte che semplificano il processo di distribuzione e configurazione iniziale di un server di posta basato su Postfix / Dovecot con supporto per i protocolli SMTP, POP3 e IMAP. Dopo aver avviato lo script, scaricherà e installerà da solo i pacchetti necessari, creerà il primo dominio virtuale (facendo un minimo di domande) con l'amministratore e l'utente. Il processo di distribuzione stesso richiede circa dieci minuti, dopodiché sarà possibile inviare e ricevere posta. Non dovrai leggere la documentazione e approfondire le impostazioni e non avrai bisogno di alcuna conoscenza specifica * nix. Gli account possono essere salvati in OpenLDAP o MySQL, questo viene selezionato durante la fase di installazione. Quindi puoi creare un numero qualsiasi di domini, caselle di posta e alias, ovvero non ci sono restrizioni. Per proteggere la posta da virus e spam, verranno installati automaticamente SpamAssassin e ClamAV, oltre a strumenti che forniscono supporto per SPF (Sender Policy Framework), DKIM (DomainKeys Identified Mail), HPR (HELO Randomization Prevention), Spamtrap e white, black , liste grigie... Per bloccare i tentativi di forzare una password, imposta iptables Fail2ban. Il progetto offre il suo sviluppo iRedAPD (Access Policy Delegation), che consente di gestire le politiche di Postfix delegando l'autorità tra gli utenti. La gestione avviene tramite l'interfaccia web Roundcube WebMail; parallelamente, verranno installati gli strumenti di gestione dei servizi phpLDAPadmin, PostfixAdmin, phpMyAdmin e l'analizzatore di log AWStats per visualizzare le statistiche. C'è anche un'interfaccia di amministrazione localizzata di nostra progettazione - iRedAdmin, in due versioni: Open Source gratuita e iRedAdmin-Pro commerciale. Il primo permette di gestire solo account e domini, il secondo risolve tutte le problematiche legate all'amministrazione del sistema di posta. Tutti i componenti sono messi su un server "pulito"; se hai già un MySQL funzionante, puoi connetterti ad esso solo se effettui manualmente le impostazioni necessarie (richiede una certa esperienza).

È supportata l'installazione su versioni i386/x86_64 di Red Hat Enterprise Linux, CentOS, Gentoo Linux, Debian, Ubuntu, openSUSE e Open/FreeBSD. Diverse guide sono disponibili sul sito web del progetto per aiutarti a navigare rapidamente.

IndiMail

Nome: IndiMail

Licenza: GNU GPL

Piattaforma:* no

Una piattaforma di messaggistica per i protocolli SMTP, IMAP, POP3, che supporta QMQP, QMTP, DKIM e BATV (Bounce Address Tag Validation) e controlla la posta per spam e virus. Basato su diverse soluzioni Open Source: Qmail, Courier IMAP / POP3, serialmail (consegna della posta tramite connessioni dial-up), qmailanalog (liste di posta), dotforward, fastforward, mess822, daemontools, ucspi-tcp, Bogofilter, Fetchmail e altri. Fornisce una serie di strumenti proprietari per la gestione di domini virtuali e account utente. Fornisce il routing per SMTP, IMAP e POP3, che consente di ospitare un dominio di posta su più server con comunicazione tra di loro o come proxy. Questo è molto conveniente se l'organizzazione è composta da diversi uffici remoti. Utilizzando l'utilità hostcntrl, è possibile aggiungere al servizio indirizzi individuali di altri domini. Ciò consente di utilizzare IndiMail in un ambiente eterogeneo senza dover ospitare più domini o passare da una soluzione proprietaria. Più server con sincronizzazione dei dati facilitano la crescita della struttura. Diversi componenti sono stati modificati per fornire una migliore scalabilità e prestazioni (in particolare Qmail). IndiMail utilizza diverse cosiddette raccolte di code, ognuna delle quali esegue il proprio processo qmail-send / qmail-todo e può memorizzare i dati su un disco rigido separato. Questa architettura consente di elaborare le richieste più velocemente rispetto a Qmail originale.

Gli sviluppatori danno completa libertà nelle impostazioni, quasi tutti i parametri possono essere ridefiniti tramite variabili (e ce ne sono circa 200). Ad esempio, la variabile CONTROLDIR indica la directory con i file di configurazione, QUEUEDIR - la directory con le code. Cioè, puoi eseguire più copie di IndiMail sullo stesso server con impostazioni diverse per ogni coda, mittente, destinatario e host. Ma non è necessario comprendere tutte le variabili: bastano poche modifiche per far funzionare IndiMail. I neofiti possono gestire le installazioni utilizzando il menu FLASH (costruito con Ncurses). MySQL viene utilizzato per archiviare dati sugli utenti virtuali, le rubriche possono essere archiviate in OpenLDAP. Le versioni recenti sono completamente compatibili con systemd. Gli sviluppatori prestano molta attenzione alla sicurezza sia del server stesso che dei servizi: utilizzo minimo di SETUID, chiara separazione tra programmi/indirizzi/file, partizionamento attendibile a cinque livelli, riconoscimento automatico degli IP locali, elenco di accesso, tcprules, contenuto filtro, TLS/SSL e molto altro...

IndiMail può essere installato su qualsiasi piattaforma 32/64 * nix. Sorgenti, pacchetti e repository sono disponibili per il download per alcune popolari distribuzioni Linux (RHEL / CentOS 5/6, Fedora, openSUSE / SLE, Mandriva, Debian e Ubuntu). Per gestire il server vengono offerti circa 45 programmi per vari scopi (la maggior parte si trova in /var/indimail/bin), gli account possono essere configurati anche utilizzando l'interfaccia web iWebAdmin (costruita su QmailAdmin), che deve essere installata separatamente.

Rombo

Nome: Rombo

Licenza: GNU GPL

Piattaforma:* no, Win


Server di posta che supporta SMTP (ESMTPSA), POP3 e IMAP. È molto facile da gestire, per l'amministrazione viene utilizzata un'interfaccia web. Perfetto per piccole organizzazioni con più domini. È scritto in C/C++, offre una propria API per gli script (Lua e C/C++). L'architettura consente di aumentare le prestazioni del server raggruppando i server per uno o tutti i domini. Supporta SSL / TLS, SQLite e MySQL, autenticazione (MD5 / PLAIN / STARTTLS), white / gray / blacklist, SpamAssassin, BATV e tecnologie VERP (Variable Envelope Return Path) sono incluse per la protezione dallo spam. Le impostazioni forniscono la possibilità di limitare la dimensione massima del messaggio.

Sul sito sono disponibili codici sorgente e binari x86/x64 per l'installazione su Linux (Generic, Ubuntu, Debian). Per avviare il server, devi decomprimere l'archivio ed eseguire lo script, il programma farà il resto da solo. Per comodità, i testi di origine e i file di configurazione possono essere distribuiti nelle directory appropriate e fornire il caricamento automatico all'avvio del sistema operativo. I parametri ei moduli del server sono inclusi nel file rumble.conf. Per potersi registrare tramite l'interfaccia web (porta 2580), eliminare il file module / rumblelua / auth.cfg generato automaticamente (contiene la password dell'amministratore), quindi aprire il browser web e specificare una nuova password. Ora puoi gestire domini, account e caselle di posta, impostazioni del server, visualizzare log e statistiche.

Per impostazione predefinita, SQLite viene utilizzato come database, se le sue capacità non sono sufficienti o l'organizzazione ha già un MySQL funzionante, puoi facilmente cambiare il server per lavorare con questo DBMS.

Per l'amministrazione del server vengono utilizzati tre livelli: amministratore del server, amministratore del dominio e utente. L'interfaccia dell'amministratore del server consente solo la creazione e l'eliminazione di domini, inoltre sono disponibili una serie di impostazioni specifiche. Dopo aver creato un dominio, nel menu Utente RumbleLua è necessario aggiungere un nuovo account e specificare questo dominio nelle sue impostazioni. Questo sarà l'amministratore del dominio, il quale, dopo essersi registrato nel sistema, potrà creare caselle di posta, alias, associare un indirizzo a un modulo, impostare un programma che verrà lanciato alla ricezione di una lettera a un indirizzo specifico e configurare un relè. L'interfaccia non è localizzata, sebbene tutto sia molto semplice e diretto.

Zentyal - mailer pronto all'uso

I neofiti che sono intimiditi dalla stessa parola Linux e dalla necessità di inserire comandi nel terminale hanno bisogno di una soluzione semplice che consenta di distribuire rapidamente un servizio di posta senza leggere la documentazione. In alternativa, qui puoi consigliare Zentyal - una distribuzione specializzata costruita sulla base di Ubuntu Server (l'ultima versione è basata su Ubuntu 12.04 LTS) e che ti consente di eseguire tutte le installazioni e le impostazioni necessarie utilizzando un'interfaccia grafica. Zentyal è un kit di distribuzione generico che può essere utilizzato come router con funzioni UTM, server per ufficio o server di messaggistica. Tutte le funzioni necessarie vengono implementate utilizzando moduli/pacchetti installati. Ci sono attualmente più di trenta moduli disponibili in cinque categorie, che possono essere aggiunti con un clic. Zentyal può essere installato come server standalone utilizzando la propria base utenti, oppure lavorare in collegamento master/slave con la possibilità di replicarsi tra più server e sincronizzare le credenziali con LDAP/AD.

Axigen

Nome: Axigen

Licenza: GNU GPL

Piattaforma: Linux, FreeBSD, Solaris, Windows


Server di posta multifunzionale, veloce e sicuro (SMTP / POP3 / IMAP) con funzioni di collaborazione, calendario, elenco delle cose da fare e note, sviluppato dalla società rumena Gecad Technologies. Gli utenti possono lavorare con i messaggi tramite un client di posta elettronica o utilizzando un'interfaccia web localizzata (e molto carina) costruita utilizzando la tecnologia Ajax - può essere completamente personalizzata per te stesso. I tasti di scelta rapida sono supportati, migliorando ulteriormente l'esperienza di lavoro con una normale applicazione desktop. Disponibile nelle impostazioni: raccolta della posta da caselle di posta esterne, risposta automatica, filtro della posta, impostazione di alias e altro. L'utente può anche esportare/importare i contatti in un file CSV per il trasferimento ad altre applicazioni. Oltre a quella standard, offre un'interfaccia semplificata per dispositivi mobili, supporto ActiveSync per la sincronizzazione di messaggi, contatti e calendario. Come componente aggiuntivo viene installata un'estensione per lavorare con le cartelle condivise.

L'amministrazione viene eseguita utilizzando la riga di comando o tramite il modulo web (gira sulla porta 9000), il che è comprensibile anche per un principiante. Allo stesso tempo, alcuni diritti sulle impostazioni sono sottilmente delegati ad altri utenti.

È possibile l'integrazione con un server LDAP (la documentazione descrive OpenLDAP ed eDirectory) o Active Directory, per questo è necessario installare schemi di estensione speciali. Moduli implementati per il backup e il ripristino delle informazioni, mailing list, supporto per cluster e bilanciamento del carico, interfaccia MAPI, proxy POP3 e IMAP. Il server può servire diversi domini con impostazioni diverse. La documentazione descrive come integrare un servizio IM basato su Jabber/XMPP. Inoltre, Axigen dispone di un avanzato sistema di reportistica con l'output di tutti i tipi di grafici; in totale sono stati preparati circa un centinaio di modelli. TLS / SSL può essere utilizzato per proteggere le informazioni, sono supportati tutti i meccanismi di autenticazione più diffusi: plain, login, cram-md5, digest-md5 e così via. È possibile l'integrazione con quindici soluzioni per combattere virus (Kaspersky, DrWeb, Symantec, ClamAV e altri) e spam (incluso SpamAssassin). Tecnologie supportate SPF, DKIM, liste nere/grigie/bianche e filtraggio per IP/paese di origine. Tutto questo può essere collegato con un solo clic dall'interfaccia di amministrazione. Lo scambio di dati tra Axigen e MS Outlook è possibile, per questo è necessario installare un connettore.

Un grande vantaggio di Axigen è la possibilità di eseguire il server su più sistemi operativi. La pagina di download fornisce pacchetti per Debian, Red Hat Enterprise Linux e CentOS 5/6, SUSE Linux Enterprise 10/11, Fedora 12 e 13, OpenSUSE 11.2 e 11.3, FreeBSD 7.x / 8.x, Solaris 10 x86 / SPARC e Win2k3 / 2k8 (x86 / x64). Preparato anche Virtuozzo - contenitori per una rapida implementazione in ambienti virtuali. L'installazione è molto semplice e viene eseguita utilizzando un'interfaccia GUI, in cui è necessario selezionare i servizi, impostare le porte e specificare le interfacce di rete per le connessioni utente e amministratore. Con l'abilità adeguata, l'intero processo non richiederà più di 10-15 minuti. Sul sito del progetto è possibile trovare una documentazione dettagliata e diversi video che mostrano il processo di installazione e amministrazione. Sono inoltre disponibili interfacce demo utente e amministratore. Axigen Free Mail Server (Office Edition) è gratuito e supporta fino a cento account di posta elettronica e cinque calendari.

CommuniGate Pro

Nome: CommuniGate Pro

Licenza: Gratuito/a pagamento

Piattaforma:* niente, Windows, Mac OS X


Piattaforma popolare per e-mail, IM, VoIP, funzioni di calendario e automazione della collaborazione. Ad esempio, il VoIP fornisce la trasmissione voce/video e fornisce funzionalità come conferenze, operatore automatico (IVR), distribuzione automatica delle chiamate, gestione delle code di chiamata e posta vocale. Allo stesso tempo, CommuniGate supporta l'installazione su un gran numero di sistemi operativi e architetture (una trentina in totale), IPv4 e IPv6, protocolli standard SMTP, SIP, IMAP, XMPP, LDAP, RADIUS, XIMSS, CalDAV, WebDAV, MAPI, e altri. Il Session Border Controller garantisce il corretto funzionamento tramite dispositivi NAT. Il server LDAP incluso con CGP può essere utilizzato anche da altre applicazioni. È possibile sincronizzare i dati con BlackBerry utilizzando AirSync (una licenza per ogni dispositivo viene acquistata separatamente). Il gestore di mailing list permette di automatizzare la newsletter con la possibilità di auto-iscrizione da parte dell'utente. La mailing list viene creata dall'amministratore e ulteriormente controllata da uno degli utenti del server.

Gli utenti possono connettersi tramite qualsiasi programma client che supporti questi protocolli o un'interfaccia Web localizzata. Inoltre, l'interfaccia web è molto facile da configurare in modo tale da assumere la forma di un normale client di posta (in modo che l'interfaccia utente sia meno confusa). È anche possibile utilizzare un'interfaccia semplificata per risparmiare traffico quando si lavora con PDA e accedere tramite WAP da telefoni cellulari. Puoi chiamare un utente per una conversazione VoIP con un solo clic dal client web o dalla rubrica. L'amministratore nelle impostazioni imposta le funzioni disponibili per l'utente: smistamento e inoltro della posta, risposta automatica, download di lettere da caselle POP3 esterne, elenco di contatti, attività e calendario.

Le impostazioni consentono all'utente di aprire l'accesso alla propria casella di posta o alle singole cartelle ad altri utenti del server. Ciò è utile quando l'organizzazione deve disporre di un account di servizio per le comunicazioni con i clienti utilizzato da più persone.

Un server può servire più domini. I nodi del cluster sono in grado di elaborare solo un determinato tipo di traffico (ad esempio per regione); per distribuire le richieste viene utilizzata la tecnologia SIP Farm. La soluzione è facilmente scalabile a qualsiasi dimensione. A proposito, la rete di telefonia IP dell'operatore SIPNET è basata su CommuniGate Pro.

L'autenticazione dell'utente è possibile utilizzando un database interno, Active Directory o un programma esterno, inclusi i certificati client sono supportati. Nelle impostazioni, è possibile specificare gli indirizzi IP da cui è consentita o negata la connessione client. Tutte le informazioni memorizzate sul server e trasmesse tra il client e il server possono essere crittografate utilizzando SSL, TLS, S/MIME e altri.

Le API aperte semplificano l'integrazione con i sistemi di fatturazione e gestione. Il supporto dei plug-in consente di collegare soluzioni di terze parti per il filtraggio di spam e virus. Attualmente è supportata l'integrazione con soluzioni di Kaspersky, Sophos, McAfee, MailShell, Cloudmark.

Sono state implementate anche misure di sicurezza standard: controllo dell'indirizzo di ritorno del mittente, supporto per DNSBL (RBL), divieto di ricezione di posta da determinati indirizzi IP e reti, controllo di una riga specifica nell'intestazione o nel corpo di un messaggio. L'installazione in qualsiasi sistema operativo non è difficile, infatti, è sufficiente decomprimere l'archivio e avviare il server. Tutte le impostazioni del server, dei domini e degli account vengono effettuate tramite l'interfaccia web (funziona sulla porta 8010, dopo l'avvio è necessario collegarsi ad essa entro dieci minuti e impostare la password dell'amministratore). Il sistema dei diritti consente di delegare l'amministrazione del dominio ad altri utenti, specificando solo le funzioni di cui hanno realmente bisogno.

Attualmente sono disponibili diverse versioni server con diverse licenze. La Community Edition è offerta gratuitamente, con cinque account attivi, mentre la Corporate Edition e Service Provider con funzionalità aggiuntive sono offerti a pagamento.

AVVERTIMENTO

Dopo il primo avvio di CommuniGate Pro, è necessario connettersi alla porta 8010 entro dieci minuti e impostare la password dell'amministratore.

Conclusione

Non è così difficile distribuire un server di posta utilizzando le soluzioni descritte, a seconda dell'esperienza dell'amministratore e del numero di impostazioni ci vorrà mezz'ora per l'avvio. Su quale decisione specifica fermarti, scegli tu. Per un'organizzazione di medie dimensioni, iRedMail, Axigen e Rumble sono ottimi; nel caso in cui l'azienda sia composta da diversi uffici geograficamente remoti, dovresti dare un'occhiata più da vicino ad Axigen, IndiMail e CommuniGate Pro. Quest'ultimo fornisce anche VoIP.

  • Traduzione

Come configurare un server di posta in grado di ricevere e inviare e-mail, combattere lo spam e interagire con i client? In realtà è piuttosto semplice.

Oggi parleremo dei server di posta Linux. Parleremo di come configurare un server, del diffuso protocollo Internet SMTP, nonché di altri protocolli come POP e IMAP. Di conseguenza, sarai il proprietario di un sistema completo per lavorare con la posta elettronica.

Iniziamo con un server SMTP su Linux

Server SMTP

Il Simple Mail Transfer Protocol (SMTP) definisce le regole per l'invio della posta tra computer, mentre non regola le regole per l'archiviazione o il rendering dei messaggi. È un protocollo indipendente dal sistema, ovvero il mittente e il destinatario della posta possono avere sistemi operativi diversi.

SMTP richiede solo che il server sia in grado di inviare testo ASCII semplice a un altro server utilizzando porta 25 che è la porta SMTP standard.

La maggior parte delle distribuzioni Linux oggi ha due delle implementazioni SMTP più comuni integrate: inviare una mail e suffisso.

Sendmail è un popolare server di posta open source utilizzato da molte distribuzioni Linux. I suoi svantaggi includono un'architettura alquanto complicata e un livello di protezione non sufficientemente elevato.

Postfix è un sistema leggermente più avanzato, con particolare attenzione ai problemi di sicurezza durante lo sviluppo di questo server di posta.

Componenti del servizio postale

Un tipico servizio postale ha tre componenti principali:

Client di posta chiamato anche Mail User Agent (MUA). È con lui che l'utente interagisce, ad esempio, si tratta di client di posta Thunderbird o Microsoft Outlook. Consentono all'utente di leggere la posta e scrivere e-mail.

Server email o un agente di trasporto della posta (MTA). Questo componente è responsabile dello spostamento della posta elettronica tra i sistemi, ad esempio Sendmail e Postfix.

Agente di consegna e-mail(Agente per la consegna della posta, MDA). Questo componente è responsabile della distribuzione dei messaggi ricevuti alle cassette postali degli utenti. Ad esempio, questi sono Postfix-maildrop e Procmail.

Installazione del server di posta

Il pacchetto Postfix è stato scelto per configurare il nostro server. Questa è una scelta popolare tra gli amministratori di sistema, il server di posta standard sulla maggior parte delle moderne distribuzioni Linux.

Iniziamo controllando se Postfix è installato sul sistema:

$ rpm -qa | grep postfisso
Se Postfix non viene trovato, puoi installarlo, ad esempio, su distribuzioni basate su Red Hat, utilizzando il seguente comando:

$ dnf -y install postfix
Quindi avviamo il servizio postfix e facciamo in modo che si avvii automaticamente all'avvio del sistema:

$ systemctl start postfix $ systemctl enable postfix
Su distribuzioni basate su Debian come Ubuntu, puoi installare Postfix in questo modo:

$ apt-get -y install postfix
Durante l'installazione, ti verrà chiesto di selezionare una configurazione del server. Tra le quattro opzioni disponibili (Nessuna configurazione, Sito Internet, Internet con smarthost, Sistema satellitare e Solo locale), sceglieremo Nessuna configurazione che creerà gli account utente e di gruppo richiesti da Postfix.

Ottimizzazione del server

Dopo aver installato il server di posta Postfix, è necessario configurarlo. La maggior parte dei file di configurazione si trova nella directory /etc/postfisso/.

Il file di configurazione principale di Postfix può essere trovato su /etc/postfix/main.cf... Ci sono molti parametri qui, diamo un'occhiata a quelli più importanti.

mionomehost

Questo parametro viene utilizzato per specificare il nome host del sistema di posta. Questo è il nome host su Internet per il quale Postfix riceverà la posta.

Esempi tipici di nomi host per i server di posta sono mail.example.com e smtp.example.com.

Configura questo parametro in questo modo:

Myhostname = mail.example.com
miodominio

Questa impostazione ti consente di specificare il dominio di posta che il server sta servendo, ad esempio - example.com:

Miodominio = esempio.com
la mia origine

Questo parametro consente di specificare il nome di dominio utilizzato nella posta inviata dal server. Assegniamogli il valore $ miodominio:

Myorigin = $ miodominio
Nelle impostazioni, puoi fare riferimento ai parametri aggiungendo il segno $ davanti al nome della variabile.

la mia destinazione

Questo parametro contiene un elenco di domini che il server Postfix considererà come destinazione finale per la posta in arrivo.

Nel nostro caso, il nome host del server e il nome del dominio saranno qui, ma questo parametro può contenere altri nomi:

Mydestination = $ myhostname, localhost $ Mydomain, $ mydomain, mail $ Mydomain, www. $ Mydomain
mail_spool_directory

Il server di posta Postfix può utilizzare due modalità di consegna della posta:

  • Direttamente alla casella di posta dell'utente.
  • Alla directory centrale delle code, mentre la posta va nella cartella /var/spool/mail dove c'è un file per ogni utente.
mail_spool_directory = / var / spool / mail
le mie reti

Questa variabile è un importante parametro di regolazione. Consente di specificare quali server possono inoltrare la posta tramite il server Postfix.

In genere, solo i computer client locali possono trasferire la posta. In caso contrario, gli spammer potrebbero essere interessati al tuo server.

Se il parametro è impostato in modo errato le mie reti, gli spammer potranno utilizzare il server come inoltro di posta. Questo porterà molto rapidamente a un sistema anti-spam che lo inserirà in una lista nera come DNS Blacklist (DNSBL) o Realtime Blackhole List (RBL). Una volta che un server è incluso in tale elenco, pochissimi saranno in grado di ricevere le email inviate con il suo aiuto.

L'impostazione di questo parametro potrebbe essere simile a questa:

Le mie reti = 127.0.0.0/8, 192.168.1.0/24
smtpd_banner

Questa variabile consente di impostare la risposta che il server restituisce quando i client si connettono.

È meglio modificare questo valore in modo che non indichi quale server di posta viene utilizzato.

inet_protocols

Questa variabile ti consente di impostare la versione IP che Postfix utilizzerà quando stabilirà le connessioni.

Inet_protocols = ipv4
Affinché le modifiche apportate ai file di configurazione abbiano effetto, è necessario riavviare il servizio Postfix:

$ systemctl ricarica postfix
In effetti, c'è molto di più che puoi personalizzare nel file di configurazione di Postfix. Ad esempio: gestisci i livelli di sicurezza, imposta le opzioni di debug e altri parametri.

Potresti commettere un errore durante la configurazione del server inserendo i valori dei parametri. È possibile verificare la correttezza delle impostazioni utilizzando il seguente comando:

$ controllo postfisso
Usando questo strumento, puoi trovare la riga in cui è stato commesso l'errore e correggerlo.

Controllo della coda dei messaggi

A volte, la coda della posta si riempie. Ciò può essere causato da molti fattori, come un errore di rete o qualsiasi motivo che potrebbe ritardare l'invio della posta.

Per controllare la coda dei messaggi, utilizzare il seguente comando:

$ mailq
Visualizzerà i messaggi in coda. Se la coda è piena e occorrono diverse ore per inviare un messaggio, puoi avviare il processo di invio del messaggio con il seguente comando:

$ postfix flush
Se ora controlli la coda, dovrebbe essere vuota.

Testare il server di posta

Dopo aver configurato il server su Postfix, devi testarlo. Il primo passo nel test è usare un client di posta locale come mailx o posta(questo è un collegamento simbolico a mailx).

Prova a inviare un'e-mail a qualcuno il cui indirizzo è servito sullo stesso server e, se funziona, invia un'e-mail a un indirizzo da qualche altra parte.

$ echo "Questo è il corpo del messaggio" | mailx -s "Questo è l'oggetto" -r "likegeeks "-a / percorso / per / allegato [e-mail protetta]
Quindi prova ad accettare l'e-mail inviata da un altro server.

Se riscontri problemi, controlla i log. Sulle distribuzioni basate su Red Hat, ciò di cui hai bisogno può essere trovato su /var/log/maillog... Sulle distribuzioni Debian, il file di cui hai bisogno può essere trovato qui: /var/log/mail.log o lungo il percorso specificato nelle impostazioni di rsyslogd. Ecco del materiale sulla registrazione di Linux, se necessario, e su come configurare rsyslogd.

Se i problemi non vengono ancora risolti, prova a controllare le tue impostazioni DNS, dai un'occhiata ai record MX usando i comandi di rete di Linux.

Anti-spam

Esistono molte soluzioni per rilevare i messaggi indesiderati - spam - tra i messaggi di posta elettronica. Uno dei migliori è SpamAssassin open source.
Puoi installarlo in questo modo:

$ dnf -y install spamassassin
Quindi è necessario avviare il servizio corrispondente e aggiungerlo all'avvio:

$ systemctl avvia spamassassin $ systemctl abilita spamassassin
Dopo aver installato SpamAssassin, dai un'occhiata alle sue impostazioni nel file /etc/mail/spamassassin/local.cf.

SpamAssassin è in grado di distinguere i messaggi ordinari dallo spam, sulla base dei risultati dell'analisi della corrispondenza utilizzando vari script. I risultati delle ispezioni sono valutati in punti.

Maggiore è il voto finale della lettera, maggiore è la probabilità che si tratti di spam.

Nel file di configurazione, il parametro richieste_hits 5 indica che SpamAssassin contrassegnerà un messaggio come spam se ha un punteggio di 5 o superiore.

Parametro report_safe assume i valori 0, 1 o 2. Impostandolo su 0 significa che i messaggi contrassegnati come spam vengono inoltrati nella loro forma originale, ma la loro intestazione viene modificata per indicare che sono spam.

Se questo parametro è impostato su 1 o 2, SpamAssassin genererà un report e lo invierà al destinatario.

La differenza tra i valori 1 e 2 è che nel primo caso il messaggio di spam verrà codificato nel formato messaggio / rfc822 e nel secondo - nel formato testo / semplice.

La codifica di testo/normale è più sicura, poiché alcuni client di posta eseguono messaggi nel formato messaggio / rfc822, che, in determinate condizioni, può portare a un'infezione da virus del computer client.

Dopo aver installato e configurato SpamAssassin, devi integrarlo con Postfix. Questo è forse più facile da fare con procmail.

Creiamo un file /etc/procmailrc e aggiungi quanto segue:

: 0 hbfw | / usr / bin / spamc
Quindi modifichiamo il file di configurazione di Postfix - /etc/postfix/main.cf impostando il parametro casella di posta_comando nel seguente modo:

Mailbox_command = / usr / bin / procmail
Infine, riavvia i servizi Postfix e SpamAssassin:

$ systemctl riavvia spamassassin
Va detto che SpamAssassin non sempre riconosce lo spam, il che porta al riempimento delle cassette postali con lettere non necessarie.

Fortunatamente, i messaggi possono essere filtrati utilizzando le Realtime Blackhole List (RBL) prima che raggiungano il server di posta di Postfix. Ciò ridurrà il carico sul server di posta e contribuirà a mantenerlo pulito.

Apri il file di configurazione di Postfix /etc/postfix/main.cf, cambia il parametro smtpd_recipient_restrictions e configurare altri parametri come segue:

Strict_rfc821_envelopes = yes relay_domains_reject_code = 554 = 554 unknown_address_reject_code unknown_client_reject_code = 554 = 554 unknown_hostname_reject_code unknown_local_recipient_reject_code = 554 = 554 unknown_relay_recipient_reject_code unverified_recipient_reject_code = 554 = smtpd_recipient_restrictions reject_invalid_hostname, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_rbl_client dsn.rfc-ignorant.org, reject_rbl_client dul. dnsbl.sorbs.net, rifiuto_rbl_client list.dsbl.org, rifiuto_rbl_client sbl-xbl.spamhaus.org, rifiuto_rbl_client bl.spamcop.net, rifiuto_rbl_client dnsbl.sorbs.net, permesso
Quindi riavvia il server Postfix:

$ systemctl riavvio postfix
Le liste nere di cui sopra vengono utilizzate più spesso, ma puoi trovare altri server simili.

Protezione della connessione SMTP

È meglio inviare il traffico SMTP su TLS per proteggerlo da un attacco di intermediari.
Per prima cosa devi generare un certificato e una chiave usando il comando si apre:

$ openssl genrsa -des3 -out mail.key $ openssl req -new -key mail.key -out mail.csr $ cp mail.key mail.key.original $ openssl rsa -in mail.key.original -out mail_secure.key $ openssl x509 -req -days 365 -in mail.csr -signkey mail_secure.key -out mail_secure.crt $ cp mail_secure.crt / etc / postfix / $ cp mail_secure.key / etc / postfix /
Quindi devi aggiungere al file di configurazione di Postfix /etc/postfix/main.cf a seguire:

Smtpd_use_tls = sì smtpd_tls_cert_file = /etc/postfix/mail_secure.crt smtpd_tls_key_file = /etc/postfix/mail_secure.key smtp_tls_security_level = maggio
Infine, devi riavviare il servizio Postfix:

$ systemctl riavvio postfix
Ora, quando il client si connette al server, devi selezionare TLS. Qui, la prima volta che invii posta dopo aver modificato le impostazioni, vedrai un avviso, poiché il certificato non è firmato.

Nozioni di base sui protocolli POP3 e IMAP

Quindi, abbiamo stabilito il processo di invio e ricezione di e-mail tramite SMTP, ma l'organizzazione di un servizio di posta a tutti gli effetti non finisce qui. Considera le seguenti situazioni:
  • Gli utenti hanno bisogno di copie locali delle e-mail per visualizzarle offline.
  • I client di posta dell'utente non supportano il formato di file mbox. È un semplice formato di testo che può essere letto da molti client di posta della console come mailx e mutt.
  • Gli utenti non possono utilizzare costantemente una connessione veloce per accedere al file system del server e per lavorare con i file mbox, di conseguenza, è necessario creare una copia locale per lavorare con loro senza connettersi alla rete.
  • Le restrizioni di sicurezza indicano che gli utenti non hanno accesso diretto al gateway di posta elettronica, ad esempio, non sono autorizzati a lavorare con le cartelle di coda dei messaggi pubbliche.
Per accogliere tutti questi casi speciali, sono stati creati altri protocolli. Possono essere descritti come protocolli per l'accesso alla posta elettronica.

I due protocolli di accesso alla posta più utilizzati sono POP (Post Office Protocol) e IMAP (Internet Message Access Protocol).

POP si basa su un'idea molto semplice. Il server di posta centrale su Linux è sempre connesso a Internet, riceve e archivia le lettere per tutti gli utenti. Tutte le lettere ricevute rimangono in coda sul server finché l'utente non si connette tramite POP e scarica le lettere.

Quando un utente desidera inviare un'e-mail, il client di posta elettronica di solito la invia tramite un server centrale tramite SMTP.

Si prega di notare che il server SMTP e il server POP possono essere eseguiti sulla stessa macchina senza problemi. Questa è una pratica comune in questi giorni.

Funzionalità come l'archiviazione delle copie originali delle e-mail degli utenti sul server con solo copie memorizzate nella cache sul client non sono disponibili in POP. Ciò ha portato allo sviluppo del protocollo IMAP.

Utilizzando IMAP, il server supporterà tre modalità di accesso alla posta:

  • La modalità in linea è simile all'accesso diretto al file system su un server di posta.
  • La modalità offline è simile a come funziona POP, con un client che si disconnette dalla rete dopo aver ricevuto le e-mail. In questa modalità, il server di solito non memorizza copie delle lettere.
  • La modalità offline consente agli utenti di conservare nella cache copie delle proprie e-mail e il server memorizza anche copie di queste e-mail.
Esistono varie implementazioni di IMAP e POP, in quest'area è molto diffuso il server Dovecot, che permette di lavorare con entrambi i protocolli.

I server POP3, POP3S, IMAP e IMAPS ascoltano rispettivamente sulle porte 110, 995, 143 e 993.

Installazione di Dovecot

La maggior parte delle distribuzioni Linux viene fornita con Dovecot preinstallato, tuttavia puoi installarlo da solo. Sui sistemi basati su Red Hat, questa operazione viene eseguita in questo modo:

$ dnf -y install dovecot
Sui sistemi basati su Debian, le funzionalità IMAP e POP3 sono fornite in due diversi pacchetti:

$ apt-get -y install dovecot-imapd dovecot-pop3d
Qui ti verrà chiesto di creare un certificato autofirmato per lavorare con IMAP e POP3 su SSL/TLS. Rispondi alla domanda e, quando richiesto, inserisci il nome host del tuo sistema.

Quindi puoi avviare il servizio corrispondente e aggiungerlo all'avvio:

$ systemctl avvia dovecot $ systemctl abilita dovecot

Configurazione di Dovecot

Il file di configurazione principale di Dovecot si trova in /etc/dovecot/dovecot.conf... In alcune distribuzioni Linux, questo file si trova nella cartella /etc/dovecot/conf.d/ e, per includere i file di configurazione, viene utilizzata la direttiva include.

Ecco alcune delle opzioni utilizzate per personalizzare Dovecot.

protocolli: protocolli da supportare.

Protocolli = imap pop3 lmtp
Qui lmtp sta per Local Mail Transfer Protocol. Ascoltare: indirizzo IP che il server ascolterà.

Ascolta = *, ::
Qui, un asterisco indica tutte le interfacce IPv4, i doppi due punti indicano tutte le interfacce IPv6.

userdb: database utenti per l'autenticazione.

Userdb (driver = pam)
mail_location: questa è la voce nel file /etc/dovecot/conf.d/10-mail.conf... Sembra così:

Mail_location = mbox: ~ / mail: INBOX = / var / mail /% u
Dovecot viene fornito con certificati SSL standard e file chiave utilizzati nel file /etc/dovecot/conf.d/10-ssl.conf.

SSL_cert =Quando l'utente tenta di connettersi a Dovecot, il server mostrerà un avviso perché i certificati non sono firmati. Se necessario, i certificati firmati possono essere acquistati da un'autorità di certificazione adeguata.

Non dimenticare di aprire le porte del server Dovecot sul tuo firewall.

$ iptables -A INPUT -p tcp --dport 110 -j ACCEPT $ iptables -A INPUT -p tcp --dport 995 -j ACCEPT $ iptables -A INPUT -p tcp --dport 143 -j ACCEPT $ iptables -A INPUT -p tcp --dport 993 -j ACCETTA
E non dimenticare la porta SMTP.

$ iptables -A INPUT -p tcp --dport 25 -j ACCEPT
Quindi salvare le regole. Se vuoi un aggiornamento sulle specifiche del lavoro con iptables in Linux, dai un'occhiata a

Originale: installa un server di posta completo con Postfix e Webmail in Debian 9
Autore: Matei Cezar
Data di pubblicazione: 12 ottobre 2017
Traduzione: A. Krivoshey
Data di traduzione: novembre 2017

Questa guida ti mostrerà come installare e configurare un server di posta Postfix completamente funzionante su Debian 9. Descrive anche come configurare le caselle di posta dell'account usando Dovecot per ricevere e comporre e-mail IMAP. Per lavorare con la posta, gli utenti utilizzeranno l'interfaccia web di Rainloop Webmail.

Requisiti

Installazione minima di Debian 9
- indirizzo IP statico configurato per l'interfaccia di rete
- nome di dominio pubblico locale o registrato.

In questo tutorial, utilizzeremo un account di dominio privato per configurare un server di posta configurato solo con il file /etc/hosts, senza alcun server DNS coinvolto nella gestione delle risoluzioni DNS.

Fase 1: preconfigurazione del server di posta Postfix su Debian

1. Nel primo passaggio, accedi come root e assicurati che il tuo sistema Debian sia aggiornato agli ultimi pacchetti di programmi installati e che tutte le correzioni di sicurezza siano installate utilizzando il seguente comando:

# apt-get update # apt-get upgrade

2. Nel passaggio successivo, installa i pacchetti che verranno utilizzati per l'amministrazione del sistema:

# apt-get install curl net-tools bash-completion wget lsof nano

3. Quindi, apri il file /etc/host.conf per la modifica nel tuo editor di testo preferito e aggiungi la seguente riga nella parte superiore del file per consentire al DNS di leggere prima il file hosts.

Ordina host, collega più su

4. Quindi, imposta il nome di dominio completo (FQDN) del tuo computer e aggiungi il tuo nome di dominio e l'FQDN del tuo sistema al file / etc / hosts. Usa l'indirizzo IP del tuo sistema per risolvere il nome di dominio e l'FQDN come mostrato nello screenshot qui sotto.

Sostituisci l'indirizzo IP e il dominio. Quindi riavvia il computer per utilizzare il nome host corretto.

# hostnamectl set-hostname mail.tecmint.com # echo "192.168.0.102 tecmint.com mail.tecmint.com" >> / etc / hosts # init 6

5. Dopo il riavvio, verificare che il nome host sia configurato correttamente utilizzando la seguente sequenza di comandi. Il comando hostname dovrebbe restituire il nome di dominio, il nome di dominio completo, il nome host e l'indirizzo IP del sistema.

# hostname # hostname -s # hostname -f # hostname -A # hostname -i # cat / etc / hostname

6. Inoltre, utilizzare i comandi seguenti per verificare se il dominio risponde correttamente alle richieste locali. Tieni presente che il dominio non risponderà alle richieste remote inviate da altri sistemi sulla tua rete perché non stiamo utilizzando un server DNS.

Tuttavia, il dominio deve rispondere ad altri sistemi se si aggiunge manualmente il nome di dominio a ciascuno dei file /etc/hosts. Inoltre, tieni presente che la risoluzione DNS per un dominio aggiunto al file / etc / hosts non funzionerà con i comandi host, nslookup o dig.

# getent ahosts mail.tecmint.com # ping tecmint.com # ping mail.tecmint.com

Fase 2. Installazione del server di posta Postfix in Debian

7. Il software più importante richiesto per il corretto funzionamento del server di posta è l'agente MTA. MTA è un software di architettura server-client responsabile dell'inoltro della posta tra i server di posta.

In questo tutorial, utilizzeremo Postfix come agente di trasferimento della posta. Per installare postfix su Debian dai repository ufficiali, eseguire il comando seguente.

# apt-get install postfix

8. Durante il processo di installazione di Postfix, ti verranno poste una serie di domande. Nella prima domanda, seleziona "Sito Internet" come tipo generale per la configurazione di Postfix e premi il tasto per continuare, quindi aggiungi il tuo nome di dominio al nome di posta elettronica del sistema come mostrato negli screenshot qui sotto.

Fase 3. Configurazione del server di posta Postfix in Debian

# cp /etc/postfix/main.cf(,.backup) # nano /etc/postfix/main.cf

Ora configura Postfix nel file main.cf come mostrato di seguito.

# Vedere /usr/share/postfix/main.cf.dist per una versione commentata e più completa smtpd_banner = $ myhostname ESMTP biff = no # aggiungere .domain è il lavoro del MUA. Append_dot_mydomain = no readme_directory = no # Vedere http: //www.postfix.org/COMPATIBILITY_README.html - predefinito su 2 su # nuove installazioni.compatibility_level = 2 # parametri TLS smtpd_tls_cert_file = / etc / ssl / certs / ssl-cert-snakeoil.pem smtpd_tls_key_file = / etc / private -cert-snakeoil.key smtpd_use_tls = yes smtpd_tls_session_cache_database = btree: $ (data_directory) / smtpd_scache smtp_tls_session_cache_database = btree: $ (data_directory / fix / smtp_scache) pacchetto doc per informazioni # sull'abilitazione di SSL nei client.smtpd_relay_restrictions smtp = permit_mynetworks permit_sasl_authenticated defer_unauth_destination myhostname = mail.debian.lan miodominio = debian.lan alias_maps = hash: / etc / aliases alias_database = hasiases: / etc / aliases alias_database = hasiases: / etc / etc / mailname myorigin = $ miodominio mio estination = $ myhostname, $ mydomain, localhost $ mydomain, localhost relayhost = mynetworks = 127.0.0.0/8, 192.168.1.0/24 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all #inet_protocols = all inet_protocols = ipv4 home_mailbox = Maildir Impostazioni di autenticazione smtpd_sasl_type = dovecot smtpd_sasl_path = private / auth smtpd_sasl_auth_enable = sì smtpd_sasl_security_options = consenti noanonimo smtpd_sasl_local_domain = $ myhostrestname_sasl_re

Sostituisci le variabili myhostname, mydomain e mynetworks in base alle tue impostazioni.

Puoi eseguire il comando postconf -n per verificare eventuali errori come mostrato nello screenshot.

# postconf -n

10. Dopo aver completato la configurazione, riavviare il demone Postfix per applicare le modifiche e verificare che il servizio sia in esecuzione verificando che il servizio Postfix principale sia connesso alla porta 25 utilizzando il comando netstat.

# systemctl restart postfix # systemctl status postfix # netstat -tlpn

Fase 4. Controllo del server di posta Postfix su Debian

11. Per verificare se postfix è in grado di gestire la posta, installare prima il pacchetto mailutils utilizzando il comando:

# apt-get install mailutils

12. Successivamente, utilizzando l'utilità della riga di comando della posta, inviare un'e-mail all'account root e verificare se la posta è stata trasmessa correttamente utilizzando il comando seguente, che controlla la coda di ricezione della posta e stampa il contenuto della cartella Maildir nella home principale directory.

# echo "corpo della posta" | mail -s "posta di prova" root # mailq # mail # ls Maildir / # ls Maildir / new / # cat Maildir / new / Prova suffisso inviando posta Prova suffisso inviando posta

13. Puoi anche controllare come la posta è stata elaborata dal servizio postfix controllando il contenuto del file di registro della posta con il comando:

# tailf /var/log/mail.log

Fase 5: installazione e configurazione di Dovecot IMAP su Debian

14. Dovecot IMAP è l'agente di consegna della posta che utilizzeremo per consegnare i messaggi di posta elettronica alle caselle di posta dei destinatari locali. IMAP è un protocollo che viene eseguito sulle porte 143 e 993 (SSL) ed è responsabile della lettura, dell'eliminazione o dello spostamento delle e-mail per più utenti di posta elettronica.

IMAP fornisce anche la sincronizzazione per garantire che una copia di ciascun messaggio sia conservata sul server e consente agli utenti di creare più directory sul server e spostare i messaggi in tali directory per l'ordinamento.

Quanto sopra non si applica al protocollo POP3. POP3 non consente agli utenti di creare più directory sul server per ordinare la posta. Hai solo una Posta in arrivo per gestire la tua posta.

L'installazione del server Dovecot principale e del pacchetto IMAP Dovecot in Debian viene eseguita utilizzando il comando:

# apt install dovecot-core dovecot-imapd

15. Dopo aver installato Dovecot sul tuo sistema, modifica i file dovecot. Per prima cosa apri il file /etc/dovecot/dovecot.conf, trova e decommenta la seguente riga:

Ascolta = *, ::

16. Quindi apri /etc/dovecot/conf.d/10-auth.conf per la modifica, trova e modifica le linee in modo che appaiano come di seguito.

Disable_plaintext_auth = no auth_mechanisms = login semplice

17. Aprire /etc/dovecot/conf.d/10-mail.conf e aggiungere la riga sottostante per utilizzare Maildir invece del formato Mbox per l'archiviazione delle e-mail.

Mail_location = maildir: ~ / Maildir

18. E l'ultimo file da modificare è /etc/dovecot/conf.d/10-master.conf. Qui trova il blocco Postfix smtp-auth e apporta le seguenti modifiche:

# Postfix smtp-auth unix_listener / var / spool / postfix / private / auth (mode = 0666 user = postfix group = postfix)

19. Dopo aver apportato tutte le modifiche di cui sopra, riavvia il demone Dovecot per applicare le modifiche, controlla il suo stato e assicurati che Dovecot sia connesso alla porta 143 usando i comandi:

# systemctl restart dovecot.service # systemctl status dovecot.service # netstat -tlpn

20. Controllare se il server di posta funziona correttamente aggiungendo un nuovo account utente al sistema, connettersi al server SMTP utilizzando i comandi telnet o netcat e inviare un'e-mail al nuovo utente come mostrato di seguito.

# adduser matie # nc localhost 25 # ehlo localhost posta da: root rcpt a: matie oggetto dati: test Corpo della posta. uscire

21. Controlla se la lettera è arrivata nella casella di posta del nuovo utente:

# ls / home / test_mail / Maildir / new /

22. In alternativa, è possibile connettersi alla casella di posta dell'utente dalla riga di comando utilizzando il protocollo IMAP, come mostrato di seguito. La nuova posta dovrebbe trovarsi nella cartella "Posta in arrivo" dell'utente.

# nc localhost 143 x1 LOGIN matie user_password x2 ELENCO "" "*" x3 SELEZIONA Posta in arrivo x4 LOGOUT

Fase 6. Installazione e configurazione di Webmail in Debian.

23. Gli utenti gestiranno la loro posta elettronica utilizzando il client Rainwop Webmail. Prima di installare Rainloop Mail Agent, installare Apache HTTP Server e i moduli PHP richiesti da Rainloop utilizzando il seguente comando:

# apt install apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-xml

24. Dopo aver installato il server web Apache, andare nella directory /var/www/html/, rimuovere il file index.html e installare Rainloop Webmail.

# cd / var / www / html / # rm index.html # curl -sL https://repository.rainloop.net/installer.php | php

25. Dopo aver installato il client Rainwoo Webmail, accedi all'indirizzo IP del tuo dominio e accedi all'interfaccia web di amministrazione di Rainloop con le credenziali predefinite:

Http://192.168.0.102/?admin Utente: admin Password: 12345

26. Vai al menu Domini, fai clic sul pulsante Aggiungi dominio e aggiungi le impostazioni del nome di dominio come mostrato nella schermata seguente.

Dopo aver effettuato correttamente l'accesso all'e-mail di Rainloop, dovresti vedere il messaggio inviato in precedenza dalla riga di comando nella cartella Posta in arrivo.

Http://192.168.0.102 Utente: [e-mail protetta] Passa: la password del compagno

27. Quando si aggiunge un nuovo utente, utilizzare il comando useradd con il flag -m per creare la directory home dell'utente. Ma prima assicurati di impostare la variabile del percorso Maildir per ogni utente con il comando seguente.

# echo "export MAIL = $ HOME / Maildir" >> / etc / profile # useradd -m user3 # passwd user3

28. Se si desidera reindirizzare dal sistema tutte le e-mail destinate a root all'account e-mail locale specificato, eseguire i comandi seguenti. Tutte le email destinate all'account root verranno inoltrate al tuo utente come mostrato nell'immagine sottostante.

# echo "root: test_mail" >> / etc / aliases # newaliases

È tutto! Hai installato e configurato correttamente un server di posta sul tuo sistema in modo che gli utenti locali possano comunicare via e-mail. Tuttavia, questa configurazione di posta non è adeguatamente protetta e si consiglia di distribuirla solo per reti di piccole dimensioni su cui si ha il pieno controllo.

Principali articoli correlati