Differences between revisions 5 and 6
Revision 5 as of 2006-08-23 17:42:58
Size: 12124
Editor: Kurgan
Comment:
Revision 6 as of 2006-08-23 17:48:32
Size: 12742
Editor: Kurgan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 100: Line 100:
Il file exim4.conf lo devo allegare perche` contiene una serie di parentesi graffe che mandano in crisi il renderer del markup language del wiki. Il file exim4.conf lo devo allegare perche` contiene una serie di parentesi graffe che mandano in crisi il renderer del markup language del wiki. attachment:exim4.conf
Line 186: Line 186:

Per finire, in questa configurazione (NON PROVATO, l'ho copiato da exim3 ma non so se va) esiste anche la possibilita` di accettare sessioni smtp autenticate dagli utenti che magari sono fuori ufficio. Per farlo, occorre editare il file {{{/etc/exim4/passwd.smtp}}} inserendo una riga con {{{username:password}}} per ogni utente che si vuole che usi l'smtp autenticato. Di solito e` sufficiente inserire una sola per dominio e poi comunicarla a tutti gli utenti del dominio. Sto cercando di usare gli stessi username e password del pop3/imap4, ma ci vorra` della calma per arrivarci in fondo.

Mail server con Exim4 / Dovecot / Clamav / Spamassassin

ATTENZIONE: Questa configurazione e` sperimentale e non e` ancora stata provata a fondo!

Questa e` una configurazione di un mail server completo, con supporto per diversi domini, antivirus e antispam. Le configurazioni sono realizzate su files di testo e non su database in quanto ritengo che sia piu` facile, per piccole installazioni che possono essere gestite da un sistemista che sa come editare un file di testo, evitare di usare un database e una interfaccia web per la configurazione. (Nutella ne sta facendo una versione con postgres e una interfaccia web realizzata appositamente, forse la pubblicheremo)

Descrizione tecnica

Questo sistema deve fornire un mail server con funzione di filtraggio dei virus e dello spam, supporto per client pop3 e imap4, e gestione di diversi domini virtuali. La configurazione e` fatta tutta su files di testo, ed e` studiata per essere semplice da gestire, ovvero per aggregare tutti i dati in pochi files per ogni dominio virtuale. Usando dei programmi come Dovecot ed Exim, che sono molto configurabili, e` possibile fare in modo che tutti e due accedano agli stessi files, e li usino "assieme", exim per decidere come fare il delivery della mail, e dovecot per autenticare gli utenti pop3 e imap4. Per lo storage della mail ho scelto di usare maildir, perche` e` molto piu` performante di mailbox, e se si vuole usare imap secondo me la velocita` e` fondamentale. Prevedendo di usare solo pop3, oppure accontentandosi di prestazioni scarse in imap, si puo` anche usare il formato mailbox. La mail viene comunque tutta tenuta in files e directory di proprieta` dell'utente "mail" sotto /var/vmail/<dominio>/<utente>. Gli utenti mail in questo setup sono totalmente svincolati dagli utenti locali della macchina. Usando questa configurazione un mail server che abbia soltanto un dominio deve comunque essere configurato in modo che il dominio sia virtuale, e gli utenti locali della macchina non abbiano nulla a che fare con gli utenti della mail.

I motivi di questa scelta sono diversi: prima di tutto gli utenti della macchina (per come e` configurato exim) non hanno ne` l'antivirus ne` l'antispam, inoltre gli utenti della macchina accederebbero in pop3 e imap usando la stessa password di login, e questo e` decisamente male dal punto di vista della sicurezza. Tra l'altro al momento Dovecot e` configurato in modo da non riconoscere proprio gli utenti della macchina, quindi questi non potrebbero proprio ricevere la mail in pop3 o imap4, ma solo leggerla localmente in shell.

Pacchetti

I pacchetti usati sono:

  • dovecot-imap dovecot-pop3
  • exim4-daemon-heavy (versione 4.50 di Sarge)
  • clamav
  • spamassassin
  • razor

Configurazione di Dovecot

Dovecot va configurato per servire pop3 e imap4 usando delle maildir. Lavora sempre come uid "mail" e gid "mail", per qualsiasi utente di qualsiasi dominio. Legge le password in chiaro (necessario per poter usare autenticazioni in cui la password non viaggia in chiaro sulla linea) da un file di testo. Se si vuole usare mailbox, basta cambiare la parola "maildir" in "mailbox". La configurazione ` in /etc/dovecot/dovecot.conf. Vale la pena di leggersi la documentazione perche` questa configurazione e` funzionante ma minimale, ci sono mille features che possono essere messe a punto come meglio credete. Soprattutto, leggete le parti che riguardano i tweak per la compatibilita` con i client imap rognosi.

# Protocols we want to be serving:
#  imap imaps pop3 pop3s
protocols = imap pop3


# Prefix for each line written to log file. % codes are in strftime(3)
# format.
log_timestamp = "%Y-%m-%d %H:%M:%S "

# Consenti di usare l' UID 8 per fare login
first_valid_uid = 8
last_valid_uid = 8


# Grant access to these extra groups for mail processes. Typical use would be
# to give "mail" group write access to /var/mail to be able to create dotlocks.
mail_extra_groups = mail

##
## IMAP specific settings
##

protocol imap {
  #imap_client_workarounds = outlook-idle
}

##
## POP3 specific settings
##

protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
  pop3_logout_format = top=%t/%T, retr=%r/%R, del=%d/%m, size=%s
}

##
## AUTH backend su files di testo.
##

auth default {
  mechanisms = plain digest-md5 cram-md5 apop
  user = Debian-exim
  userdb static {
   args = uid=mail gid=mail home=/var/vmail/%d/%n mail=maildir:/var/vmail/%d/%n
  }
 # un file per dominio, nella forma passwd.<dominio.tld>
 passdb passwd-file {
  args = /etc/vmail/users/%d
 }
}

Configurazione di Exim

Prima di tutto, occorre fare alcune operazioni a livello di file system:

  • Creare la directory /var/vmail che conterra` la mail degli utenti dei domini virtuali e poi darle permessi 770 e assegnarla all'utente mail gruppo mail.
  • Creare la directory /etc/vmail e le sottodirectory che conterranno tutte le configurazioni dei domini virtuali
    mkdir /etc/vmail
    mkdir /etc/vmail/users
    mkdir /etc/vmail/aliases
  • Tutti i files dentro /etc/vmail dovranno essere leggibili (e non scrivibili) dal gruppo "Debian-exim" (con la maiuscola!) che e` il gruppo con cui di default gira Exim4 in Debian. I files che contengono le password devono essere NON LEGGIBILI da tutti. Il consiglio e` quello di fare un

LinuxDebian/Exim4-Dovecot-OLD (last edited 2021-12-21 10:23:29 by Kurgan)