Outils pour utilisateurs

Outils du site


linux:postfix (lu 806 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
linux:postfix [12-07-2013 13:53]
edmc73
linux:postfix [06-05-2023 20:50] (Version actuelle)
edmc73
Ligne 1: Ligne 1:
 ====== Postfix ====== ====== Postfix ======
  
-http://postfix.traduc.org/index.php/BASIC_CONFIGURATION_README.html#relay_to+===== Fonctionnement de base juste pour envoyer des mails =====
  
-http://www.system-linux.eu/index.php?post/2009/01/27/Traitement-de-Queue-mail-Postfix#dotpoll8+La config **/etc/postfix/main.cf**
  
 +<code>
 +# See /usr/share/postfix/main.cf.dist for a commented, more complete version
 +
 +
 +# Debian specific:  Specifying a file name will cause the first
 +# line of that file to be used as the name.  The Debian default
 +# is /etc/mailname.
 +#myorigin = /etc/mailname
 +
 +smtpd_banner = $myhostname ESMTP $mail_name (Raspbian)
 +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
 +
 +readme_directory = no
 +
 +# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
 +# fresh installs.
 +compatibility_level = 2
 +
 +
 +
 +# TLS parameters
 +smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
 +smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
 +smtpd_tls_security_level=may
 +
 +smtp_tls_CApath=/etc/ssl/certs
 +smtp_tls_security_level=may
 +smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
 +smtpd_use_tls = yes
 +smtpd_enforce_tls = yes
 +
 +smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
 +myhostname = myserver.edmc73.com
 +alias_maps = hash:/etc/aliases
 +alias_database = hash:/etc/aliases
 +canonical_maps = hash:/etc/postfix/canonical
 +myorigin = /etc/mailname
 +mydestination = $myhostname, myserver.edmc73.com, myserver, localhost.localdomain, localhost
 +relayhost =
 +mynetworks = 127.0.0.0/8
 +mailbox_size_limit = 0
 +recipient_delimiter = +
 +inet_interfaces = 127.0.0.1
 +inet_protocols = all
 +
 +</code>
 +
 +J'ai volontairement désactivé tout ce qui est en rapport avec ipv6 car trop compliqué...
 +
 +J'ai ajouté les options tls et le **canonical_maps**
 +
 +Modifiez vos aliases en ajoutant à la fin du fichier **/etc/aliases**
 +  root: mon@mail.com
 +
 +Puis lancer la commande
 +  newaliases
 +  
 +Créez ou modifiez le fichier **/etc/postfix/canonical**
 +  root@myserver  root@myserver.edmc73.com
 +
 +Puis lancer la commande
 +  postmap /etc/postfix/canonical
 +
 +Relancer Postfix
 +  systemctl restart postfix
 +
 +Tester l'envoi d'un mail
 +  mail -s "test d'un mail" root <<< 'blablabla'
 +
 +Vérifiez dans les log
 +  vi /var/log/mail.log
 +
 +===== Ce qui suit date ! =====
 +  * http://www.skyminds.net/serveur-dedie-creation-dun-serveur-mail-postfix-securise-avec-saslauthd-et-certificat-ssl-et-courier-acces-pop-et-imap-utilisant-une-base-mysql-dutilisateurs-domaines-virtuels/
 +  * http://postfix.traduc.org/index.php/BASIC_CONFIGURATION_README.html#relay_to
 +  * http://www.system-linux.eu/index.php?post/2009/01/27/Traitement-de-Queue-mail-Postfix#dotpoll8
 +
 +Un super site en français => http://x.guimard.free.fr/postfix/
 +===== Configuration =====
 +
 +Au départ voici les fichiers que vous avez
 +  :/etc/postfix]# ls
 +  dynamicmaps.cf  main.cf  master.cf  postfix-files  postfix-script  post-install  sasl
 +
 +Au final vous aurez
 +  :/etc/postfix]# ls
 +  dynamicmaps.cf  generic  generic.db  main.cf  master.cf  postfix-files  postfix-script  post-install  sasl  transport  transport.db
 +
 +==== dynamicmaps.cf ====
 +:!: Je ne l'utilise pas pour l'instant
 +
 +==== generic et generic.db ====
 +Permet de renommer l'adresse email de l'expéditeur. Par exemple
 +  root@edmc73.com     system@edmc73.com
 +  www-data@edmc73.com webmaster@edmc73.com
 +
 +Les mails envoyés par l'utilisateur local www-data auront comme adresse webmaster@...
 +
 +Ajouter dans le fichier de conf **/etc/postfix/main.cf**
 +  smtp_generic_maps = hash:/etc/postfix/generic
 +
 +Exemple de fichier **/etc/postfix/generic**
 +  his@localdomain.local   hisaccount@hisisp.example
 +  her@localdomain.local   heraccount@herisp.example
 +  @localdomain.local      hisaccount+local@hisisp.example
 +
 +Ne pas oublier d'exécuter la commande suivante afin de regénérer le fichier generic.db utilisé par postfix
 +  postmap /etc/postfix/generic
 +  
 +Et de recharger la config de postfix
 +  service postfix reload
 +
 +==== main.cf ====
 +**main.cf** est le fichier de configuration principal.
 +
 +
 +
 +
 +==== master.cf ====
 +
 +Rien à faire de spécial
 +
 +==== postfix-files, postfix-script et post-install ====
 +
 +Ne pas toucher
 +
 +==== sasl ====
 +
 +Sert à sécuriser le SMTP. Assez compliqué, plus d'info => http://postfix.traduc.org/index.php/SASL_README.html
 +
 +==== transport et transport.db ====
 +Typiquement, on utilise la table transport(5) pour envoyer du courrier à un système non connecté à Internet, ou pour utiliser une configuration de client SMTP particulière pour des destinations ayant des conditions spéciales.
 +
 +Dans le cas des mails envoyés vers orange et wanadoo, il faut ralentir le trafic sous peine d'être bloqué. On renseignera le fichier **transport** comme suit
 +  wanadoo.com slow:
 +  wanadoo.fr slow:
 +  orange.com slow:
 +  orange.fr slow:
 +
 +suivi de la commande
 +  postmap transport
 +
 +On rajoutera à la fin du fichier **master.cf**
 +  #==========================================================================
 +  # service type private unpriv chroot wakeup maxproc command + args
 +  # (yes) (yes) (yes) (never) (100)
 +  #==========================================================================
 +  slow unix - - n - 5 smtp -o syslog_name=postfix-slow -o smtp_destination_concurrency_limit=3 -o slow_destination_rate_delay=1
 +
 +Puis ceci dans le fichier **main.cf**
 +  transport_maps = hash:/etc/postfix/transport
 +  slow_destination_recipient_limit = 20
 +  slow_destination_concurrency_limit = 2
 +
 +On relis la config
 +  service postfix reload
 +
 +==== mailname ====
 +
 +Le fichier **/etc/mailname** contient le nom de domaine par défaut qui sera inscrit après l'@. Pour qu'il soit pris en compte, la ligne suivante doit se trouver dans votre **main.cf**
 +  myorigin = /etc/mailname
  
 ===== Commandes ===== ===== Commandes =====
