Configuration · 4 min read · Dec 31, 2025
Hébergement Virtuel Comment faire Avec Virtualmin Sur CentOS 5.1 - Page 3
Configuration
Configuration de Postfix
Introduction
Nous allons configurer postfix avec les fonctionnalités suivantes :
- Hébergement virtuel
- Prévention UCE
- Anti-virus
- Authentification SMTP
- TLS
- RBLs
- SPF
- Atténuation des attaques
L’ajout de comptes et de domaines sera configuré via virtualmin bien que cela puisse également être fait manuellement. La configuration est conçue pour être économe en ressources afin de pouvoir fonctionner sur des machines qui ne sont pas surdimensionnées, permettant ainsi une meilleure utilisation des ressources. Pour être économe en ressources, nous n’utilisons pas de bases de données externes pour stocker les informations des utilisateurs virtuels comme le font la plupart des autres guides, ainsi que des milters pour le contrôle des spams et des virus au lieu de faire fonctionner amavisd-new.
Les Bases
Pour commencer, nous allons configurer les bases telles que le nom d’hôte, l’origine du mail, les réseaux, le répertoire de spool des cartes de hachage. Toutes ces options de configuration doivent être ajoutées à /etc/postfix/main.cf sauf indication contraire. Des fichiers de configuration d’exemple sont disponibles en téléchargement à la fin de cette page.
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mydomain = example.com
myorigin = $mydomain
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
canonical_maps = hash:/etc/postfix/canonical
sender_canonical_maps = hash:/etc/postfix/canonical
recipient_canonical_maps = hash:/etc/postfix/canonical
virtual_alias_maps = hash:/etc/postfix/virtual
mail_spool_directory = /var/spool/mailMaildir
Nous allons utiliser le format maildir beaucoup amélioré par rapport au format mbox par défaut :
home_mailbox = Maildir/SASL
Pour effectuer l’authentification SMTP, nous allons utiliser SASL, cependant nous n’utiliserons pas le Cyrus SASL car cela nécessite de faire fonctionner le démon saslauthd, nous allons plutôt utiliser dovecot sasl puisque nous allons faire fonctionner dovecot pour IMAP et POP3, tuant ainsi deux oiseaux d’une pierre.
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yesTLS
Nous avons besoin de TLS pour garantir que les mots de passe en texte clair ne sont pas transmis sur le réseau lors de l’authentification SMTP, les serveurs qui prennent en charge TLS peuvent également communiquer avec ce serveur via une connexion sécurisée.
Des instructions sur la création de votre certificat de serveur signé par cacert.org peuvent être trouvées ici.
- Définir la source aléatoire TLS :
tls_random_source = dev:/dev/urandom- Activer le TLS serveur :
smtpd_use_tls = yes
smtpd_tls_key_file = /etc/pki/postfix/key.pem
smtpd_tls_cert_file = /etc/pki/postfix/server.pem
smtpd_tls_CAfile = /etc/pki/postfix/root.crt
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_session_cache_database = btree:/var/spool/postfix/smtpd_tls_cache- Activer le TLS client :
smtp_use_tls = yes
smtp_tls_key_file = /etc/pki/postfix/key.pem
smtp_tls_cert_file = /etc/pki/postfix/server.pem
smtp_tls_CAfile = /etc/pki/postfix/root.crt
smtp_tls_session_cache_database = btree:/var/spool/postfix/smtp_tls_cache
smtp_tls_note_starttls_offer = yesPrévention des Spams
- Exiger un EHLO / HELO valide :
smtpd_helo_required = yes- Prévenir les attaques de collecte d’adresses e-mail :
disable_vrfy_command = yes- Changer les codes de rejet en permanent (par défaut, postfix émet des codes d’erreur 4xx qui impliquent un échec temporaire, nous avons besoin de 5xx pour des erreurs permanentes) :
unverified_recipient_reject_code = 550
unverified_sender_reject_code = 550
unknown_local_recipient_reject_code = 550- Configurer la vérification de l’adresse de l’expéditeur :
address_verify_map = btree:/var/spool/postfix/verify
smtpd_sender_restrictions = hash:/etc/postfix/sender_access- Créer /etc/postfix/sender_access et ajouter :
#exemple /etc/postfix/sender_access contient des domaines souvent usurpés
aol.com reject_unverified_sender
hotmail.com reject_unverified_sender
yahoo.com reject_unverified_sender
gmail.com reject_unverified_sender
bigfoot.com reject_unverified_sender- Atténuer les attaques provenant de zombies et de clients défectueux :
smtpd_error_sleep_time = 5s
smtpd_soft_error_limit = 10
smtpd_hard_error_limit = 20- N’autoriser le pipelining que pour les clients authentifiés :
smtpd_data_restrictions = reject_unauth_pipelining- Installer postfix-policyd-spf-perl et activer le support SPF :
wget http://www.openspf.org/blobs/postfix-policyd-spf-perl-2.005.tar.gz
tar xzvf postfix-policyd-spf-perl-2.005.tar.gz
cd postfix-policyd-spf-perl-2.005
cp postfix-policyd-spf-perl /etc/postfix/Ajouter ceci à /etc/postfix/master.cf :
spfpolicy unix - n n - - spawn user=nobody argv=/usr/bin/perl /etc/postfix/postfix-policyd-spf-perl- Ajouter le support DKIM :
Des instructions sur l’ajout du support DKIM peuvent être trouvées ici.
- Ajouter le support domainkeys :
Des instructions sur l’ajout du support domainkeys peuvent être trouvées ici.
- Faire fonctionner le tout dépend de l’option smtpd_recipient_restrictions, donc nous la définissons ci-dessous :
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
check_recipient_access hash:/etc/postfix/access
reject_unknown_recipient_domain
reject_unknown_sender_domain
reject_unverified_recipient
reject_non_fqdn_recipient
reject_non_fqdn_sender
reject_invalid_hostname
reject_rbl_client list.dsbl.org
reject_rbl_client zen.spamhaus.org
reject_rbl_client l1.spews.dnsbl.sorbs.net
reject_rbl_client combined.njabl.org
reject_rbl_client bl.spamcop.net
reject_rhsbl_sender dsn.rfc-ignorant.org
reject_rhsbl_sender bogusmx.rfc-ignorant.org
reject_rhsbl_sender rhsbl.sorbs.net
reject_rhsbl_client dsn.rfc-ignorant.org
reject_rhsbl_client bogusmx.rfc-ignorant.org
reject_rhsbl_client rhsbl.sorbs.net
check_policy_service unix:private/spfpolicyMilters [SpamAssassin & ClamAV]
Pour votre classification de spam utilisant spamassassin et le scan de virus utilisant clamav, nous allons utiliser l’interface milter de postfix au lieu d’utiliser le démon amavisd-new qui consomme beaucoup de ressources. C’est une manière très efficace de le faire car nous n’avons même pas besoin de faire fonctionner clamd, le milter clamav effectue le scan lui-même.
smtpd_milters = unix:/var/clamav/clmilter.socket unix:/var/run/spamass.sock
non_smtpd_milters = unix:/var/clamav/clmilter.socket unix:/var/run/spamass.sockCréer des fichiers DB
postmap /etc/postfix/canonical
postmap /etc/postfix/access
postmap /etc/postfix/virtual
postmap /etc/postfix/sender_accessFichiers de Configuration d’Exemple
- main.cf
- master.cf
- canonical
- virtual
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.