Exim4

De Wiki de Nelly & Richard
Sauter à la navigation Sauter à la recherche

Exim : serveur de messagerie

  • Comme d'habitude il s'agit uniquement de mon ou de mes expériences pour des détails sur les configurations des softs cités, je vous invite à visiter le site officiel.

Par richard Un serveur de messagerie simple intégrant un domaine ouvert sur internet, protégé contre le spam et les virus.

Installation

MTA : Exim

  • Site officiel d'exim
  • apt-get install exim4-daemon-heavy, ceci désinstallera exim4-daemon-light installer par défaut mais permettra l'utilisation de spamassassin et de clamav, suivant vos besoins exim4-daemon-light pourra suffir.

Antispam : Spamassassin

# apt-get install razor spamassassin spamc

Antivirus : Clamav

  • Site officiel de clamav
  • Si vous possédez au moins un client sous zindozs il est obligatoire, et recommandé pour les utilisateurs de plus en plus nombreux sous linux :)
# apt-get install clamav-daemon clamav-base

Configuration

Exim

  • Le paquet exim4-config assiste la configuration de base du serveur de messagerie d'exim, il complète le fichier /etc/exim4/update-exim4.conf.conf.
  • Voici le fichier /etc/exim4/update-exim4.conf.conf
# cette config permet de recevoir des mail depuis localhost et une interface réseau

dc_eximconfig_configtype='smarthost'
dc_other_hostnames='domaine.com;domaine.fr;domaine.org'
dc_local_interfaces='127.0.0.1;192.168.0.1'
dc_readhost='domaine.org'
dc_relay_domains=
dc_minimaldns='false'
dc_relay_nets=
dc_smarthost='smtp.FAI.com'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='true'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'
  • Si vous n'utilisez qu'un webmail par exemple, afin d'éviter le SPAM si vous n'avez pas besoin d'envoyer des message depuis l'interface réseau ouverte sur le net ajouter au fichier /etc/exim4/exim4.conf.template la ligne suivante :
# List of sender networks (IP addresses) to _unconditionally_ relay
# _for_. If you intend to be SMTP AUTH server, you do not need to enter
# anything here.
hostlist relay_from_hosts = 127.0.0.1
  • Sinon si vous avez besoin d'envoyer des mails depuis localhost et votre interface réseau laisser :
# List of sender networks (IP addresses) to _unconditionally_ relay
# _for_. If you intend to be SMTP AUTH server, you do not need to enter
# anything here.
hostlist relay_from_hosts = MAIN_RELAY_NETS
# ou depuis le réseau local et localhost :
hostlist relay_from_hosts = 127.0.0.1;10.0.0.1

spamassassin

  • fichier de configuration : /etc/default/spamassassin, /etc/spamassassin/local.cf
  • Activer spamassassin /etc/default/spamassassin :
ENABLED=1
  • Exemple de /etc/spamassassin/local.cf :
# agents de controle exterieur
use_razor2 1
razor_timeout 8
skip_rbl_checks 0

# Utilisation du protocole de Bayes
use_bayes 1

# nb de hit par defaut
required_hits 5.0
# Encapsuler le spam dans le message comme une pièce attachée
report_safe 0
# recriture du sujet
rewrite_header Subject *****SPAM*****

body viagra /[vV][iI][a-zA-Z][aA][gG][rR][aA]/i
body viagra2 /[vV][iI][aA][a-zA-Z][gG][rR][aA]/i
score viagra 5
score viagra2 5
body viagra3 /[vV][iI][aA][a-zA-Z]{2}[gG][rR][aA]/i
score viagra3 5
body viagra4 /[vV][iI][aA]_[a-zA-Z]{2}[gG][rR][aA]/i
score viagra4 5
blacklist_from mail.ru
blacklist_from spam@spam.com
whitelist_from adresse@sur.com
  • fichier /etc/exim4/exim4.conf.template :
# ajouter ou décommenter la ligne suivante
spamd_address = 127.0.0.1 783

clamav

  • fichier de configuration : /etc/default/clamav-daemon, /etc/clamav/clamd.conf, /etc/clamav/freshclam.conf
  • fichier /etc/exim4/exim4.conf.template :
# ajouter ou décommenter la ligne suivante
av_scanner = clamd:/var/run/clamav/clamd.ctl

Configuration exim authentification LOGIN

  • fichier /etc/exim4/exim4.conf.template :
# Ajouter cette ligne (après la section
### auth/30_exim4-config_examples
#################################
MAIN_TLS_ENABLE = true

# Décommenter les lignes suivantes :
login_server:
  driver = plaintext
  public_name = LOGIN
  server_prompts = "Username:: : Password::"
  server_condition = "${if crypteq{$auth2}{${extract{1}{:}{${lookup{$auth1}lsearch{CONFDIR/passwd}{$value}{*:*}}}}}{1}{0}}"
  server_set_id = $auth1
  .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
  server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
  .endif
  • Pour chacun des comptes devant utiliser l'authentification :
# htpasswd -nd user_smtp >> /etc/exim4/passwd
  • on remet à jour le tout
# update-exim4.conf
# pkill exim ; /etc/init.d/exim4 restart (un peu "bourrin" mais un stop puis un start ne suffise pas parfois)
  • mettez à jour votre MUA

Configuration exim STARTTLS

  • Il vous faut générer le certificat d'autorité, celui côté serveur.
  • fichier /etc/exim4/exim4.conf.template :
### main/03_exim4-config_tlsoptions
#################################

# TLS/SSL configuration.
# See /usr/share/doc/exim4-base/README.Debian.gz for explanations.

MAIN_TLS_ENABLE = true
MAIN_TLS_VERIFY_CERTIFICATES = /etc/exim4/certs/cacert.pem
MAIN_TLS_CERTIFICATE = /etc/exim4/certs/host.cert
MAIN_TLS_PRIVATEKEY = /etc/exim4/certs/host.key