Differences between revisions 3 and 4
Revision 3 as of 2006-08-22 21:52:14
Size: 4617
Editor: Kurgan
Comment:
Revision 4 as of 2006-08-23 09:22:17
Size: 6697
Editor: Kurgan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
 * exim4-daemon-heavy  * exim4-daemon-heavy (versione 4.50 di Sarge)
Line 26: Line 26:

Line 67: Line 69:
  user = root   user = Debian-exim
Line 73: Line 75:
  args = /etc/dovecot/passwd.%d   args = /etc/vmail/%d
Line 82: Line 84:
    
Line 83: Line 87:

 * 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.
Line 84: Line 90:
 * 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.  * 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 {{{chown root.Debian-exim}}} e poi un {{{chmod 640}}} dei files.



==== NOTE: ====
 * La scansione antivirus la faccio dentro alla acl "acl_smtp_data" usando la funzione "demime" che e` deprecata. Dovrebbe essere fatta dentro l'acl "acl_smtp_mime", ma la versione 4.50 di Exim che c'e` in Sarge e` bacata e la soluzione che uso e` quella che di fatto funziona meglio. Usando versioni piu` nuove di Exim, il check dei virus va modificato.
Line 90: Line 101:
 * Editare il file {{{/etc/defaul/spamassassin}}} ed impostare ENABLED=1
 * Volendo, modificare il file {{{/etc/spamassassin/local.cf}}} per modificare i punteggi. Il mio attuale e` modificato per aumentare il punteggio di Razor e diminuire quello di Habeas, il quale viene puntualmente abusato.
{{{
score HABEAS_SWE 0.1
score RAZOR2_CF_RANGE_51_100 3.0
}}}
 * Eseguire {{{/etc/init.d/spamassassin start}}} per avviare il demone spamd (ovviamente al reboot partira` da solo)

In questo setup, spamassassin (in realta` il demone spamd) viene sempre chiamato dall'utente "mail", quindi per qualsiasi utente di qualsiasi dominio il database bayesiano sara` sempre lo stesso, e si trovera` nella home dell'utente mail sotto una directory con nome ".spamassassin".

Line 91: Line 113:

* Editare il file {{{/etc/razor/razor-agent.conf}}} modificandolo come segue:
{{{
logic_method = 4
logfile = sys-syslog (questo non funziona attualmente)
ignorelist = 1
report_headers = 0
}}}

 * Configurare Razor per la prima volta, come utente "mail", visto che poi girera` sempre come utente "mail".
{{{
# su - mail
$ razor-admin -create
$ razor-admin -discover
$ razor-admin -register
}}}

Le configurazioni di Razor saranno salvate sotto la home dell'utente mail, nella directory ".razor".

Mail server con Exim4 / Dovecot / Clamav / Spamassassin

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 (utenti, alias, configurazioni di abilitazione e disabilitazione antivirus e antispam), permettendo di aggiungere domini semplicemente creando da uno a 4 files di testo con un contenuto minimale (usernames, passwords, aliases). 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.

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/%d
 }
}

Configurazione di Exim

  • 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 che conterra` tutte le configurazioni dei domini virtuali
  • 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 chown root.Debian-exim e poi un chmod 640 dei files.

NOTE:

  • La scansione antivirus la faccio dentro alla acl "acl_smtp_data" usando la funzione "demime" che e` deprecata. Dovrebbe essere fatta dentro l'acl "acl_smtp_mime", ma la versione 4.50 di Exim che c'e` in Sarge e` bacata e la soluzione che uso e` quella che di fatto funziona meglio. Usando versioni piu` nuove di Exim, il check dei virus va modificato.

Configurazione di Spamassassin

  • Editare il file /etc/defaul/spamassassin ed impostare ENABLED=1

  • Volendo, modificare il file /etc/spamassassin/local.cf per modificare i punteggi. Il mio attuale e` modificato per aumentare il punteggio di Razor e diminuire quello di Habeas, il quale viene puntualmente abusato.

score   HABEAS_SWE              0.1
score   RAZOR2_CF_RANGE_51_100  3.0
  • Eseguire /etc/init.d/spamassassin start per avviare il demone spamd (ovviamente al reboot partira` da solo)

In questo setup, spamassassin (in realta` il demone spamd) viene sempre chiamato dall'utente "mail", quindi per qualsiasi utente di qualsiasi dominio il database bayesiano sara` sempre lo stesso, e si trovera` nella home dell'utente mail sotto una directory con nome ".spamassassin".

Configurazione di Razor

* Editare il file /etc/razor/razor-agent.conf modificandolo come segue:

logic_method = 4
logfile = sys-syslog (questo non funziona attualmente)
ignorelist = 1
report_headers = 0
  • Configurare Razor per la prima volta, come utente "mail", visto che poi girera` sempre come utente "mail".

# su - mail
$ razor-admin -create
$ razor-admin -discover
$ razor-admin -register

Le configurazioni di Razor saranno salvate sotto la home dell'utente mail, nella directory ".razor".

Configurazione di Clamav

Dopo aver installato clamd (questa config usa clamd e non clamscan), occorre aggiungere l'utente clamd al gruppo debian-exim dentro /etc/groups, altrimenti clamd non puo` accedere ai files che exim gli passa da scansionare.

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