Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
serveur:mail [2021/01/02 11:39] – [Paquets facultatifs] d2air | serveur:mail [2021/05/13 10:48] (Version actuelle) – [Création d’un serveur virtuel Apache2] d2air | ||
---|---|---|---|
Ligne 152: | Ligne 152: | ||
SSLCertificateFile | SSLCertificateFile | ||
SSLCertificateKeyFile | SSLCertificateKeyFile | ||
- | Header always | + | |
- | Header always set X-Content-Type-Options " | + | |
- | Header always set X-Frame-Options DENY | + | Header always set X-Content-Type-Options " |
- | Header always set X-XSS-Protection "1; mode=block" | + | Header always set X-Frame-Options |
+ | Header always set X-XSS-Protection "1; mode=block" | ||
+ | Header set Content-Security-Policy-Report-Only " | ||
+ | </ | ||
# | # | ||
Ligne 313: | Ligne 316: | ||
Configurons Postfix | Configurons Postfix | ||
< | < | ||
+ | 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 |
+ | | ||
+ | --certbot-dns-standalone: | ||
+ | --certbot-dns-standalone: | ||
+ | --certbot-dns-standalone: | ||
+ | | ||
systemctl start postfix | systemctl start postfix | ||
</ | </ | ||
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: | ||
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 = / | ||
+ | myorigin = $mydomain | ||
+ | mydestination = $myhostname, | ||
+ | mynetworks = 127.0.0.0/8 [:: ffff: | ||
+ | relayhost = | ||
+ | relay_domains = lists.domaine.eu | ||
alias_maps = hash:/ | alias_maps = hash:/ | ||
alias_database = hash:/ | alias_database = hash:/ | ||
- | mydestination = hostname, hostname.domaine.eu, | ||
- | mydomain = domaine.eu | ||
- | myorigin = $mydomain | ||
- | mynetworks = 127.0.0.0/8 [:: | ||
- | 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_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_invalid_hostname, |
- | reject_unverified_recipient, | + | reject_non_fqdn_hostname, |
- | | + | reject_non_fqdn_sender, |
- | permit_sasl_authenticated, | + | reject_non_fqdn_recipient, |
- | permit_auth_destination, | + | reject_unknown_sender_domain, |
- | | + | reject_unknown_recipient_domain, |
- | check_policy_service inet: | + | permit_mynetworks, |
- | permit | + | permit_sasl_authenticated, |
+ | permit_auth_destination, | ||
+ | reject_unauth_destination, | ||
+ | reject_unverified_recipient, | ||
+ | check_policy_service inet: | ||
+ | permit | ||
</ | </ | ||
Puis il faut relancer Postfix en surveillant les logs : | Puis il faut relancer Postfix en surveillant les logs : | ||
Ligne 890: | Ligne 910: | ||
Les options '' | Les options '' | ||
+ | |||
+ | Ajoutez aussi les deux lignes suivantes immédiatement en dessous du service de transport " | ||
+ | <file sh master.cf> | ||
+ | pickup | ||
+ | -o content_filter= | ||
+ | -o receive_override_options=no_header_body_checks | ||
+ | </ | ||
+ | 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 1007: | Ligne 1035: | ||
<code sh> | <code sh> | ||
apt install pyzor razor | apt install pyzor razor | ||
+ | </ | ||
+ | Puis : | ||
+ | <code sh> | ||
+ | user@host: | ||
+ | $ razor-admin -create | ||
+ | $ razor-admin -register | ||
</ | </ | ||
==== Activation du service ==== | ==== Activation du service ==== | ||
Ligne 1036: | Ligne 1070: | ||
</ | </ | ||
==== Vérifier le fonctionnement | ==== Vérifier le fonctionnement | ||
- | Pour vérifier si cela fonctionne, envoyez vous un e-mail d'un autre fournisseur et vous devriez voir des en-têtes plus ou moins semblables aux suivantes | + | Pour vérifier si cela fonctionne, envoyez-vous un e-mail d’un autre fournisseur et vous devriez voir des en-têtes plus ou moins semblables aux suivantes : |
< | < | ||
X-Virus-Scanned: | X-Virus-Scanned: | ||
Ligne 1046: | Ligne 1080: | ||
</ | </ | ||
===== Configurer SPF ===== | ===== Configurer SPF ===== | ||
- | ==== Permettre à votre serveur d'envoyer pour votre domaine ==== | + | ==== Permettre à votre serveur d’envoyer 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, | + | 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, |
< | < | ||
domaine.eu. | domaine.eu. | ||
</ | </ | ||
- | 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:// | + | 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:// |
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 d’autres serveurs de messagerie puissent communiquer avec nous comme nous avons fait. |
- | Tout d' | + | Avant tout, nous allons ajouter les deux lignes suivantes à la fin de ''/ |
<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 | ||
</ | </ | ||
+ | Pour connaître les différentes options, il existe la commande : | ||
+ | <code sh> | ||
+ | man policyd-spf.conf | ||
+ | </ | ||
Puis nous éditons le fichier '' | Puis nous éditons le fichier '' | ||
<file sh master.cf> | <file sh master.cf> | ||
Ligne 1065: | Ligne 1103: | ||
| | ||
</ | </ | ||
- | Ensuite nous modifions dans le fichier ''/ | + | Ensuite nous modifions dans le fichier ''/ |
<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: | + | 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: | ||
+ | check_policy_service inet: | ||
+ | permit | ||
policy-spf_time_limit = 3600s | policy-spf_time_limit = 3600s | ||
</ | </ | ||
- | Put the policy | + | Placez le service |
- | Nous pouvons relancer le service : | + | Nous pouvons |
< | < | ||
systemctl restart postfix | systemctl restart postfix | ||
</ | </ | ||
- | 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 | + | 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 |
< | < | ||
Authentication-Results: | Authentication-Results: |