serveur:mail

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
serveur:mail [2021/01/01 19:18] – [Configuration d’Amavis-new] d2airserveur:mail [2021/05/13 10:48] (Version actuelle) – [Création d’un serveur virtuel Apache2] d2air
Ligne 152: Ligne 152:
         SSLCertificateFile      /etc/letsencrypt/live/pma.hostname.domaine.eu/cert.pem         SSLCertificateFile      /etc/letsencrypt/live/pma.hostname.domaine.eu/cert.pem
         SSLCertificateKeyFile   /etc/letsencrypt/live/pma.hostname.domaine.eu/privkey.pem         SSLCertificateKeyFile   /etc/letsencrypt/live/pma.hostname.domaine.eu/privkey.pem
-        Header always add Strict-Transport-Security "max-age=63072000; preload" +        <IfModule mod_headers.c> 
-        Header always set X-Content-Type-Options "nosniff" +                Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload" 
-        Header always set X-Frame-Options DENY +                Header always set X-Content-Type-Options "nosniff" 
-        Header always set X-XSS-Protection "1; mode=block"+                Header always set X-Frame-Options "DENY" 
 +                Header always set X-XSS-Protection "1; mode=block" 
 +                Header set Content-Security-Policy-Report-Only "default-src 'self'" 
 +        </IfModule>
  
         #   Certificate Authority (CA):         #   Certificate Authority (CA):
Ligne 313: Ligne 316:
 Configurons Postfix  pour utiliser TLS avec un certificat Let’s Encrypt : Configurons Postfix  pour utiliser TLS avec un certificat Let’s Encrypt :
 <code> <code>
 +apt install python3-pip python3-dnslib
 +pip3 install certbot-dns-standalone
 systemctl stop postfix systemctl stop postfix
-certbot certonly --standalone -d mail.domaine.eu --email webmaster@domaine.eu --rsa-key-size 4096+certbot --non-interactive --agree-tos --email webmaster@domaine.eu certonly 
 +  --preferred-challenges dns --authenticator certbot-dns-standalone:dns-standalone \ 
 +  --certbot-dns-standalone:dns-standalone-address=0.0.0.0 \ 
 +  --certbot-dns-standalone:dns-standalone-ipv6-address=::
 +  --certbot-dns-standalone:dns-standalone-port=53 \ 
 +  -d mail.domaine.eu --email webmaster@domaine.eu --rsa-key-size 4096
 systemctl start postfix systemctl start postfix
 </code> </code>
Ligne 478: Ligne 488:
  
 smtpd_recipient_restrictions = smtpd_recipient_restrictions =
 + reject_rbl_client xbl.spamhaus.org,
 + reject_rbl_client pbl.spamhaus.org,
 + reject_rbl_client sbl.spamhaus.org,
 + reject_rbl_client multi.uribl.com,
 + reject_rbl_client rbl-plus.mail-abuse.org,
 + reject_rbl_client dialups.mail-abuse.org,
  reject_invalid_hostname,  reject_invalid_hostname,
  reject_non_fqdn_hostname,  reject_non_fqdn_hostname,
Ligne 489: Ligne 505:
  reject_unauth_destination,  reject_unauth_destination,
  reject_unverified_recipient,  reject_unverified_recipient,
- check_policy_service unix:private/policy-spf, 
  permit  permit
  
Ligne 511: Ligne 526:
 smtpd_hard_error_limit = 20 smtpd_hard_error_limit = 20
  
-myhostname = hostname.domaine.eu+myhostname = host.domaine.eu 
 +mydomain = domaine.eu 
 +#myorigin = /etc/mailname 
 +myorigin = $mydomain 
 +mydestination = $myhostname, localhost.$mydomain, mail.$mydomain, lists.$mydomain, host, localhost 
 +mynetworks = 127.0.0.0/8 [:: ffff:127.0.0.0]/104 [::1]/128 
 +relayhost = 
 +relay_domains = lists.domaine.eu
 alias_maps = hash:/etc/aliases alias_maps = hash:/etc/aliases
 alias_database = hash:/etc/aliases alias_database = hash:/etc/aliases
-mydestination = hostname, hostname.domaine.eu, mail.domaine.eu, localhost.domaine.eu, localhost.localdomain, localhost 
-mydomain = domaine.eu 
-myorigin = $mydomain 
-mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 
-relayhost =  
-default_transport = smtp 
-relay_transport = smtp 
 mailbox_size_limit = 51200000 mailbox_size_limit = 51200000
 message_size_limit = 25600000 message_size_limit = 25600000
Ligne 828: Ligne 843:
 <file sh main.cf> <file sh main.cf>
 smtpd_recipient_restrictions = smtpd_recipient_restrictions =
