Postfix » Historique » Révision 68
« Précédent |
Révision 68/79
(diff)
| Suivant »
Patrice Nadeau, 2016-08-21 08:35
h1. Postfix
Issue : #16
Logiciel de courrier électronique permettant, le transfert de courrier électronique (Message Transfert Agent).
Souvent installé de base pour l’envoie des message du serveur à une adresse externe.
- Contenu
- Ouvrir dans le pare-feu seulement si le serveur doit recevoir des courriels
- Inscrire votre serveur SMTP de sortie
- Spécifier toutes les interfaces
- Choisir une des les lignes suivantes
- Permettre aux machines du réseau local, l'utilisation du serveur
- myfriend.com OK
- myennemies.com REJECT
- myfriend@example.com OK
- junk@spam.com REJECT
- marketing@ REJECT
- theboss@ OK
- deals.marketing.com REJECT
- somedomain.com OK
- Utilise l'encryption si disponible
- Ajoute les messages TLS au journal
- Utilise l'encryption si disponible
- Ajoute les messages TLs au journal
- Fichiers du certificat
Si le serveur doit envoyer et recevoir des messages de et vers l’Internet, les items suivant sont obligatoire :
- Domaine : Un nom de domaine enregistrer et sa gestion disponible
- MX records : pour permettre la réception de courriel.
- SPF records : pour permettre l’envoie de messages sans être bannis par les « reverse lookup ».
Un serveur de relais (SMTP) externe seras nécessaire pour envoyer des courriels vers l’Internet si le port 25 est bloqué en entré (la majorité des cas).
Les fichiers de configuration sont :
- /etc/postfix/master.cf
- /etc/postfix/main.cf
h2. Installation
zypper install postfix perl-Mail-SP
wget http://download.opensuse.org/repositories/devel:/languages:/perl/openSUSE_Leap_42.1/noarch/postfix-policyd-spf-perl-2.010-3.1.noarch.rpm
rpm -Uhv postfix-policyd-spf-perl-2.010-3.1.noarch.rpm
systemctl enable postfix
systemctl start postfix
Ouvrir dans le pare-feu seulement si le serveur doit recevoir des courriels¶
yast firewall services add service=service:smtp zone=EXT
h2. Configuration de base
Si les courriels doivent sortir via un relais sur un autre serveur SMTP, modifier le fichier /etc/postfix/main.cf :
Inscrire votre serveur SMTP de sortie¶
relayhost = smtp_server
Spécifier toutes les interfaces¶
inet_interfaces = all
Choisir une des les lignes suivantes¶
# DNS server :
mydestination = $myhostname, localhost.$mydomain, $mydomain
# DNS forwarder pfSense :
mydestination = $myhostname, localhost.$mydomain
Permettre aux machines du réseau local, l'utilisation du serveur¶
smtpd_client_restrictions = permit_mynetworks
La ligne myhostname DOIT être la même que l’enregistrement DNS de type MX sur internet pour ce domaine.
h2. Création de «blacklist» et de «whitelist».
Informations provenant de : http://www.postfix.org/RESTRICTION_CLASS_README.html
Fichier /etc/postfix/main.cf
smtpd_recipient_restrictions =
...
check_sender_access hash: /etc/postfix/sender_access
Créer un fichier /etc/postfix/sender_access.
Placer à l’intérieur, l’adresse de courriel, le nom de domaine ou l’adresse IP avec l’une des options :
- OK
- REJECT
Modifier le fichier /etc/postfix/sender_access :
myfriend.com OK¶
myennemies.com REJECT¶
myfriend@example.com OK¶
junk@spam.com REJECT¶
marketing@ REJECT¶
theboss@ OK¶
deals.marketing.com REJECT¶
somedomain.com OK¶
101.15.251.176 REJECT
Relancer :
postmap /etc/postfix/sender_access
postfix reload
h3. Utilisation de services de « blacklist » internet :
Avant d'utiliser ses services, vérifier si l'usager envisagé est permis :
Modifier le fichier /etc/postfix/main.cf pour ajouter :
smtpd_recipient_restrictions =
...
reject_unauth_destination,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client b.barracudacentral.org,
permit
Relire la configuration
systemctl reload postix
h3. Utilisation des enregistrements SPF lors de la réception de courriel
Modifier le fichier /etc/postfix/main.cf et ajouter à la suite de la ligne smtpd_recipient_restrictions :
check_policy_service unix:private/policy
Modifier le fichier_/etc/postfix/master.cf_ eta jouter la ligne :
policy unix - n n - 0 spawn user=nobody argv=/usr/bin/perl /usr/lib/policyd-spf-perl
h3. Alias
Usagers systèmes devant être redirigé vers des comptes utilisateurs réel.
Les ajouter dans le fichier /etc/postfix/aliases
Lancer la commande newaliases pour activer les changements.
h3. Options courantes
Dans main.cf :
- message_size_limit :
h2. Entrés DNS
h3. A record
h3. MX record
h3. SPF record
Ajouter ceux du fournisseur internet
Le fournisseur et et tous ses abonnées pourront « se faire passer » pour le domaine !
h2. Test
h3. SPF
Envoyer un courriel à une des adresses suivantes :
h2. TLS
Site internet pour vérifier la configuration TLS :
- Envoie : https://www.checktls.com/perl/TestSender.pl
- Réception : https://www.checktls.com/perl/TestReceiver.pl
2 paramètres sont utilisés :
- smtp_tls_security_level : En envoie vers un autre serveur SMTP
- smtpd_tls_security_level : En réception d'un client
Les valeurs suivantes peuvent être utilisées :
- none : TLs n'est pas utilisé
- may : TLS est utilisé/annoncé au client distant mais n'est pas obligatoire (Opportunistic)
- encrypt : TLS DOIT être utilisé. Selon le "RFC 2487":http://tools.ietf.org/html/rfc2487, cette option ne devrait pas être utilisée avec des serveur publiques.
h3. Préalable
Dans le fichier /etc/postfix/master.cf, enlever le commentaire au début de la ligne
tlsmgr unix - - n 1000? 1 tlsmgr
Relire la configuration
systemctl reload postfix
h3. De Postfix vers un autre serveur SMTP
Dans le fichier /etc/postfix/mainc.cf
Utilise l'encryption si disponible¶
smtp_tls_security_level = may
Ajoute les messages TLS au journal¶
smtp_tls_loglevel = 1
Relire la configuration
systemctl reload postfix
h3. D'un client vers Postfix
Voir #54
Si un certificat externe n'est pas disponible, en généré un local :
cd /etc/postfix
openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509
Dans le fichier /etc/postfix/main./cf
Utilise l'encryption si disponible¶
smtpd_tls_security_level = may
Ajoute les messages TLs au journal¶
smtpd_tls_loglevel = 1
Fichiers du certificat¶
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
Relire la configuration
systemctl reload postfix.service
Si le serveur est disponible à partir d'internet, on peux faire un test avec https://starttls.info/
h2. Domaines supplémentaires
Voir #55
h2. Dépannage
La commande mailq permet de voir les requêtes en attentes.
h3. Messages ne s'envoient pas
Vu sur une nouvelle installation openSUSE 13.2
La commande postqueue -p affiche : address resolver failure
Modififer le fichier /etc/postfix/main.cf
disable_dns_lookups = yes
h3. Messages error: open database /etc/postfix/relay.db: No such file or directory
Vu sur une nouvelle installation openSUSE 13.2
Exécuter la commande
postmap /etc/postfix/relay
Mis à jour par Patrice Nadeau il y a environ 8 ans · 68 révisions