Postfix / Spamassassin: courrier non remis à l'expéditeur [fermé]
Question
Je rencontre un problème avec un serveur de messagerie nouvellement configuré: les messages indésirables spoofés provenant du domaine local sont réellement acceptés par le serveur de messagerie; le message n'est pas livré tel quel, mais le spamassassin le qualifie de spam, puis l'envoie. un e-mail "Un courrier non restitué a été renvoyé à l'expéditeur". à l'utilisateur local usurpé.
Je sais qu'il existe un moyen de résoudre ce problème dans la configuration, mais je ne sais pas où, j'espère que quelqu'un pourra me diriger dans la bonne direction.
Pour être clair, le serveur de courrier n’est pas en train de relayer, c’est seulement un problème d’utilisateur local. Je veux que postfix rejette tous les courriels supposés émaner d'utilisateurs locaux qui ne sont pas envoyés en interne. Cela arrêterait ce problème.
Voici un email pour vous montrer ce qui se passe. J'ai changé le domaine en example.com.au.
################################################
################################################
Ceci est le système de messagerie de l'hôte example.com.au.
Je suis désolé de devoir vous informer que votre message n'a pas pu être
être livré à un ou plusieurs destinataires. Il est attaché ci-dessous.
Pour obtenir de l'aide, veuillez envoyer un courrier à postmaster.
Si vous le faites, veuillez inclure ce rapport de problème. Vous pouvez
supprimez votre propre texte du message renvoyé en pièce jointe.
Le système de messagerie
: hôte 127.0.0.1 [127.0.0.1] a dit: 554 5.7.0 Rejeter, id = 11887-07 - SPAM (en réponse à la fin de la commande DATA)
?
Reporting-MTA: dns; example.com.au
X-Postfix-Queue-ID: 661DC5D1DE
X-Postfix-Sender: rfc822; dan@example.com.au
Date d'arrivée: mar. 5 mai 2009 06:21:38 +1000 (EST)
Récipiendaire final: rfc822; dan@example.com.au
Destinataire original: rfc822; dan@example.com.au
Action: Failed Status: 5.7.0
Remote-MTA: dns; 127.0.0.1
Code de diagnostic: smtp; 554 5.7.0 Reject, id = 11887-07 - SPAM?
De: Bérénice Penez
Date: lun, 4
May 2009 22:21:41 +0200
À: Objet: Étiez-vous sur le forum?
Qualité fiable et sans retard avec
livraison! Super boutique en ligne pour
traitement de la maladie
http://www.xopfekec.cn/
Postfix main.cf (les parties importantes non complétées)
readme_directory = / usr / share / doc / postfix
mydomain_fallback = localhost
message_size_limit = 0
mailbox_size_limit = 0
myhostname = example.com.au
mailbox_transport = cyrus
mydomain = example.com.au
inet_interfaces = all
enable_server_options = yes
mydestination = $ myhostname, localhost. $ mydomain, localhost, example.com.au
smtpd_sasl_auth_enable = yes
smtpd_use_pw_server = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, rejeter_unauth_destination, rejeter_unknown_recipient_domain, rejeter_unknown_sender_domain, rejeter_invalide_nom_hôte
smtpd_pw_server_security_options = plain, identifiez-vous
content_filter = smtp-amavis: [127.0.0.1]: 10024
mynetworks = 127.0.0.0/8, 10.0.1.0/24
smtpd_client_restrictions = permit_sasl_authenticated, rejet_rbl_client dnsbl.sorbs.net
La solution
Quelques points différents:
-
Cela devrait être sur serverfault.com, mais comme je ne suis pas sur la version bêta, je vais y répondre ici.
-
La sortie de postconf -n vaut mieux que d'inclure ce que vous pensez être les lignes pertinentes dans main.cf. Incluez également les lignes pertinentes de master.cf si vous avez des remplacements de paramètres ou d’autres personnalisations.
-
N'acceptez pas alors de faire rebondir le courrier comme ça. Si vous utilisez SpamAssassin en tant que filtre d’après-file d'attente dans Postfix (son mode d’exécution habituel), vous devez taguer et remettre (et filtrer avec des règles côté client) ou mettre le courrier en quarantaine sans en avertir l’expéditeur. D'après l'apparence de votre question, vous êtes probablement une source de rétrodiffusion. Arrête ça. Voir, par exemple, http://www.postfix.org/BACKSCATTER_README.html . Prenez en considération amavisd-new pour l’intégration de SpamAssassin dans Postfix avec toutes sortes de fonctionnalités utiles.
-
Envisagez de regrouper toutes vos restrictions dans smtpd_recipient_restrictions. Il est généralement plus facile de gérer le flux linéaire de restrictions de ce type que de gérer les interactions entre smtpd_ {client, helo, expéditeur, destinataire} _restrictions.
-
Pour empêcher Postfix d’accepter du courrier de l’extérieur, ajoutez une mappe sender_access qui rejette le courrier prétendant provenir de vos domaines:
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_sender_access hash:$config_directory/reject_mydomains reject_unknown_recipient_domain, reject_unknown_sender_domain, reject_invalid_hostname
Et dans le rejet_mydomains
example.com.au REJECT you are not me
Cela sera probablement sujet à de faux positifs avec un courrier provenant d'expéditeurs ayant une raison légitime (?) d'utiliser votre domaine en tant qu'envoyeur d'enveloppe (cartes électroniques, invitations, peut-être un service externalisé tel que des sondages ou autre). Vous pouvez ajouter une liste blanche autour de vos règles vous-ne-êtes-pas-moi avec une carte client_access avant votre carte sender_access qui renvoie OK ou une classe de restriction appropriée (voir http://www.postfix.org/RESTRICTION_CLASS_README.html ).
Vous pouvez utiliser des contrôles HELO similaires pour éliminer les clients HELO-ing avec votre propre nom d'hôte / IP ou des chaînes HELO mauvaises connues
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_helo_access hash:$config_directory/helo_checks check_sender_access hash:$config_directory/reject_mydomains reject_unknown_recipient_domain, reject_unknown_sender_domain, reject_invalid_hostname
et dans helo_checks:
example.com.au REJECT BAD-HELO you are not example.com.au mailserver.example.com.au REJECT BAD-HELO you are not me localhost REJECT BAD-HELO you are not me localhost.localdomain REJECT BAD-HELO you are not me # where 1.2.3.4 is the IP of your server 1.2.3.4 REJECT BAD-HELO you are not me 127.0.0.1 REJECT BAD-HELO you are not me
Enfin, c’est une très bonne idée de vous abonner à un service de bonne réputation tel qu’un RBL. La meilleure RBL, dans la plupart des cas, est zen.spamhaus.org . Il est gratuit pour les charges légères à modérées, et si votre consommation est suffisamment élevée pour dépasser leur seuil gratuit / payé, le coût en vaut la peine. Pour configurer dans Postfix, ajoutez
reject_rbl_client zen.spamhaus.org
à votre smtpd_recipient_restrictions. Faites-le après vos vérifications locales bon marché pour économiser sur la charge et la latence des requêtes DNS, mais avant des vérifications locales coûteuses telles queject_unverified_recipient (vous ne l'utilisez pas et n'en avez probablement pas besoin de la description de votre problème).