Outils pour utilisateurs

Outils du site


email

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
email [2013/01/20 17:34]
nicolas [/etc/postfix/main.cf] smtpd_sasl_authenticated_header
email [2019/04/18 14:46] (Version actuelle)
mart
Ligne 65: Ligne 65:
  
 Le fichier de config principal est ''/​etc/​postfix/​main.cf''​ Le fichier de config principal est ''/​etc/​postfix/​main.cf''​
-Voici un exemple de fichier ​fonctionnant,​ a adapter selon vos besoin.+Voici les options importantes (ou à modifier) par rapport au fichier ​par défaut
  
 <​code>​ <​code>​
-smtpd_banner = $myhostname ESMTP $mail_name (Debian/​GNU) +# Les domaines depuis lesquels on va recevoir des mails 
-biff no +virtual_mailbox_domains ​example.com,​ domain.net, monsite.org 
-append_dot_mydomain = no +Dossier de base de stockage des mails 
-readme_directory = no +virtual_mailbox_base ​= /home/vmail 
- +# C'est là qu'on va stocker la liste des emails 
-TLS parameters +virtual_mailbox_maps ​hash:/etc/postfix/vmaps 
-smtpd_tls_cert_file ​= /etc/ssl/​certs/​smtpd.crt +virtual_minimum_uid ​100 
-smtpd_tls_key_file ​= /etc/ssl/private/​smtpd.key +# UID du user et group vmail 
-smtpd_use_tls=yes +virtual_uid_maps ​static:5000 
-smtpd_tls_session_cache_database ​btree:${data_directory}/​smtpd_scache +virtual_gid_maps ​static:5000 
-smtp_tls_session_cache_database ​btree:${data_directory}/​smtp_scache +virtual_alias_maps ​hash:/etc/postfix/virtual 
-smtp_tls_security_level = may +# 5GB de taille max des boites virtuelles 
-smtpd_tls_security_level = may +virtual_mailbox_limit ​5368709120
-smtpd_tls_auth_only = no +
-smtp_tls_note_starttls_offer = yes +
-smtpd_tls_CAfile ​= /etc/ssl/certs/​cacert.pem +
-smtpd_tls_loglevel = 1 +
-smtpd_tls_received_header ​yes +
-smtpd_tls_session_cache_timeout = 3600s +
-tls_random_source = dev:/​dev/​urandom+
  
-# remplacer par votre FQDN (hostname --long) 
-myhostname = example.com 
-mydomain = localhost 
-alias_maps = hash:/​etc/​aliases 
-alias_database = hash:/​etc/​aliases 
-# Verifiez que /​etc/​mailname contient le résultat de "​hostname --long"​ 
-myorigin = /​etc/​mailname 
-# on va utiliser des virtual_mailbox_domains donc pas de domaine ici 
-mydestination = localhost 
-relayhost =  
 # la liste des ip depuis lesquelles on peut accéder au serveur smtp # la liste des ip depuis lesquelles on peut accéder au serveur smtp
 # on commente car on va utiliser SASL-auth pour contrôler # on commente car on va utiliser SASL-auth pour contrôler
 # mynetworks = 127.0.0.0/8 [::​ffff:​127.0.0.0]/​104 [::1]/128 # mynetworks = 127.0.0.0/8 [::​ffff:​127.0.0.0]/​104 [::1]/128
 +
 # 5GB de mailbox max # 5GB de mailbox max
 mailbox_size_limit = 5368709120 mailbox_size_limit = 5368709120
 +
 +# faire du dot addressing
 recipient_delimiter = + recipient_delimiter = +
-inet_interfaces = all + 
-inet_protocols = all +# 50MB de piece jointe max, on est plus en 2000
-home_mailbox = Maildir/ +
-# 50MB de piece jointe max+
 message_size_limit = 52428800 message_size_limit = 52428800
  
Ligne 125: Ligne 109:
 # Table d'​autorisation d'​adresse mail par login SASL # Table d'​autorisation d'​adresse mail par login SASL
 smtpd_sender_login_maps = hash:/​etc/​postfix/​sender_login smtpd_sender_login_maps = hash:/​etc/​postfix/​sender_login
- 
- 
-# Virtual 
-# Les domaines depuis lesquels on va recevoir des mails 
-virtual_mailbox_domains = example.com,​ domain.net, monsite.org 
-# Dossier de base de stockage des mails 
-virtual_mailbox_base = /home/vmail 
-# C'est là qu'on va stocker la liste des emails 
-virtual_mailbox_maps = hash:/​etc/​postfix/​vmaps 
-virtual_minimum_uid = 100 
-# UID du user et group vmail 
-virtual_uid_maps = static:5000 
-virtual_gid_maps = static:5000 
-virtual_alias_maps = hash:/​etc/​postfix/​virtual 
-# 5GB de taille max des boites virtuelles 
-virtual_mailbox_limit = 5368709120 
  
 # pour refuser les adresses non définies # pour refuser les adresses non définies