-        reject_invalid_hostname, + reject_rbl_client xbl.spamhaus.org, 
-        reject_non_fqdn_hostname, + reject_rbl_client pbl.spamhaus.org, 
-        reject_non_fqdn_sender, + reject_rbl_client sbl.spamhaus.org, 
-        reject_non_fqdn_recipient, + reject_rbl_client multi.uribl.com, 
-        reject_unknown_sender_domain, + reject_rbl_client rbl-plus.mail-abuse.org, 
-        reject_unknown_recipient_domain, + reject_rbl_client dialups.mail-abuse.org, 
-        reject_unauth_destination, + reject_invalid_hostname, 
-        reject_unverified_recipient, + reject_non_fqdn_hostname, 
-        permit_mynetworks, + reject_non_fqdn_sender, 
-        permit_sasl_authenticated, + reject_non_fqdn_recipient, 
-        permit_auth_destination, + reject_unknown_sender_domain, 
-        check_policy_service unix:private/policy-spf+ reject_unknown_recipient_domain, 
-        check_policy_service inet:127.0.0.1:10023, + permit_mynetworks, 
-        permit+ permit_sasl_authenticated, 
 + permit_auth_destination, 
 + reject_unauth_destination, 
 + reject_unverified_recipient
 + check_policy_service inet:127.0.0.1:10023, 
 + permit
 </file> </file>
 Puis il faut relancer Postfix en surveillant les logs : Puis il faut relancer Postfix en surveillant les logs :
Ligne 890: Ligne 910:
  
 Les options ''-o'' indiquées surchargeront éventuellement celles qui seraient données dans ''main.cf'' pour les services en question, c'est à dire d'une part smtp-amavis et d'autre part le service smtpd attaché à amavis sur le port 10025. Les options ''-o'' indiquées surchargeront éventuellement celles qui seraient données dans ''main.cf'' pour les services en question, c'est à dire d'une part smtp-amavis et d'autre part le service smtpd attaché à amavis sur le port 10025.
 +
 +Ajoutez aussi les deux lignes suivantes immédiatement en dessous du service de transport "pickup" :
 +<file sh master.cf>
 +pickup    unix  n                   60      1       pickup
 +  -o content_filter=
 +  -o receive_override_options=no_header_body_checks
 +</file>
 +Ceci empêchera la classification en tant que pourriel des messages de rapport de pourriels.
  
 De plus, il faut modifier le fichier main.cf pour indiquer à Postfix que smtpd doit se connecter à Amavis, mais il y a juste une ligne à ajouter : De plus, il faut modifier le fichier main.cf pour indiquer à Postfix que smtpd doit se connecter à Amavis, mais il y a juste une ligne à ajouter :
