POSTFIX
Sommaire
Utilisation de postfix en mode multi-domaine
Cette page est en cours de rédaction.
Il manque encore quelques étapes mais les grandes lignes sont la.
Présentation
Postfix peut être utilisé afin de gérer plusieurs domaine sur un même serveur. Pour cela, postfix utilise une base de données et un outils de gestion qui se nomme "postfixadmin"
Installation de postfix-mysql
Liste des paquets à installer, cette liste dépend de la version de linux utilisée.
postfix postfix-mysql php5-imap courier-base courier-imap-ssl courier-imap courier-webadmin courier-authlib-mysql
Création de la base de données
GRANT SELECT ON `postfix`.* TO 'postfix'@'%' IDENTIFIED BY '$PASSWORD'; #Pas obligatoire GRANT SELECT ON `postfix`.* TO 'postfix'@'localhost' IDENTIFIED BY '$PASSWORD'; create database postfix;
Fichier /etc/postfix/main.cf
smtpd_banner = $myhostname ESMTP biff = no disable_vrfy_command = yes smtpd_helo_required = yes smtpd_delay_reject = yes # ajoute le domaine aux emails de la distribution locale # ainsi vous pourrez envoyer des emails sans @domain.priv # par la commande sendmail mydomain = MON_DOMAINE_DE_MESSAGERIE append_dot_mydomain = yes # Envoi une alerte de dépassement de délai par email #delay_warning_time = 4h myhostname = MON_HOSTNAME # domaine de distribution local mydestination = localhost, localhost.localdomain, MON_HOSTNAME # Mettez ici le relais smtp de votre FAI si vous avez des problèmes de blacklist # à cause de votre IP relayhost = # adresseIP/Masque des réseaux locaux (réseaux autorisés pour l'envoi de courier) mynetworks = 127.0.0.0/8 192.168.0.0/24 inet_interfaces = all
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain, reject_non_fqdn_sender, warn_if_reject, reject_unverified_sender, reject_rhsbl_sender zen.spamhaus.org, reject_rbl_client cbl.abuseat.org, reject_rbl_client list.dsbl.org, reject_rbl_client bl.spamcop.net
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_unknown_recipient_domain, reject_non_fqdn_recipient
smtpd_client_restrictions = reject_unknown_client, permit_mynetworks
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_aliases.cf,mysql:/etc/postfix/mysql-virtual_aliases_mailbox.cf virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf virtual_mailbox_base = /var/spool/vmail/ virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_create_maildirsize = yes virtual_mailbox_extended = yes virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-virtual_mailbox_limit_maps.cf virtual_mailbox_limit_override = yes virtual_maildir_limit_message = "Desole, la boite email de l'utilisateur est pleine, essayez plus tard." virtual_overquota_bounce = yes
Installation de postfixadmin
Il faut télécharger la dernière version de postfixadmin ici : http://sourceforge.net/projects/postfixadmin/ Ensuite, il faut créer l'utilisateur ayant les droits de modifier la base postfix :
GRANT CREATE, SELECT, INSERT, DELETE, UPDATE, ALTER ON `postfix`.* TO 'postfixadmin'@'localhost' IDENTIFIED BY '$PASSWORD'; GRANT CREATE, SELECT, INSERT, DELETE, UPDATE, ALTER ON `postfix`.* TO 'postfixadmin'@'%' IDENTIFIED BY '$PASSWORD';
Une fois ces opérations effectuées, il faut se connecter à l'interface web postfixadmin et suivre les indications.
installation de courier-imap
Il faut modifier le fichier /etc/courier/authdaemonrc pour indiquer à authdaemon qu'il doit utiliser le module mysql. authmodulelist="authmysql"
Puis il faut configurer le module authmysql en éditant le fichier /etc/courier/authmysqlrc ainsi:
MYSQL_SERVER localhost MYSQL_USERNAME postfix MYSQL_PASSWORD pass MYSQL_DATABASE postfix MYSQL_USER_TABLE mailbox MYSQL_CRYPT_PWFIELD password # MYSQL_CLEAR_PWFIELD clear MYSQL_UID_FIELD 5000 MYSQL_GID_FIELD 5000 MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD "/var/spool/vmail/" MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') #Ligne à commenter # MYSQL_NAME_FIELD name MYSQL_QUOTA_FIELD quota
Utilisation de postgrey
Postgrey est un système qui permet de limiter le spam. Son principe de fonctionnement est de rejeter tous les mails en entrée et d'attendre 5 minutes que le même message soit à nouveau envoyé. A la seconde présentation du même message, le messages est enfin accetpé.
Installation du paquet postgrey
Sous debian
apt-get install postgrey
Sous Mandriva
urpmi postgrey
Configuration de postgrey
Il faut modifier le fichier de configuration de postgrey (/etc/sysconfig/postgrey) afin de le mettre en écoute sur un port spécifique et d'ajouter des options. Voici le contenu de ce fichier :
# change default configuration option here # SOCKET=$(postconf -h queue_directory)/extern/postgrey/socket # OPTIONS="--unix=$SOCKET" # DBPATH=/var/lib/postgrey # OPTIONS="$OPTIONS --dbdir=$DBPATH" # to use an inet connection instead of a socket OPTIONS="--inet=127.0.0.1:10031" # enable whitelisting OPTIONS="$OPTIONS --auto-whitelist-clients"
Utilisation des RBL
Ajout des lignes suivante dans /etc/postfix/main.cf
smtpd_sender_restrictions = reject_rhsbl_sender zen.spamhaus.org, reject_rbl_client cbl.abuseat.org, reject_rbl_client list.dsbl.org, reject_rbl_client bl.spamcop.net