2009-05-05 13 views
-2

Je rencontre un problème avec un serveur mail nouvellement configuré où les spams qui sont falsifiés pour provenir du domaine local sont réellement acceptés par le serveur mail, le courrier n'est pas livré comme il est, Le spamassassin le marque comme spam et envoie un email "Non remis à l'expéditeur" à l'utilisateur local falsifié.Postfix/Spamassassin: Mail non remis retourné à l'expéditeur

Je sais qu'il y a un moyen de corriger cela dans la configuration mais je n'ai aucune idée de l'endroit où j'espère que quelqu'un puisse me diriger dans la bonne direction. Pour être clair, le serveur de messagerie ne relaye pas, c'est seulement un problème d'utilisateur local. Je veux que postfix rejette tous les emails supposés provenant d'utilisateurs locaux qui ne sont pas envoyés en interne. Cela arrêterait ce problème.

Voici un courriel pour vous montrer ce qui se passe. J'ai changé le domaine en exemple.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 ne peut pas être envoyé à un ou plusieurs destinataires. Il est attaché ci-dessous.

Pour plus d'assistance, s'il vous plaît envoyer un mail à l'administrateur des postes. Si vous faites ainsi, s'il vous plaît inclure ce rapport de problème. Vous pouvez
supprimer votre propre texte du message retourné ci-joint.

Le système de messagerie

: host 127.0.0.1 [127.0.0.1] dit: 554 5.7.0 Rejeter, id = 11887-07 - SPAM (en réponse à la fin de commande DATA)
?
Reporting-MTA: dns; example.com.au
X-Postfix-File d'attente: 661DC5D1DE
X-Postfix-Sender: rfc822; [email protected]
Arrivée-Date: Mar 5 Mai 2009 06:21:38 +1000 (EST)

Destinataire final: rfc822; [email protected]
Original-bénéficiaire : rfc822; [email protected]
Action: échouée État: 5.7.0
Remote-MTA: dns; 127.0.0.1
Code de diagnostic: smtp; 554 5.7.0 Rejeter, id = 11887-07 - SPAM?

De: Berenice Penez
Date: 4
mai 2009 22:21:41 +0200
A: Sujet: Étaient-ce vous, sur le forum?

Livraison fiable et de qualité fiable et sans délais avec
livraison!super magasin en ligne pour la maladie
traitement
http://www.xopfekec.cn/

################################# ##############

Postfix main.cf (les parties importantes, non complètes)

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 = tous
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_authenti qué, permit_mynetworks, reject_unauth_destination, reject_unknown_recipient_domain, reject_unknown_sender_domain, reject_invalid_hostname
smtpd_pw_server_security_options = brut, connecte
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, reject_rbl_client dnsbl.sorbs.net

+0

Sorry man, devrait être sur serverfault.com –

+0

Plus qui ressemble à tous les trois e-mails dans mon dossier de spam de Gmail. –

Répondre

2

quelques différents points:

  • Cela devrait être sur serverfault.com, mais puisque je ne suis pas sur la version bêta, je vais y répondre ici. La sortie de postconf -n est 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 substitutions de paramètres ou d'autres personnalisations.

  • N'acceptez pas le courrier rebondi comme ça. Si vous utilisez SpamAssassin en tant que filtre de file d'attente dans Postfix (la manière habituelle de l'exécuter), vous devez soit tag-and-deliver (et filtrer avec les règles côté client), soit mettre le courrier en quarantaine sans notifier l'expéditeur. Du point de vue de votre question, vous êtes probablement une source de rétrodiffusion. Arrête ça. Voir par exemple http://www.postfix.org/BACKSCATTER_README.html. Considérez amavisd-new pour intégrer SpamAssassin dans Postfix avec toutes sortes de fonctionnalités utiles. Envisagez de regrouper toutes vos restrictions en restrictions smtpd_recipient_restrictions. Il est généralement plus facile de gérer le flot linéaire de restrictions comme cela que de gérer les interactions entre smtpd_ {client, helo, expéditeur, destinataire} _restrictions.

  • Pour empêcher Postfix d'accepter le courrier de l'extérieur, ajouter une carte sender_access qui rejette le courrier prétend être 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 reject_mydomains

 
example.com.au REJECT you are not me 

Cette volonté probablement être sujette aux faux positifs avec le courrier provenant d'expéditeurs ayant une raison légitime (?) d'utiliser votre domaine comme expéditeur de l'enveloppe (cartes électroniques, invitations, peut-être e service externalisé comme les enquêtes ou autres). Vous pouvez mettre en liste blanche vos règles "vous-n'ê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 à éliminer les clients HELO-ing avec votre propre Hostname/IP ou mauvaises chaînes de HÉLICOPTÈRE 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 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, il est un très bonne idée de s'abonner à un bon service de réputation tel qu'un RBL. Le meilleur RBL pour la plupart des buts est zen.spamhaus.org. Il est gratuit à utiliser pour des charges légères à modérées, et si votre utilisation est suffisamment élevée pour franchir leur seuil gratuit/payant, le coût en vaut la peine. Pour configurer dans Postfix, ajoutez

 
reject_rbl_client zen.spamhaus.org 

à vos smtpd_recipient_restrictions. Faites cela après vos chèques locaux bon marché pour économiser sur le chargement et la latence des requêtes DNS, mais avant les chèques locaux coûteux comme reject_unverified_recipient (vous n'utilisez pas celui-là et vous n'en avez probablement pas besoin dans la description de votre problème).

+0

Wow, tellement d'informations utiles. Je n'ai pas eu l'occasion de tester quoi que ce soit, mais les helo_checks ressemblent exactement à ce dont j'ai besoin. En outre, il s'agit d'OSX Server 10.5.6, qui fonctionne à peine hors de la boîte. Je l'ai configuré pour renvoyer tous les spams à [email protected], il ne devrait pas y avoir de rétrodiffusion, et s'il y en a, alors je les blâme sur la configuration terrible des pommes. Je vérifierai et m'assurerai qu'il n'envoie pas de rétrodiffusion. Merci encore, et aussi je n'avais aucune idée de serverfault.com existé ... –

+0

Content de vous aider (s'il vous plaît upvote ou accepter la réponse si cela aide). Notez que check_sender_access est la partie importante pour votre question spécifique. Les contrôles HELO sont agréables à avoir et un moyen facile d'éliminer certains types de mauvais clients. Une chose qui m'a manqué dans ma réponse originale était de m'abonner à un bon RBL. Zen.spamhaus.org est le meilleur choix par défaut. Je vais modifier la réponse pour inclure cela. – robc

+0

J'ai essayé certains d'entre eux en vain. J'ai écrit un script php rapide pour le tester et le serveur mail reçoit toujours heureusement le courrier envoyé de l'extérieur: [email protected] rcpt à: [email protected]

Je suis également assez sûr qu'il n'envoie pas de rétrodiffusion mais Je n'ai aucune idée de comment le tester à fond. –

Questions connexes