Exim4
De Wiki de Nelly & Richard.
Sommaire |
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
- Site officiel de spamassassin
- Un peu plus d'explication sur la page de Spamassassin
- Aujourd'hui il est nécessaire de se protéger du spam, plusieurs solutions existent, j'ai retenu 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