Ligne 189: Ligne 157:
 postmaster@example.com ​ bob+postmaster@example.com</​code>​ postmaster@example.com ​ bob+postmaster@example.com</​code>​
  
-Pour que tout les mails de Bob reçu à la première adresse soit reçu par la deuxième (ça fonctionne aussi pour les adresses sur des domaines externes. Notez que selon la [[https://​tools.ietf.org/​html/​rfc5321#​section-4.5.1|RFC5321]] demande d'​avoir une adresse ''​postmaster@''​ existante pour chaque domaine. Ce fichier est un bon endroit pour faire les redirections nécessaires.+Pour que tout les mails de Bob reçu à la première adresse soit reçu par la deuxième (ça fonctionne aussi pour les adresses sur des domaines externes. Notez que selon la [[https://​tools.ietf.org/​html/​rfc5321#​section-4.5.1|RFC5321]] demande d'​avoir une adresse ''​postmaster@''​ existante pour chaque domaine.
  
 Pour générer la base de donnée de vmaps et virtual. Pour générer la base de donnée de vmaps et virtual.
Ligne 198: Ligne 166:
 Et on redémarre le serveur ! Et on redémarre le serveur !
  
-<​code>​/​etc/​init.d/​postfix ​restart</​code>​+<​code>​systemctl ​restart ​postfix</​code>​ 
 + 
 +=== Astuce anti-spam === 
 + 
 +Via le fichier ''​virtual'',​ vous pouvez facilement créer des alias et faire votre service d'​email jetables. En vous inscrivant sur un site suspect, ajoutez une ligne ''​nom-site-suspect@example.com compte-principal+nom-site=suspect@example.com''​ et régénérez le fichier via ''​postmap''​. Tous les emails seront delivres a votre adresse principale et vous pourrez facilement identifier la source de spam et la supprimer en enlevant la ligne ou la redirigeant vers un autre compte.
  
 ==== Test SMTP ==== ==== Test SMTP ====
Ligne 236: Ligne 208:
 Si vous testez de vous connecter depuis l'​extérieur,​ vous aurez besoin de vous authentifier. Configurez d'​abord Dovecot (suite du tutoriel). Un exemple de communication SMTP avec authentification est donné [[http://​gerardnico.com/​wiki/​smtp_telnet|ici]]. Si vous testez de vous connecter depuis l'​extérieur,​ vous aurez besoin de vous authentifier. Configurez d'​abord Dovecot (suite du tutoriel). Un exemple de communication SMTP avec authentification est donné [[http://​gerardnico.com/​wiki/​smtp_telnet|ici]].
 ==== Maildrop ==== ==== Maildrop ====
 +
 +//TODO remplacer cette section par sieve//
  
 Cette section est **optionnelle**. Le serveur mail fonctionnera très bien si vous laissez Postfix gérer la réception des mails. Seulement, si l'on veut appliquer des filtres, SpamAssassin et autres, l'​utilisation de maildrop peut être utile. Si vous utilisez maildrop, le contenu du fichier ''/​etc/​postfix/​vmaps''​ change de rôle. Il est nécessaire de continuer à lister chaque adresse email présente dans ce fichier (sinon les mail reçu seront rejetés) mais la seconde partie de la ligne (le dossier de destination),​ n'a plus d'​importance. Cette section est **optionnelle**. Le serveur mail fonctionnera très bien si vous laissez Postfix gérer la réception des mails. Seulement, si l'on veut appliquer des filtres, SpamAssassin et autres, l'​utilisation de maildrop peut être utile. Si vous utilisez maildrop, le contenu du fichier ''/​etc/​postfix/​vmaps''​ change de rôle. Il est nécessaire de continuer à lister chaque adresse email présente dans ce fichier (sinon les mail reçu seront rejetés) mais la seconde partie de la ligne (le dossier de destination),​ n'a plus d'​importance.
Ligne 260: Ligne 234:
 <​code>​DEFAULT="/​home/​vmail/​$1/​$2"</​code>​ <​code>​DEFAULT="/​home/​vmail/​$1/​$2"</​code>​
  
-Le [[http://​en.gentoo-wiki.com/​wiki/​Maildrop#​Configuration|wiki de Gentoo]] donne plusieurs exemples de règles de filtrage que l'on peut mettre. Voici par exemple, une que j'​utilise pour rediriger les mails venant d'une instance StatusNet dans le sous dossier StatusNet et une autre pour rediriger sur base de l'​adresse de la personne qui envoie.+Le [[http://​en.gentoo-wiki.com/​wiki/​Maildrop#​Configuration|wiki de Gentoo]] ​(down ? [[http://​web.archive.org/​web/​20130404224643/​http://​en.gentoo-wiki.com/​wiki/​Maildrop|archive]]) ​donne plusieurs exemples de règles de filtrage que l'on peut mettre. Voici par exemple, une que j'​utilise pour rediriger les mails venant d'une instance StatusNet dans le sous dossier StatusNet et une autre pour rediriger sur base de l'​adresse de la personne qui envoie.
  
 <​code>#​ Redirect to statusnet subdomain <​code>#​ Redirect to statusnet subdomain
Ligne 355: Ligne 329:
     args = /​etc/​dovecot/​users     args = /​etc/​dovecot/​users
 } }
 +
 +## /​etc/​dovecot/​10-auth.conf
 +!include auth-passwdfile.conf.ext
 +
 +## /​etc/​dovecot/​conf.d/​auth-passwdfile.conf.ext
 +passdb {
 +  driver = passwd-file
 +  args = scheme=CRAM-MD5 username_format=%u /​etc/​dovecot/​passwd
 +}
 +
 </​code>​ </​code>​
  
 +==== Multidomaine et SSL ====
 +
 +Si vous avez plusieurs domaines email, il y a des chances que vous ayez également plusieurs certificats SSL. Si vous voulez éviter les grosses alertes de sécurité lorsque vous accédez à vos emails, vous pouvez modifier la configuration Dovecot pour utiliser des certificats en fonction du domaine.
 +
 +<​code>​
 +ssl_cert = </​etc/​ssl/​certs/​certificat_global.pem
 +ssl_key = </​etc/​ssl/​certs/​clef_global.key
 +...
 +local_name imap.domaine1.org {
 +  ssl_cert = </​etc/​ssl/​certs/​imap.domaine1.org.pem
 +  ssl_key = </​etc/​ssl/​private/​imap.domaine1.org.key
 +}
 +local_name imap.domaine2.org {
 +  ssl_cert = </​etc/​ssl/​certs/​imap.domaine2.crt
 +  ssl_key = </​etc/​ssl/​private/​imap.domaine2.key
 +}
 +</​code>​
 +
 +Et pour vérifier que le bon certificat est bien sélectionné:​ ''​openssl s_client -connect imap.domaine2.org:​993 -servername imap.domaine2.org''​.
 +
 +Attention que le filtre est fait sur le //TLS SNI (Server Name Indication)//,​ une fonctionnalité que tous les clients mail n'​implémentent pas. Thunderbird le fait, pas K9 mail (Android) par exemple. Dans le cas d'un client qui ne l'​implémente pas, vous retomberez sur le certificat global. Il suffit de retirer le ''​-servername imap.domaine2.org''​ dans la commande openssl pour voir le résultat.
 ==== Création d'​utilisateur ==== ==== Création d'​utilisateur ====
  
Ligne 495: Ligne 500:
 Et on redémarre ! Et on redémarre !
  
-<​code>​/​etc/​init.d/​dovecot ​restart</​code>​+<​code>​systemcl ​restart ​dovecot</​code>​
  
 ===== Score de spam ===== ===== Score de spam =====
Ligne 711: Ligne 716:
 add_header spam Waw c'est du spam _STARS(*)_ ca</​code>​ add_header spam Waw c'est du spam _STARS(*)_ ca</​code>​
  
 +==== fail2ban ====
 +
 +Installer le package **fail2ban** et activer dans ''/​etc/​fail2ban/​jail.conf''​ les regles ''​postfix'',​ ''​dovecot''​ et ''​sasl''​.
  
 ===== Autre ===== ===== Autre =====
  
 +==== plus-addressing ====
 +
 +Une fonctionnalité intéressante dans Gmail est le "​plus-addressing",​ le fait de pouvoir créer une infinité d'​adresse email de type nom+alias@serveur.com. Dans postfix, c'est facilement reproductible (sans doute même activé par défaut il me semble).
 +
 +Dans le fichier ''/​etc/​postfix/​main.cf'',​ chercher la ligne suivante (l'​ajouter si inexistante)
 +
 +<​code>​recipient_delimiter = +</​code>​
 +
 +Cela spécifie que le symbole + sera considéré comme délimiteur. Si vous changez le "​+"​ par "​.",​ "​_"​ ou autre, il deviendra le nouveau délimiteur. Cela vous permet donc de crever des adresses de type nom.alias@serveur.com a la place. Certains formulaires refusant les + ou les retirant automatiquement,​ vous servez ainsi paré (évidement ne fonctionne pas si votre adresse est prenom.nom@serveur.com).
 ==== Prolongements ==== ==== Prolongements ====
 La page [[fonction_mail_php|msmtp]] explique comment envoyer des mails en ligne de commande et avec PHP après avoir configuré ce serveur mail. La page [[fonction_mail_php|msmtp]] explique comment envoyer des mails en ligne de commande et avec PHP après avoir configuré ce serveur mail.
email.1358699650.txt.gz · Dernière modification: 2019/04/02 11:14 (modification externe)