Ligne 58: Ligne 225:
 Ensuite taper cette commande : Ensuite taper cette commande :
   postqueue -s example.com   postqueue -s example.com
 +  
 +===== Problème avec Wanadoo Orange =====
 +
 +http://michauko.org/blog/ralentir-le-debit-de-postfix-pour-wanadooorange-1302/
 +
 +DÉTAILS DE LA SOLUTION : TRANSPORT SPÉCIFIQUE POUR ORANGE/WANADOO
 +
 +  vi /etc/postfix/transport
 +
 +  wanadoo.com slow:
 +  wanadoo.fr slow:
 +  orange.com slow:
 +  orange.fr slow:
 +
 +puis
 +  postmap /etc/postfix/transport
 +
 +  vi /etc/postfix/master.cf
 +
 +<code>#==========================================================================
 +# service type private unpriv chroot wakeup maxproc command + args
 +# (yes) (yes) (yes) (never) (100)
 +#==========================================================================
 +slow unix - - n - 5 smtp -o syslog_name=postfix-slow -o smtp_destination_concurrency_limit=3 -o slow_destination_rate_delay=1</code>
 +
 +  vi /etc/postfix/main.cf
 +  
 +<code>transport_maps = hash:/etc/postfix/transport
 +  slow_destination_recipient_limit = 20
 +  slow_destination_concurrency_limit = 2</code>
 +
 +et finalement : 
 +  /etc/init.d/postfix reload
 +
 +Les mails se stockent tout de même en queue, mais la file se vide ensuite relativement rapidement 
 +
 +===== Statistiques =====
 +
 +https://www.zabbix.com/wiki/howto/monitor/mail/postfix/monitoringpostfix
 +
 +Ce lien explique comment superviser postfix avec zabbix mais on peut découvrir aussi le script **pflogsumm.pl** qui permet de ressortir des stats.
 +
 +===== DKIM =====
 +
 +Ajouter une signature DKIM à vos emails sortant => http://blog.tjitjing.com/index.php/2012/03/guide-to-install-opendkim-for-multiple-domains-with-postfix-and-debian.html
 +
 +Un autre tuto très bien détaillé => http://lea-linux.org/documentations/DKIM_SPF_Postfix
 +
 +
 +===== SSL / TLS =====
 +
 +Ajouter un certificat SSL valide et configurer le TLS.
 +
 +Utilisons [[linux:ssl|letsencrypt]] pour récupérer un certificat.
 +
 +Créez en 1er une config apache qui permet d'accéder à http://mail.domain.tld pour permettre de valider que le nom de domaine vous appartient.
 +
 +  ./cert-auto certonly --rsa-key-size 4096 -d mail.domain.tld --email admin@domain.tld
 +
 +Bon, je l'avais déjà lancé donc il me demande si je veux le recréer mais vous devrez avoir quelque chose de similaire.
 +<code>
 +Saving debug log to /var/log/letsencrypt/letsencrypt.log
 +Cert not yet due for renewal
 +
 +You have an existing certificate that has exactly the same domains or certificate name you requested and isn't close to expiry.
 +(ref: /etc/letsencrypt/renewal/mail.domain.tld.conf)
 +
 +What would you like to do?
 +-------------------------------------------------------------------------------
 +1: Attempt to reinstall this existing certificate
 +2: Renew & replace the cert (limit ~5 per 7 days)
 +-------------------------------------------------------------------------------
 +Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1
 +Keeping the existing certificate
 +Created an SSL vhost at /etc/apache2/sites-available/mail.domain.tld-le-ssl.conf
 +Deploying Certificate to VirtualHost /etc/apache2/sites-available/mail.domain.tld-le-ssl.conf
 +Enabling available site: /etc/apache2/sites-available/mail.domain.tld-le-ssl.conf
 +
 +Please choose whether HTTPS access is required or optional.
 +-------------------------------------------------------------------------------
 +1: Easy - Allow both HTTP and HTTPS access to these sites
 +2: Secure - Make all requests redirect to secure HTTPS access
 +-------------------------------------------------------------------------------
 +Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
 +Redirecting vhost in /etc/apache2/sites-available/mail.domain.tld.conf to ssl vhost in /etc/apache2/sites-available/mail.domain.tld-le-ssl.conf
 +
 +-------------------------------------------------------------------------------
 +Congratulations! You have successfully enabled https://mail.domain.tld
 +
 +You should test your configuration at:
 +https://www.ssllabs.com/ssltest/analyze.html?d=mail.domain.tld
 +-------------------------------------------------------------------------------
 +</code>
 +On peut voir ici que certbot modifie votre fichier de conf apache et crée une nouvelle config apache pour **-le-ssl.conf**, il reload apache tout seul.
 +
 +Maintenant ajoutez le code suivant dans votre **main.cf**
 +<code>
 +# logging
 +smtpd_tls_loglevel = 1
 +# Allow use of TLS but make it optional
 +smtp_use_tls=yes
 +# Disable SSLv2/3 as they are vulnerable
 +smtpd_tls_protocols = !SSLv2, !SSLv3
 +smtp_tls_protocols = !SSLv2, !SSLv3
 +# Insist on stronger ciphers
 +smtpd_tls_ciphers = high
 +smtp_tls_ciphers = high
 +# keys
 +smtp_tls_cert_file = /etc/letsencrypt/live/mail.domain.tld/fullchain.pem
 +smtp_tls_key_file = /etc/letsencrypt/live/mail.domain.tld/privkey.pem
 +</code>
 +Restartez votre postfix
 +  service postfix restart
 +
 +et voila :)
 +  * doc plus poussé => http://donnlee.com/2016/11/27/postfix-smtp-configuration-sending-relay-email-to-gmail-and-other-internet-mail-servers/
linux/postfix.1373630031.txt.gz · Dernière modification: 12-07-2013 13:53 de edmc73