SMTP Annahme verweigern

T.Kaiser
Hallo,

code:
1:
2:
PD-Admin 3.45
Serverumgebung: 1-0.156

einige (nicht alle) unserer Kunden verwenden MessageLabs, um eingehende Mails auf Spam und Viren zu prüfen.
Dabei werden die Server von MessageLabs als MX im DNS eingetragen und leiten alle "unbedenklichen" Mails an unseren SMTP-Server weiter.
Leider ignorieren jedoch einige Spamversender den MX-Eintrag und schicken direkt an unseren Server, der ja alle Mails an die locals annimmt.

Ich möchte daher den SMTP-Server so konfigurieren, dass Mails an Domains abgelehnt werden, deren MX auf MessageLabs verweist, es sei denn, sie kommen von spezielen IP-Adressbereichen (denen von MessageLabs) oder der Absender hat sich per SMTP-Login authentifiziert.

Hat jemand von Euch schon eine ähnliche Anforderung umgesetzt oder einen Tipp, wie sich das am Besten realisieren lässt?

Vielen Dank für jeden Hinweis!

Gruß Tom
tbc233
Ich halte das für die große Lücke bei solchen Diensten wie Messagelabs. Ich hab mir genau für den Fall den hermes-mail-proxy (siehe Greylisting, SMTP Banner delay und Throttling mit Hermes ) so anpassen lassen, dass ich zusätzlich zum vorhandenen Funktionsumfang eine IP - Domain Liste pflegen kann. Wird Mail für eine Domain eingeliefert, die einen Eintrag in der Liste hat, wird überprüft ob sie von der angegebenen IP stammt, wenn nicht wird zurückgewiesen. Für Domains die in der Liste keinen Eintrag haben, bleibt alles wie gehabt.

Falls wer eine elegantere Lösung hat bin ich auch interessiert. Falls ich Dir damit helfen kann, schreib mir ein Mail, dann lass ich Dir das Ding zukommen (die Version auf der hermes-Website hat den von mir beauftragten Patch nicht drin)
msnet
Ich hab die genannte Problematik auch gerade auf dem Tisch.
Falls es eine andere Lösung gibt wie "besser Postfix installieren" wäre ich dafür dankbar...
Daniel Bradler
Ueber qmail-spp sollte sich ein passender Filter leicht realisieren lassen.
Daniel Bradler
Wir hatten in der Vergangenheit bereits ein Plugin im Auftrag der Firma intrusys e.K. erstellt. Herr Held war so freundlich, dieses Skript der Allgemeinheit zur Verfügung zu stellen.

Es kann wie folgt installiert werden:

wget -O /opt/pdadmin/bin/mailgate http://download.pd-admin.de/mailgate
chmod 755 /opt/pdadmin/bin/mailgate

Die Konfiguration erfolgt über die Datei /opt/pdadmin/etc/mailgate.conf zeilenweise in der Form:

$domain $ip

Wird eine Domain in diese Datei eingetragen, dann werden Emails nur noch von der angegebenen IP-Adresse angenommen.

Der Filter muss in der Datei /var/qmail/control/greylist überhalb der Zeile mit der Greylisting-Konfiguration eingetragen werden, damit er aktiv wird:

code:
1:
2:
3:
[rcpt]
/opt/pdadmin/bin/mailgate
/opt/pdadmin/bin/smtp_greylist.pl

Viele Grüße
Daniel Bradler
tbc233
Super! Vielen Dank!
msnet
Ich habs installiert und folgende Meldungen im Log:


code:
1:
2:
3:
4:
5:
6:
7:
8:
Aug 18 21:01:09 web1 qmail-smtpd: qmail-smtpd/VC started
Aug 18 21:01:10 web1 smtpd: 1345316470.021072 Can't locate loadable object for module IO in @INC (@INC contains: /opt/pdadmin/lib/2 PERL2EXE_STORAGE /opt/pdadmin/bin /opt/pdadmin/lib/2) at PERL2EXE_STORAGE/IO/Handle.pm line 263
Aug 18 21:01:10 web1 smtpd: 1345316470.021096 Compilation failed in require at PERL2EXE_STORAGE/IO/Handle.pm line 263.
Aug 18 21:01:10 web1 smtpd: 1345316470.021102 BEGIN failed--compilation aborted at PERL2EXE_STORAGE/IO/Handle.pm line 263.
Aug 18 21:01:10 web1 smtpd: 1345316470.021107 Compilation failed in require at PERL2EXE_STORAGE/IO/Socket.pm line 11.
Aug 18 21:01:10 web1 smtpd: 1345316470.021112 BEGIN failed--compilation aborted at PERL2EXE_STORAGE/IO/Socket.pm line 11.
Aug 18 21:01:10 web1 smtpd: 1345316470.021116 Compilation failed in require at /opt/pdadmin/bin/mailgate line 16.
Aug 18 21:01:10 web1 smtpd: 1345316470.021122 BEGIN failed--compilation aborted at /opt/pdadmin/bin/mailgate line 16.
msnet
Ich habe mir die Installation von Mailgate nochmal vorgenommen aber die Fehlermeldung, siehe oben, bleibt dieselbe.
Leider liegt mir Perl so garnicht... Hat jemand einen Tipp für mich?