Ligne 1004: Ligne 1032:
   * [[https://bogofilter.sourceforge.io/|Bogofilter]] est un filtre antispam efficace, comme alternative ou comme complément à [[https://spamassassin.apache.org/|Spamassassin]].   * [[https://bogofilter.sourceforge.io/|Bogofilter]] est un filtre antispam efficace, comme alternative ou comme complément à [[https://spamassassin.apache.org/|Spamassassin]].
 ==== Paquets facultatifs ==== ==== Paquets facultatifs ====
-Il existe des paquets facultatifs qui s'intègrent avec Spamassassin pour une meilleure détection des spams :+Il existe des paquets facultatifs qui sintègrent avec Spamassassin pour une meilleure détection des spams :
 <code sh> <code sh>
 apt install pyzor razor apt install pyzor razor
 +</code>
 +Puis :
 +<code sh>
 +user@host:~# su - amavis -s /bin/bash
 +$ razor-admin -create
 +$ razor-admin -register
 </code> </code>
 ==== Activation du service ==== ==== Activation du service ====
Ligne 1035: Ligne 1069:
 systemctl restart spamassassin systemctl restart spamassassin
 </code> </code>
-Pour vérifier si cela fonctionne, envoyez vous un e-mail d'un autre fournisseur et vous devriez voir les en-têtes suivantes :+==== Vérifier le fonctionnement  ==== 
 +Pour vérifier si cela fonctionne, envoyez-vous un e-mail dun autre fournisseur et vous devriez voir des en-têtes plus ou moins semblables aux suivantes :
 <code> <code>
-X-Spam-Checker-VersionSpamAssassin 3.4.0 (2014-02-07) on +X-Virus-ScannedDebian amavisd-new at host.domaine.eu 
- host.domaine.eu+X-Spam-Flag: NO 
 +X-Spam-Score: 0.001
 X-Spam-Level: X-Spam-Level:
 +X-Spam-Status: No, score=0.001 tagged_above=-9999 required=5
 + tests=[HTML_MESSAGE=0.001] autolearn=ham autolearn_force=no
 </code> </code>
 ===== Configurer SPF ===== ===== Configurer SPF =====
-==== Permettre à votre serveur d'envoyer pour votre domaine ==== +==== Permettre à votre serveur denvoyer pour votre domaine ==== 
-SPF (Sender Policy Framework) est un mécanisme qui confirme que l'IP de votre serveur est autorisé à envoyer des e-mails pour votre domaine. Techniquement, il est un enregistrement DNS TXT qui ressemble à ceci:+SPF (Sender Policy Framework) est un mécanisme qui confirme que lIP de votre serveur est autorisé à envoyer des e-mails pour votre domaine. Techniquement, il est un enregistrement DNS TXT qui ressemble à ceci :
 <code> <code>
 domaine.eu.     IN      TXT     "v=spf1 mx ip4:0.0.0.1 ~all" domaine.eu.     IN      TXT     "v=spf1 mx ip4:0.0.0.1 ~all"
 </code> </code>
-Cet enregistrement DNS permet aux autres serveurs de messagerie de savoir que les serveurs qui possèdent un enregistrement MX pour mon domaine sont également autorisés à envoyer des e-mails. Pour plus d'informations sur la syntaxe SPF, vous pouvez consulter la [[http://www.openspf.org/SPF_Record_Syntax|documentation officielle]].+Cet enregistrement DNS permet aux autres serveurs de messagerie de savoir que les serveurs qui possèdent un enregistrement MX pour mon domaine sont également autorisés à envoyer des e-mails. Pour plus dinformations sur la syntaxe SPF, vous pouvez consulter la [[http://www.open-spf.org/SPF_Record_Syntax/|documentation officielle]].
 Sans un enregistrement SPF correctement configuré, les autres serveurs de messagerie pourraient considérer vos courriers comme un SPAM ou carrément les laisser tomber. Sans un enregistrement SPF correctement configuré, les autres serveurs de messagerie pourraient considérer vos courriers comme un SPAM ou carrément les laisser tomber.
 ==== SPF Record pour les courriers entrants ==== ==== SPF Record pour les courriers entrants ====
-Maintenant que nous avons mis en place notre propre enregistrement SPF, nous allons configurer Postfix pour vérifier que d'autres serveurs de messagerie puissent communiquer avec nous comme nous avons fait. +Maintenant que nous avons mis en place notre propre enregistrement SPF, nous allons configurer Postfix pour vérifier que dautres serveurs de messagerie puissent communiquer avec nous comme nous avons fait. 
-Tout d'abord, nous allons ajouter les deux lignes suivantes à la fin de ''/etc/postfix-policyd-spf-python/policyd-spf.conf'' :+Avant tout, nous allons ajouter les deux lignes suivantes à la fin de ''/etc/postfix-policyd-spf-python/policyd-spf.conf'' :
 <file sh policyd-spf.conf> <file sh policyd-spf.conf>
 Header_Type = AR Header_Type = AR
 Authserv_Id = hostname.domaine.eu Authserv_Id = hostname.domaine.eu
 </file> </file>
 +Pour connaître les différentes options, il existe la commande :
 +<code sh>
 +man policyd-spf.conf
 +</code>
 Puis nous éditons le fichier ''master.cf'' : Puis nous éditons le fichier ''master.cf'' :
 <file sh master.cf> <file sh master.cf>
Ligne 1061: Ligne 1103:
      user=nobody argv=/usr/bin/policyd-spf      user=nobody argv=/usr/bin/policyd-spf
 </file> </file>
-Ensuite nous modifions dans le fichier ''/etc/postfix/main.cf'' la section ''smtpd_recipient_restrictions'' pour ajouter la ligne de ''check_policy_service'' comme nous le voyons ci-dessous ainsi qu'un paramètre ''policy-spf_time_limit'' :+Ensuite nous modifions dans le fichier ''/etc/postfix/main.cf'' la section ''smtpd_recipient_restrictions'' pour ajouter la ligne de ''check_policy_service'' comme nous le voyons ci-dessous ainsi quun paramètre ''policy-spf_time_limit'' :
 <file sh main.cf> <file sh main.cf>
 smtpd_recipient_restrictions = smtpd_recipient_restrictions =
-[...] + reject_rbl_client xbl.spamhaus.org, 
-  reject_unauth_destination, + reject_rbl_client pbl.spamhaus.org, 
-  check_policy_service unix:private/policy-spf, + reject_rbl_client sbl.spamhaus.org, 
-  permit+ reject_rbl_client multi.uribl.com, 
 + reject_rbl_client rbl-plus.mail-abuse.org, 
 + reject_rbl_client dialups.mail-abuse.org, 
 + reject_invalid_hostname, 
 + reject_non_fqdn_hostname, 
 + reject_non_fqdn_sender, 
 + reject_non_fqdn_recipient, 
 + reject_unknown_sender_domain, 
 + reject_unknown_recipient_domain, 
 + permit_mynetworks, 
 + permit_sasl_authenticated, 
 + permit_auth_destination, 
 + reject_unauth_destination, 
 + reject_unverified_recipient, 
 + check_policy_service unix:private/policy-spf, 
 + check_policy_service inet:127.0.0.1:10023, 
 + permit
  
 policy-spf_time_limit = 3600s policy-spf_time_limit = 3600s
 </file> </file>
-Put the policy service after reject_unauth_destination to prevent unexpected responses from the policy service from making your system an open relay (this is recommended for all policy services). Moreoverput the policy service after you permit local sendersYou only want SPF to check inbound mail from the internetnot outbound mail from your users+Placez le service de politique après ''reject_unauth_destination'' afin d’éviter que des réponses inattendues du service de politique ne fassent de votre système un relais ouvert (ceci est recommandé pour tous les services de politique). En outreplacez le service de politique après avoir autorisé les expéditeurs locauxVous souhaitez que le SPF ne vérifie que le courrier entrant provenant d’Internetet non le courrier sortant de vos utilisateurs
  
-Nous pouvons relancer le service :+Nous pouvons maintenant relancer le service :
 <code> <code>
 systemctl restart postfix systemctl restart postfix
 </code> </code>
-Notre serveur peut maintenant vérifier les enregistrements SPF d'un autre serveur de messagerie. Pour vous assurer que cela fonctionne, envoyez vous un e-mail depuis un autre fournisseur et vous devriez voir l'en-tête suivant :+Notre serveur peut maintenant vérifier les enregistrements SPF dun autre serveur de messagerie. Pour vous assurer que cela fonctionne, envoyez-vous un e-mail depuis un autre fournisseur et vous devriez voir len-tête suivant :
 <code> <code>
 Authentication-Results: myserver.domaine.eu; spf=pass (sender SPF authorized) Authentication-Results: myserver.domaine.eu; spf=pass (sender SPF authorized)
Ligne 1321: Ligne 1379:
 Nous avons maintenant un serveur de messagerie correctement configuré. Il pourrait être encore amélioré par la mise en place de détection de [[https://fr.wikipedia.org/wiki/Greylisting|greylisting]] et de virus. Nous avons maintenant un serveur de messagerie correctement configuré. Il pourrait être encore amélioré par la mise en place de détection de [[https://fr.wikipedia.org/wiki/Greylisting|greylisting]] et de virus.
 ===== Réferences  ===== ===== Réferences  =====
-Les tutoriaux et les pages d'aide qui furent utilisés pour construire cette page :+Les tutoriaux et les pages daide qui furent utilisés pour construire cette page :
   * [[https://www.captainark.net/2015/04/24/setting-up-a-mail-server/|Setting up a mail server]] de [[https://twitter.com/captainark|Captainark]]   * [[https://www.captainark.net/2015/04/24/setting-up-a-mail-server/|Setting up a mail server]] de [[https://twitter.com/captainark|Captainark]]
   * [[https://wiki.debian-fr.xyz/Installation_sur_une_Squeeze_d%27un_serveur_mail_complet_(Postfix_Postfixadmin_Dovecot_Mysql_Amavisd-new_Spamassassin_Clamav_Postgrey_Squirrelmail_Roundcube)_avec_gestion_des_filtres_Imap_et_des_quotas|Installation d'un serveur mail complet]]   * [[https://wiki.debian-fr.xyz/Installation_sur_une_Squeeze_d%27un_serveur_mail_complet_(Postfix_Postfixadmin_Dovecot_Mysql_Amavisd-new_Spamassassin_Clamav_Postgrey_Squirrelmail_Roundcube)_avec_gestion_des_filtres_Imap_et_des_quotas|Installation d'un serveur mail complet]]
Ligne 1332: Ligne 1390:
   * [[https://placenet.org/2020/05/08/config-ssl-pour-postfix-gnu-linux-debian-buster/|Configuration pour avoir une bonne sécurité du SSL]]   * [[https://placenet.org/2020/05/08/config-ssl-pour-postfix-gnu-linux-debian-buster/|Configuration pour avoir une bonne sécurité du SSL]]
   * [[https://arnowelzel.de/en/greylisting-to-avoid-spam|Greylisting to avoid spam]]   * [[https://arnowelzel.de/en/greylisting-to-avoid-spam|Greylisting to avoid spam]]
 +  * [[http://irp.nain-t.net/doku.php/200messagerie:020postfix2:060_amavis|Filtrer avec Amavis]]
 +  * [[https://guide.ubuntu-fr.org/server/mail-filtering.html|Filtrage du courrier éléctronique]]
  • serveur/mail.1609546693.txt.gz
  • Dernière modification : 2021/01/01 19:18
  • de d2air