Mail Server Sicuro con Postfix: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
 
(12 versioni intermedie di 6 utenti non mostrate)
Riga 1: Riga 1:
==Stable, Testing e Unstable==
{{Versioni compatibili|Lenny|Squeeze|Wheezy}}
== Introduzione ==
Con questa guida intendo spiegare all'utente Debian come configurare un server mail basato su Postfix (http://www.postfix.org).
Postfix è un MTA abbastanza sicuro e di recente sviluppo, molto semplice da usare e per alcuni è considerato il successore di Sendmail per altro troppo complicato da gestire e con noti problemi di sicurezza.


Debian ha un sistema di sviluppo particolare quanto unico: � infatti la sola ad avere tre rami diversi divisi in base alle caratteristiche di stabilit�: ''Stable'', ''Testing'', ''Unstable'' ed un [[repository]] con pacchetti in fase di sviluppo, ''Experimental''.
== Installazione di Postfix ==
Prima di tutto abbiamo bisogno di due demoni: uno per la gestione del protocollo POP3 e uno per l'IMAP. Io consiglio ''popa3d'' e ''imapd''


==Stable ==
<pre>
''Stable'' � la [[release]] '''stabile''' di Debian. Nello sviluppo Debian, una release viene dichiarata stabile quando i bug ad essa associati prima del rilascio sono quasi inesistenti.
# apt-get update
# apt-get install popa3d uw-imapd
Una volta rilasciata, viene aperto un repository speciale: '''security''', che ha lo scopo di raccogliere gli aggiornamenti dei pacchetti presenti nella ''Stable'' corrente, per quanto riguarda il fattore sicurezza. Questi aggiornamenti, per�, non riguardano la versione del pacchetto: infatti non ci saranno nuove versioni dei programmi disponibili, ma solo aggiornamenti di sicurezza (quindi applicazioni di [[patch[[, in linea di massima).
</pre>


Anche se la cosa pu� sembrare inutile, non lo �: supponiamo di avere un sistema produttivo, basato su l'ultima ''Stable''... L'aggiornamento di un programma alla versione successiva potrebbe comportare un po' di problemi: <br/>
fatto questo in <code>/etc/inetd.conf</code> verranno aggiunti i servizi per il POP3 e l'IMAP.
* la struttura e/o la sintassi dei file di configurazione potrebbe subire dei cambiamenti, creando delle incompatibilit� con le configurazioni valide per versioni precedenti;<br/>
Procediamo all'installazione dell'MTA vero e proprio:
* potrebbero essere presenti dei cambiamenti sostanziali alla struttura del pacchetto o del programma;
* potrebbero presentarsi dei bug non segnalati, a causa della 'giovane et�' del pacchetto. <br/>


Anche se i punti sopra citati sembrano banali, non � cos�: una macchina di produzione deve essere solida e stabile, e visto che molto spesso � una ottima pratica avere in cron le operazioni di aggiornamento, la probabilit� che un aggiornamento automatico possa creare situazioni di instabilit� o non funzionamento di un servizio non pu� essere accettato.
<pre>
Questo � un motivo per cui, nella release Stable, ci sono solo aggiornamenti riguardantii bugfix.
# apt-get install postfix
</pre>
===I Nomi delle Release===
Una domanda diffusa tra gli utenti alle prime armi con Debian riguarda i nomi delle release; a prima vista, infatti, possono sembrare strani, ma la spiegazione � molto semplice: sono tutti nomi dei personaggi del film [http://www.pixar.com/feature/toystory/toystory.html ToyStory].<br>
Questa simpatica tradizione � stata iniziata da [http://perens.com/ Bruce Perens] con il rilascio di Debian 1.1 nel 1996. Perens, all' epoca [http://www.debian.org/devel/leader Debian Project Leader], lavorava anche per [http://www.pixar.com Pixar].
Ecco l'elenco dei nomi delle Stable fino ad ora rilasciate:


<br/>
== Configurazione base ==
<div align="center">
Quasi tutte le opzioni di configurazione di Postfix si trovano nel file <code>/etc/postfix/main.cf</code>.
<table border="1" cellpadding="3" cellspacing="0">
<tr><td align="center">Versione</td>
<td align="center">Nome</td>
<td align="center">Anno</td>
<td align="center">Significato</td>
</tr>
<tr><td align="center">1.1</td>
<td align="center">Buzz</td>
<td align="center">1996/06/17</td>
<td align="center">(Buzz Lightyear) l'astronauta</td>
</tr>
<tr><td align="center">1.2</td>
<td align="center">Rex</td>
<td align="center">1996/12/12</td>
<td align="center">Il tirannosauro</td>
</tr>
<tr><td align="center">1.3</td>
<td align="center">Bo</td>
<td align="center">1997/06/05</td>
<td align="center">(Bo Peep) la bambina che si prese cura della
pecorella</td>
</tr>
<tr><td align="center">2.0</td>
<td align="center">Hamm</td>
<td align="center">1998/07/23</td>
<td align="center">il porcellino salvadanaio</td>
</tr>
<tr><td align="center">2.1</td>
<td align="center">Slink</td>
<td align="center">1999/03/09</td>
<td align="center">(Slinky Dog) il cane giocattolo</td>
</tr>
<tr><td align="center">2.2</td>
<td align="center">Potato</td>
<td align="center">2000/08/15</td>
<td align="center">Mr. Potato</td>
</tr>
<tr><td align="center">3.0</td>
<td align="center">Woody</td>
<td align="center">2002/07/19</td>
<td align="center">il cowboy</td>
</tr>
<tr><td align="center">3.1</td>
<td align="center">Sarge</td>
<td align="center">2005/06/06</td>
<td align="center">il
"leader of The Green Plastic Army Men"</td>
</tr>
<tr><td align="center">??</td>
<td align="center">Etch</td>
<td align="center">testing</td>
<td align="center">(Etch-a-Sketch) la lavagna</td>
</tr>
<tr><td align="center">N.D.</td>
<td align="center">Sid</td>
<td align="center">unstable</td>
<td align="center">il bambino della porta accanto che rompeva i giocattoli.</td>
</tr>
</table>
</div>


==Testing ==
Ecco i principali tag a cui conviene prestare attenzione:
La release Testing � quella pi� utilizzata in ambito Desktop, visto che rappresenta il miglior compromesso tra stabilit� e aggiornamento di pacchetti.


===Il percorso dei pacchetti===
* <code>'''myhostname'''</code>: valore indica il nome che assumerà il vostro server mail (es: mail.nomedominio.it);
I pacchetti, prima di entrare nella release di Testing compiono un tragitto per raggiungere un buon grado di maturit�. Quando vengono creati, possono essere inseriti in Experimental, se hanno bisogno di test approfonditi e non sono considerati completamente stabili dall'autore, oppure possono essere inseriti in Unstable, pronti per essere testati dagli sviluppatori4.7. Il pacchetto viene incluso in Testing (sostituendo eventualmente quello pi� vecchio) se: <br/>
* <code>'''myorigin'''</code>: valore indica il dominio usato per la posta inviata dal server, può essere anche un file che contiene il nome del dominio, es: /etc/mailname;
* Deve essere stato in unstable per 10, 5 o 2 giorni, in funzione dell'urgenza dell'upload; <br/>
* <code>'''mydestination'''</code>: localhost, altri_valori indicano i domini che il server dovrà riconoscere come locali e che smisterà internamente;
* Deve essere stato compilato e deve essere aggiornato su tutte le architetture su cui sia stato compilato in unstable; <br/>
* <code>'''mydomain'''</code>: valore indica il dominio a cui appartiene il server;
* Deve avere meno bug release-critical, o lo stesso numero, della versione corrente in "testing" (si veda sotto per maggiori informazioni); <br/>
* <code>'''relayhost'''</code>: valore indica a quale server inoltrare le mail che non si riconoscono come locali;
* Tutte le sue dipendenze devono o essere soddisfatte dai pacchetti gi� in "testing", o essere soddisfatte dall'insieme di pacchetti che verranno installati nel contempo; <br/>
* <code>'''mailbox_size_limit'''</code>: <code>0</code> indica la dimensione massima delle caselle mail, <code>0</code> per nessun limite;
* L'operazione di installazione del pacchetto in "testing" non dovr� danneggiare alcun pacchetto che sia gi� in "testing". <br/>
* <code>'''mynetworks'''</code>: valore altri_valori indica le reti nelle quali il server deve operare (es. 127.0.0.1/8 192.168.0.1/24);
* <code>'''mynetworks_syle'''</code>: <code>host/subnet/class</code>.


===Da Testing a Stable===
Quando la versione di Testing raggiunge un buon grado di maturit, avviene il passaggio da Testing a Stable. Prima di tutto viene dicharata una situazione di freeze, in cui non pi possibile inserire nuove versioni di un pacchetto (a meno che non sia fondamentale per la correzione di qualche bug) ma solo correggere i bug riscontrati. Quando la versione di Testing verr valutata come sufficientemente stabile, verr rilasciata come Stable. Dopo il rilascio della Stable, la nuova Testing verr ricreata secondo le normali regole a partire da Unstable.


==Unstable==
Su questi ultimi due punti è il caso di soffermarsi. Stiamo considerando ora quali IP considerare validi per l'invio della posta.
Unstable � la distribuzione per gli sviluppatori, come indicato sul sito ufficiale Debian, e l'uso di questa release in ambito lavorativo (o comunque produttivo) pu� portare a degli inconvenienti o instabilit�. � possibile, infatti, che a causa di qualche aggiornamento vengano introdotti dei bug che possano compromettere il normale funzionamento di qualche applicazione.


E' inoltre possibile che, a causa dell'aggiornamento di alcune librerie o set di programmi, si possano creare delle situazioni di dipendenze non risolte che potrebbero rendere impossibile l'aggiornamento e/o l'instalazione di alcuni pacchetti. Il mio consiglio � di non utilizzarla, a meno di non avere una certa dimestichezza e familiarit� con il sistema Debian.<br>
Postfix non autorizza l'invio della posta da parte di client non autorizzati a farlo e/o di domini sconosciuti, ovvero non è un open-relay. Questo è un gran vantaggio perché impedisce che il vostro server possa essere usato per spam o peggio.


E' divertente notare che la versione '''unstable''' di Debian mantiene sempre il medesimo nome e cio� Sid, il ragazzaccio!
Tramite il tag <code>mynetworks</code> abilito gli IP presenti nella lista a spedire mail, con <code>mynetworks_style</code> posso specificare uno tra i seguenti tre valori:


==Experimental==
; <code>host</code>: l'invio sarà consentito solo per la macchina locale;
Experimental � un repository (e non una release) che contiene i pacchetti che in fase di testing da parte dei Debian Developer e che necessitano di lavoro prima di essere pronti per entrare in Unstable.
; <code>class</code>: l'invio sarà consentito a tutti i client appartenenti al network di classe A, B o C a cui il server appartiene;
; <code>subnet</code>: indica che Postfix autorizza alla trasmissione tutti i client che appartengono alla stessa sottorete locale del mailserver e costituisce il valore di default.


== Gestione degli Alias ==
In teoria ad ogni utente locale del vostro server corrisponde una sola casella mail.
Si possono però creare degli alias che corrispondano ad un particolare utente, un secondo indirizzo a cui inviare mail per quel dato user.
Di default esiste il file <code>/etc/aliases</code> che contiene una lista di alias a sinistra e i rispettivi utenti ai quali appartengono a destra.
In <code>/etc/postfix/main.cf</code> basta solo aggiungere:


---- [[User:MaXeR|MaXeR]]
<pre>
[[Categoria:Mondo Debian]]
alias_maps = hash:/etc/aliases
</pre>
 
e per rendere questo file una mappa utilizzabile da Postfix lanciamo il comando:
 
<pre>
# postalias /etc/aliases
</pre>
 
== Multidominio, Virtual Domain e Sender Canonical ==
Nel caso il vostro Server debba ricevere la posta per più domini non dobbiamo fare altro che modificare il tag <code>mydestination</code> come segue:
 
<pre>
mydestination = localhost, /etc/postfix/local-domain
</pre>
 
creare il file <code>/etc/postfix/local-domain</code> e inserire lì i domini da considerare locali, uno per riga senza virgole.
 
Fatto questo conviene preparare un file per la gestione dei domini virtuali in modo tale da associare il giusto dominio al dato utente; creiamo allora il file <code>/etc/postfix/virtual</code>
La sintassi da usare è la seguente:
* <code>info@dominio1.it marco</code> -> le mail in arrivo per tale indirizzo sono redirezionate a marco;
* <code>webmaster@dominio2.it andrea@dominio4.it</code> -> le mail verranno inviate a andrea@dominio4.it;
* <code>@dominio3.com alessandro</code> -> tutte le mail inviate a qualsiasi indirizzo @dominio3.com sono inviate all'utente alessandro;
 
aggiungiamo in <code>/etc/postfix/main.cf</code>:
 
<pre>
virtual_maps = hash:/etc/postfix/virtual
</pre>
 
e prepariamo la map con il comando:
 
<pre>
# postmap /etc/postfix/virtual
</pre>
 
Può essere sempre utile, per la gestione di più domini, usare un file che associ ad un nome utente un indirizzo mittente particolare.
Creiamo perciò un file <code>/etc/postfix/sender_canonical</code> dove con la precedente sintassi associamo al nome utente l'indirizzo mittente da mostrare nelle mail inviate.
Aggiungiamo in <code>/etc/main.cf</code> la seguente riga:
 
<pre>
sender_canonical_maps = hash:/etc/postfix/sender_canonical
</pre>
 
ed infine prepariamo la map con:
 
<pre>
# postmap /etc/postfix/sender_canonical
</pre>
 
== Antivirus - Amavis e ClamaV ==
Passiamo ora alla configurazione dell'antivirus da installare sul vostro MTA.
Procediamo all'installazione:
 
<pre>
# apt-get install amavisd-new clamav clamav-daemon
</pre>
 
Dopo l'installazione dobbiamo dire a Postfix di far processare le mail dal vostro antivirus. Aggiungiamo a <code>/etc/postfix/main.cf</code> quanto segue:
 
<pre>
content_filter = amavis:[127.0.0.1]:10024
</pre>
mentre nel file <code>/etc/postfix/master.cf</code>:
<pre>
amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
 
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
</pre>
 
Di per sé non si richiedono altre modifiche per il corretto funzionamento, comunque può essere utile dare un occhiata al file <code>/etc/amavis/amavisd.conf</code> per eventuali modifiche.
Il Demone clamav-daemon (freshclam) tiene aggiornato il vostro antivirus aggiornandosi 12 volte al giorno, per eventuali modifiche <code>/etc/clamav/fresclam.conf</code> e <code>/etc/clamv/clamavd.conf</code>.
 
== Antispam - Spamassassin ==
Può essere utile installare un antispam che filtri le mail nel vostro server. Spamassassin è ciò che fa per voi. Installiamolo insieme a Procmail:
 
<pre>
# apt-get install spamassassin procmail
</pre>
 
a questo punto aggiungiamo in <code>/etc/postfix/main.cf</code> quanto segue:
 
<pre>
mailbox_command = /usr/bin/spamc | procmail -a "$EXTENSION"
</pre>
 
abilitiamo spamassassin modificando in <code>/etc/default/spamassassin</code>:
 
<pre>
ENABLE=1
</pre>
 
aggiungiamo al file <code>/etc/procmailrc</code> quanto segue:
 
<pre>
DROPPRIVS=yes
:0fw
| /usr/bin/spamassassin
</pre>
 
Per settaggi particolari di Spamassassin vi consiglio di dare un'occhiata al file <code>/etc/spamassassin/local.cf</code> oppure consultare il sito web http://www.yrex.com/spam/spamconfig.php che vi consente di creare un file di configurazione personalizzato rispondendo alle varie domande.
 
== WebMail - Openwebmail ==
Per poter usufruire del servizio di webmail è necessario usare un server web.
Io vi consiglio Apache con supporto PHP e CGI. In questa guida presumo che nel vostro server sia già presente Apache configurato a dovere.
Esistono diversi servizi di WebMail, io ho scelto ''openwebmail'', installiamolo dopo aver aggiunto il repository in <code>/etc/apt/sources.list</code>
 
<pre>deb http://people.debian.org/~srua/openwebmail/stable/ ./</pre>
 
<pre>
# apt-get install openwebmail
</pre>
 
Dopo l'installazione recatevi in <code>/etc/openwebmail</code> e date un occhiata al file <code>apache.conf</code> che contiene le specifiche per configurare Apache.
Apriamo ora <code>/etc/openwebmail/openwebmail.conf</code> e apportiamo le nostre personalizzazioni.
Attenzione alla voce <code>domainnames</code>, spesso <code>auto</code> può portare a dei problemi, vi consiglio di specificare il dominio di appartenenza.
Per altre modifiche consultate il file <code>/usr/share/openwebmail/configs/openwebmail.conf</code>.
 
== Gestione Mailing-List Mailman + Hypermail ==
Ogni mailserver che si rispetti ha anche un gestore di mailing-list. Io vi consiglio di installare Mailman che possiede un ottimo supporto web per le varie configurazioni:
 
<pre>
# apt-get install mailman hypermail
</pre>
 
Fatto questo modificate <code>/etc/postfix/main.cf</code> aggiungendo quanto segue:
 
<pre>
alias_maps = hash:/etc/aliases
hash:/var/lib/mailman/data/aliases
transport_maps = hash:/etc/postfix/transport
relay_domains = lists.vostrodominio.com
mailman_destination_recipient_limit = 1
</pre>
 
creiamo <code>/etc/postfix/transport</code> e trasformiamolo in una mappa:
 
<pre>
# echo lists.vostrodominio.com mailman: > /etc/postfix/transport
# postmap /etc/postfix/transport
</pre>
 
Modificate ora il file <code>/etc/postfix/master.cf</code>:
 
<pre>
mailman unix - n n - - pipe flags=FR user=list argv=/var/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
</pre>
 
Modificate nel file <code>/etc/mailman/mm_cfg.py</code> i seguenti tag:
 
<pre>
DEFAULT_EMAIL_HOST = 'vostrodominio.com'
DEFAULT_URL_HOST = 'www.vostrosito.com'
MTA='Postfix'
PUBLIC_EXTERNAL_ARCHIVER = 'hypermail -L it -m /var/lib/mailman/archives/private/%(listname)s.mbox/%(listname)s.mbox -l %(listname)s -d /var/lib/mailman/archives/public/%(listname)s'
PRIVATE_EXTERNAL_ARCHIVER = 'hypermail -c -L it -m /var/lib/mailman/archives/private/%(listname)s.mbox/%(listname)s.mbox -l %(listname)s -d /var/lib/mailman/archives/private/%(listname)s'
PUBLIC_ARCHIVE_URL = '/archives/%(listname)s'
PRIVATE_ARCHIVE_URL = '/archives/%(listname)s'
ARCHIVE_TO_MBOX = 2
</pre>
 
Fate attenzione alle voci <code>PUBLIC_ARCHIVE_URL</code> e <code>PRIVATE_ARCHIVE_URL</code>.
Sono i link che in Mailman verranno associati all'archivio delle vostre mailing-list (www.vostrodominio.it/archives/nomelista). Di conseguenza un mio consiglio è creare un link simbolico nella DocumentRoot del server Apache in questione:
 
<pre>
# ln -s /var/lib/mailman/archives/public/ archives
</pre>
 
Create poi una lista Mailman di default per il server (altrimenti il suo demone si rifiuta di partire):
 
<pre>
# newlist mailman
</pre>
 
ed il gioco è fatto.
Per creare nuove mailing-list basta usare il comando <code>newlist</code> e per rimuoverle <code>rmlist</code>.
Per le altre configurazioni, Mailman crea nella vostra directory <code>cgi-bin</code> un programma che vi consente, tramite web, di accedere alle varie mailing-list per poter modificarne alcuni parametri, anche in questo caso si richiede una corretta configurazione di Apache.
 
----
Per qualsiasi informazione
 
www.giorgioravera.it
 
giorgio@giorgioravera.it
{{Autori
| Autore = [[Utente:TheNoise|TheNoise]]
}}
 
[[Categoria:Mail server]]

Versione attuale delle 17:33, 23 giu 2016

Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 5 "lenny"
Debian 6 "squeeze"
Debian 7 "wheezy"

Introduzione

Con questa guida intendo spiegare all'utente Debian come configurare un server mail basato su Postfix (http://www.postfix.org). Postfix è un MTA abbastanza sicuro e di recente sviluppo, molto semplice da usare e per alcuni è considerato il successore di Sendmail per altro troppo complicato da gestire e con noti problemi di sicurezza.

Installazione di Postfix

Prima di tutto abbiamo bisogno di due demoni: uno per la gestione del protocollo POP3 e uno per l'IMAP. Io consiglio popa3d e imapd

# apt-get update
# apt-get install popa3d uw-imapd

fatto questo in /etc/inetd.conf verranno aggiunti i servizi per il POP3 e l'IMAP. Procediamo all'installazione dell'MTA vero e proprio:

# apt-get install postfix

Configurazione base

Quasi tutte le opzioni di configurazione di Postfix si trovano nel file /etc/postfix/main.cf.

Ecco i principali tag a cui conviene prestare attenzione:

  • myhostname: valore indica il nome che assumerà il vostro server mail (es: mail.nomedominio.it);
  • myorigin: valore indica il dominio usato per la posta inviata dal server, può essere anche un file che contiene il nome del dominio, es: /etc/mailname;
  • mydestination: localhost, altri_valori indicano i domini che il server dovrà riconoscere come locali e che smisterà internamente;
  • mydomain: valore indica il dominio a cui appartiene il server;
  • relayhost: valore indica a quale server inoltrare le mail che non si riconoscono come locali;
  • mailbox_size_limit: 0 indica la dimensione massima delle caselle mail, 0 per nessun limite;
  • mynetworks: valore altri_valori indica le reti nelle quali il server deve operare (es. 127.0.0.1/8 192.168.0.1/24);
  • mynetworks_syle: host/subnet/class.


Su questi ultimi due punti è il caso di soffermarsi. Stiamo considerando ora quali IP considerare validi per l'invio della posta.

Postfix non autorizza l'invio della posta da parte di client non autorizzati a farlo e/o di domini sconosciuti, ovvero non è un open-relay. Questo è un gran vantaggio perché impedisce che il vostro server possa essere usato per spam o peggio.

Tramite il tag mynetworks abilito gli IP presenti nella lista a spedire mail, con mynetworks_style posso specificare uno tra i seguenti tre valori:

host
l'invio sarà consentito solo per la macchina locale;
class
l'invio sarà consentito a tutti i client appartenenti al network di classe A, B o C a cui il server appartiene;
subnet
indica che Postfix autorizza alla trasmissione tutti i client che appartengono alla stessa sottorete locale del mailserver e costituisce il valore di default.

Gestione degli Alias

In teoria ad ogni utente locale del vostro server corrisponde una sola casella mail. Si possono però creare degli alias che corrispondano ad un particolare utente, un secondo indirizzo a cui inviare mail per quel dato user. Di default esiste il file /etc/aliases che contiene una lista di alias a sinistra e i rispettivi utenti ai quali appartengono a destra. In /etc/postfix/main.cf basta solo aggiungere:

alias_maps = hash:/etc/aliases

e per rendere questo file una mappa utilizzabile da Postfix lanciamo il comando:

# postalias /etc/aliases

Multidominio, Virtual Domain e Sender Canonical

Nel caso il vostro Server debba ricevere la posta per più domini non dobbiamo fare altro che modificare il tag mydestination come segue:

mydestination = localhost, /etc/postfix/local-domain

creare il file /etc/postfix/local-domain e inserire lì i domini da considerare locali, uno per riga senza virgole.

Fatto questo conviene preparare un file per la gestione dei domini virtuali in modo tale da associare il giusto dominio al dato utente; creiamo allora il file /etc/postfix/virtual La sintassi da usare è la seguente:

  • info@dominio1.it marco -> le mail in arrivo per tale indirizzo sono redirezionate a marco;
  • webmaster@dominio2.it andrea@dominio4.it -> le mail verranno inviate a andrea@dominio4.it;
  • @dominio3.com alessandro -> tutte le mail inviate a qualsiasi indirizzo @dominio3.com sono inviate all'utente alessandro;

aggiungiamo in /etc/postfix/main.cf:

virtual_maps = hash:/etc/postfix/virtual

e prepariamo la map con il comando:

# postmap /etc/postfix/virtual

Può essere sempre utile, per la gestione di più domini, usare un file che associ ad un nome utente un indirizzo mittente particolare. Creiamo perciò un file /etc/postfix/sender_canonical dove con la precedente sintassi associamo al nome utente l'indirizzo mittente da mostrare nelle mail inviate. Aggiungiamo in /etc/main.cf la seguente riga:

sender_canonical_maps = hash:/etc/postfix/sender_canonical

ed infine prepariamo la map con:

# postmap /etc/postfix/sender_canonical

Antivirus - Amavis e ClamaV

Passiamo ora alla configurazione dell'antivirus da installare sul vostro MTA. Procediamo all'installazione:

# apt-get install amavisd-new clamav clamav-daemon

Dopo l'installazione dobbiamo dire a Postfix di far processare le mail dal vostro antivirus. Aggiungiamo a /etc/postfix/main.cf quanto segue:

content_filter = amavis:[127.0.0.1]:10024

mentre nel file /etc/postfix/master.cf:

amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes

Di per sé non si richiedono altre modifiche per il corretto funzionamento, comunque può essere utile dare un occhiata al file /etc/amavis/amavisd.conf per eventuali modifiche. Il Demone clamav-daemon (freshclam) tiene aggiornato il vostro antivirus aggiornandosi 12 volte al giorno, per eventuali modifiche /etc/clamav/fresclam.conf e /etc/clamv/clamavd.conf.

Antispam - Spamassassin

Può essere utile installare un antispam che filtri le mail nel vostro server. Spamassassin è ciò che fa per voi. Installiamolo insieme a Procmail:

# apt-get install spamassassin procmail

a questo punto aggiungiamo in /etc/postfix/main.cf quanto segue:

mailbox_command = /usr/bin/spamc | procmail -a "$EXTENSION"

abilitiamo spamassassin modificando in /etc/default/spamassassin:

ENABLE=1

aggiungiamo al file /etc/procmailrc quanto segue:

DROPPRIVS=yes
:0fw
| /usr/bin/spamassassin

Per settaggi particolari di Spamassassin vi consiglio di dare un'occhiata al file /etc/spamassassin/local.cf oppure consultare il sito web http://www.yrex.com/spam/spamconfig.php che vi consente di creare un file di configurazione personalizzato rispondendo alle varie domande.

WebMail - Openwebmail

Per poter usufruire del servizio di webmail è necessario usare un server web. Io vi consiglio Apache con supporto PHP e CGI. In questa guida presumo che nel vostro server sia già presente Apache configurato a dovere. Esistono diversi servizi di WebMail, io ho scelto openwebmail, installiamolo dopo aver aggiunto il repository in /etc/apt/sources.list

deb http://people.debian.org/~srua/openwebmail/stable/ ./
# apt-get install openwebmail

Dopo l'installazione recatevi in /etc/openwebmail e date un occhiata al file apache.conf che contiene le specifiche per configurare Apache. Apriamo ora /etc/openwebmail/openwebmail.conf e apportiamo le nostre personalizzazioni. Attenzione alla voce domainnames, spesso auto può portare a dei problemi, vi consiglio di specificare il dominio di appartenenza. Per altre modifiche consultate il file /usr/share/openwebmail/configs/openwebmail.conf.

Gestione Mailing-List Mailman + Hypermail

Ogni mailserver che si rispetti ha anche un gestore di mailing-list. Io vi consiglio di installare Mailman che possiede un ottimo supporto web per le varie configurazioni:

# apt-get install mailman hypermail

Fatto questo modificate /etc/postfix/main.cf aggiungendo quanto segue:

alias_maps = hash:/etc/aliases
hash:/var/lib/mailman/data/aliases
transport_maps = hash:/etc/postfix/transport
relay_domains = lists.vostrodominio.com
mailman_destination_recipient_limit = 1

creiamo /etc/postfix/transport e trasformiamolo in una mappa:

# echo lists.vostrodominio.com mailman: > /etc/postfix/transport
# postmap /etc/postfix/transport

Modificate ora il file /etc/postfix/master.cf:

mailman unix - n n - - pipe flags=FR user=list argv=/var/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}

Modificate nel file /etc/mailman/mm_cfg.py i seguenti tag:

DEFAULT_EMAIL_HOST = 'vostrodominio.com'
DEFAULT_URL_HOST = 'www.vostrosito.com'
MTA='Postfix'
PUBLIC_EXTERNAL_ARCHIVER = 'hypermail -L it -m /var/lib/mailman/archives/private/%(listname)s.mbox/%(listname)s.mbox -l %(listname)s -d /var/lib/mailman/archives/public/%(listname)s'
PRIVATE_EXTERNAL_ARCHIVER = 'hypermail -c -L it -m /var/lib/mailman/archives/private/%(listname)s.mbox/%(listname)s.mbox -l %(listname)s -d /var/lib/mailman/archives/private/%(listname)s'
PUBLIC_ARCHIVE_URL = '/archives/%(listname)s'
PRIVATE_ARCHIVE_URL = '/archives/%(listname)s'
ARCHIVE_TO_MBOX = 2

Fate attenzione alle voci PUBLIC_ARCHIVE_URL e PRIVATE_ARCHIVE_URL. Sono i link che in Mailman verranno associati all'archivio delle vostre mailing-list (www.vostrodominio.it/archives/nomelista). Di conseguenza un mio consiglio è creare un link simbolico nella DocumentRoot del server Apache in questione:

# ln -s /var/lib/mailman/archives/public/ archives

Create poi una lista Mailman di default per il server (altrimenti il suo demone si rifiuta di partire):

# newlist mailman

ed il gioco è fatto. Per creare nuove mailing-list basta usare il comando newlist e per rimuoverle rmlist. Per le altre configurazioni, Mailman crea nella vostra directory cgi-bin un programma che vi consente, tramite web, di accedere alle varie mailing-list per poter modificarne alcuni parametri, anche in questo caso si richiede una corretta configurazione di Apache.


Per qualsiasi informazione

www.giorgioravera.it

giorgio@giorgioravera.it



Guida scritta da: TheNoise Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized