"Debian Sarge - Postfix - Open-Xchange - howto"
| La base | Service mail | Prépa Open-Xchange | OpenLDAP | Installation | Post-install | HylaFax | Alarme | BackupPC | Sync4j | Et encore |
Postfix
Installation et configuration d'un service courrier :
~# apt-get install --purge postfix
« --purge » permet de nettoyer les anciens fichiers d'exim qui est installé à l'origine.
Type de configuration : site internet
Édition des fichiers de conf
~# vim /etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
# variable du domaine
mydomain = mon.domaine.com
# variable de la machine cp qualifié
myhostname = ma-machine.mon.domaine.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, $mydomain, localhost
relayhost =
# ajout du reseau local 192.168.10.0/24
mynetworks = 127.0.0.0/8 192.168.10.0/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
# Limitation de la taille des mails
message_size_limit = 2560000
# Utilisation smpt du FAI pour les méchants
transport_maps = hash:/etc/postfix/transport
Certains FAI n'acceptent pas les mails de serveurs perso, alors nous allons créer une table de transport pour contourner ce problème :
~# vim /etc/postfix/transport
# table de transport permettant d'utiliser le smtp de votre
# FAI pour certaine destination
club-internet smtp:smtp.free.fr
aol.com smtp:smtp.free.fr
tiscali.fr smtp:smtp.free.fr
Si l'on ne souhaite pas que des executables circulent par la messagerie on peut ajouter au "main.cf"
header_checks = regexp:/etc/postfix/header_checks
Ensuite on créé le fichier /etc/postfix/header_checks et dedans on ajoute :
/name ?="?.*\.(bat|com|dll|exe|hta|pif|vbs)"?/ REJECT Piece jointe contenant un ou des executables, message refuse
~# postmap /etc/postfix/transport
~# /etc/init.d/postfix reload
afin de recharger la nouvelle configuration
Courrier-imap
Maintenant que nous avons un serveur opérationnel, il nous faut un MTA (mail transfert agent)
Nous installons courrier-imap
~# apt-get install courier-imap
# faut-il créer les fichiers de config web : non
Création des boîtes aux lettres (attention d'être logué en utilisateur et d'être dans son home si vous suivez l'exemple, pas en root)
~% cd
~% maildirmake.courier Maildir
~% maildirmake.courier Maildir/.sent
~% maildirmake.courier Maildir/.spam
~% maildirmake.courier Maildir/.blacklist
Création d'un fichier minimaliste .promailrc afin de récupérer nos mails
~% vim .procmailrc
PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:.
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR/
#VERBOSE=off
LOGFILE=$HOME/.procmail.log
Maintenant il faut tester le bon fonctionnement de votre service courriel, ce n'est pas la peine de continuer s'il y un blocage à ce niveau
Amavis et Clamav
Modification du sources.list afin d'avoir un antivirus plus à jour :
~# vim /etc/apt/sources.list
deb http://ftp2.de.debian.org/debian-volatile stable/volatile main
deb-src http://ftp2.de.debian.org/debian-volatile stable/volatile main
~# apt-get install amavisd-new clamav-freshclam clamav clamav-daemon
Mise à jour de la base de données des virus = démon
Ensuite choix d'un miroir proche de chez vous.
Le reste est très bien par défaut
On ajoute l'user clamav au groupe amavis
~# adduser clamav amavis
Et ensuite on édite les fichiers de conf de postfix, à ce sujet, la doc est clair et précise, un simple copier collé suffirait (dommage j'ai pas de souris !) et 2 fois n
La doc est comme d'hab. /usr/share/doc/amavisd-new/README.postfix.gz je met la modif complète.
Attention, les exemples que je fournis permettent un bon fonctionnement mais à vous d'essayer des réglages plus pointus.
~# vim /etc/postfix/master.cf
on ajoute ces lignes à la fin
# Ajout Amavis
| smtp-amavis unix - - n - 2 smtp | |
| -o smtp_data_done_timeout=1200 | |
| -o smtp_send_xforward_command=yes | |
| -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 | |
| -o smtpd_error_sleep_time=0 | |
| -o smtpd_soft_error_limit=1001 | |
| -o smtpd_hard_error_limit=1000 | |
~# vim /etc/postfix/main.cf
Juste une ligne à ajouter au main.cf
# Prise en charge de l'Antivirus:
content_filter = smtp-amavis:[127.0.0.1]:10024
Edition de amavisd.conf, renseignez la variable $mydomain (ligne 66 chez moi), ç'est pas terrible exemple.com dans les sources des mails !
~# vim /etc/amavis/amavisd.conf
$mydomain = 'mon.domaine.com'
~# /etc/init.d/postfix reload
~# /etc/init.d/clamav-daemon restart
~# /etc/init.d/amavis restart
Prise en compte des modifs et test de messagerie, les entêtes des messages doivent maintenant contenir des choses du genre:
X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at mon.domaine.com
Ainsi que tout le circuit emprunté par votre prose.
Des tests sont possible avec le package clamav-testfiles, qui contient des fichiers « infecté » par des signatures de virus.
Spamassassin
Les serveurs de courriers actuels sont bons à ranger au placard s'il ne sont pas capable de gérer le spam, la pollution est tel qu'il faut donc s'occuper du mal à la racine.
~# apt-get install spamassassin
l'exemple qui suit vous montre comment utiliser spamassassin individuellement par le .procmailrc, si vous devez gérer plusieurs centaines d'users, utilisez plutôt une config général par etc/spamassassin/local.cf
~$ vim .procmailrc
PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin:.
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR/
#VERBOSE=off
LOGFILE=$HOME/.procmail.log
:0fw
* < 56000
| /usr/bin/spamassassin
:0
* ^X-Spam-Status: Yes
$DEFAULT/.spam/
Script d'apprentissage
Un script à faire tourner en cron pour utiliser l'auto apprentissage avec spamassassin, les spams qui passent à coté sont rangé dans le dossier blacklist, en cas de faux positif, on les remets en boite de réception
~$ vim update-spam.sh
#!/bin/sh
#update-spam.sh
# script d'apprentissage pour spamassassin
# snoopyouaib le 21 mars 2005
#
# d'abort la blacklist
sa-learn --spam $HOME/Maildir/.blacklist/cur/
# ensuite le plus important
# les mails propre
sa-learn --ham $HOME/Maildir/cur/
# et ainsi de suite
ensuite rendez le script exécutable
~$ chmod +x update-spam.sh
Faite le tourner plusieurs fois par jour les premiers temps (tout dépend si vous êtes très pollué), ensuite une fois par jour suffira. Par exemple :
~$ crontab -e
#apprentissage spamassassin
5 1,13 * * * $HOME/update-spam.sh
lancera le script 2 fois par jour
Fetchmail
Très utile pour rapatrier sur votre serveur toutes vos boites à lettres ouvertes chez différents FAI et de les filtrer par votre Debian afin que tout arrive en final dans votre boite perso.
~# apt-get install fetchmail
ensuite loggé vous sous votre compte utilisateur
~% vim .fetchmailrc
# Nom du serveur POP3
poll mail.chezunautre.com
protocol pop3
# Login et mot de passe de votre compte mail
username "monlogin"
password "monpasswd"
# ajoutez keep pour ne pas les effacer
# On recommence pour d'autres comptes
~% chmod 600 .fetchmailrc
sinon ça marche pas.
Bon voila pour l'essentiel d'un service courrier de base, plein de choses sont possibles, a vous d'approfondir le sujet.
Suite, préparation à l'installation d'Open-Exchange
snoopyouaib.com - Toute reproduction conseillée !
Nous sommes le 30-07-2010 et il est 18:32