[Postfixbuch-users] RelayedOpenRelay

Andreas Meyer anmeyer at anup.de
So Aug 14 10:32:13 CEST 2011


Patrick Ben Koetter <p at state-of-mind.de> wrote:

> * Andreas Meyer <postfixbuch-users at listen.jpberlin.de>:
> > > Im Ernst: Das passiert wenn eine Mail an remote (non-local) Empfänger geht und
> > > der Absender nicht als lokaler (originating) Sender identifiziert werden kann.
> > > 
> > > Eine derartige Konstellation entsteht, wenn jemand Dein Mailsystem mißbrauchen
> > > kann und es somit ein Open Relay {RelayedOpenRelay} ist.
> > > 
> > > Sie entsteht aber auch - und das wird bei Dir wohl zutreffen - wenn Dein
> > > Mailclient nicht über eine @mynetworks IP sendet oder keiner $policy_bank
> > > zugeordnet wird die das ORIGINATING Flag setzt.
> > > 
> > > Statische IP
> > > Wenn Du von einer statischen IP aus sendest, dann füge diese zu @mynetworks
> > > hinzu.
> > > 
> > > Dynamische IP
> > > Wenn Du SASL authentifiziert sendest rate ich Dir lokale Sender von remote
> > > Sendern durch den Port auf den Mail submitted bzw. transferiert wird zu
> > > trennen. Lokale submitten auf Port 587 und remote MTAs kommen wie gehabt auf
> > > Port 25 rein.
> > 
> > Aber sende ich von meiner privaten Kiste aus wie auch die Kunden nicht
> > immer remote? local wären eigentlich nur die, die das Webinterface zum
> > mailen benutzen.
> 
> Ich gebe Dir recht, der Begriff "lokal" trägt hier nicht weit. Vielleicht
> kriege ich das mit einer Umschreibung verständlicher in den Griff:
> 
>   "Ein Sender, der das System legitim nutzt, um eine Nachricht in den Umlauf
>   zu bringen."
> 
> Wichtig sind dabei "legitim" und "in den Umlauf (...) bringen", denn es
> bedeutet:
> 
> - Der Sender konnte sich legitieren indem er/sein Client über die IP oder über
>   seine SASL-Identität erkannt (authentifiziert) und zum Senden berechtigt
>   (autorisiert) wurde 
> 
> - Die Nachricht betritt hier den Transportweg. Aus Sicht aller nachgelagerten,
>   mailverarbeitenden Instanzen ist der Mailserver, der die Nachricht zum
>   Versand vom Client (MUA) annahm der "originator" - ihm "entspringt" die
>   Nachricht.
> 
> Beides kann amavis nicht wissen. Amavis weiß nicht, dass der sendende Client
> sich per SMTP AUTH bei Postfix authentifiziert hatte (und header sind Schall
> und Rauch) und er kann den sendenden Client bei dynamischen IPs nicht einer
> legitimen Gruppe (IP ist in @mynetworks) zuordnen.
> 
> Wir helfen amavis (und schützen es vor Mißbrauch) indem wir eine spezielle
> $policy_bank schaffen, die nur angesprochen wird wenn wir sicherstellen
> können, dass der Sender mit der dynamischen IP legitim sendet.
> 
> Das erreichen wir indem wir Mails über den submission-Port RFC-gerecht nutzen
> und sendenden Clients zwingend (!) SMTP AUTH abfordern. Wer diese Hürde
> schafft, hat sich erfolgreich legitimiert - er gehört zu uns, ist 'local'.
> 
> Von diesem Port aus routen wir Nachrichten an die spezielle $policy_bank in
> amavis und dort sagen wir amavis, das alles was da reinkommt ORIGINATING ist.
> 
> Ist ORIGINATING gesetzt, bedeutet das für amavis folgendes:
> 
> - Legitimität
>   Diese Nachricht stammt von einem legitimen Sender.
> 
> - Senderichtung
>   Diese Nachricht geht von mir weg (Sender) zu einem Anderen (Recipient) hin.
> 
> Diese Bedingungen sind Voraussetzung für folgende, mögliche Aktionen:
> 
> DKIM-Signaturen
> Sind Legitimität und Senderichtung gegeben, wird amavis DKIM-Signaturen
> anbringen, wenn DKIM-Signaturen für die Domain des Senders konfiguriert wurde.
> (Die Nachricht ist ausgehend ...)
> 
> Sender-Notifikationen
> Um Backscatter und andere Formen der Zwangsbeglückung für Fremde zu vermeiden
> ("Sie haben ein Virus gesendet ...") notifiziert amavis nur lokale (lies:
> systemgehörige) Sender und Empfänger. "Nur lokal" wird über den Parameter
> $warn_offsite (default: 0) geregelt. Legitimer Sender wird über @mynetworks
> oder ORIGINATING festgelegt und zum System gehörende Empfänger, also lokale
> Empfänger legt @local_domains_maps fest.
> 
> Status-Header
> amavis kann sich selbst, das Ergebnis von Virenscans, DKIM-Verifizierung und
> Resultate von SpamAssassin in Header einfügen. Das tut es nur für lokale
> Empfänger. Wer in @local_domains_maps steht, ist lokal.
> 
> 
> In dem Sinne also:
> 
> - Pack das Webinterface in @mynetworks
> - Laß die Clients von Kunden über submission senden
> - Laß die Server von Kunden über Port 25 senden und ordne ihre statische IP
>   @mynetworks zu.
> 
> Wenn Du die Kunden-IPs einer speziellen Policy in amavis zuführen willst, dann
> route ihre IPs bestimmten $policy_banks zu:
> 
> @client_ipaddr_policy = (
>   [qw( 0.0.0.0/8 127.0.0.1/8 [::] [::1] )] => 'LOCALHOST',
>   [qw( !172.16.1.0/24 172.16.0.0/12 192.168.0.0/16 )] => 'PRIVATENETS',
>   [qw( 192.0.2.0/25 192.0.2.129 192.0.2.130 )] => 'PARTNER',
>   [qw( 88.217.225.250/32 )] => 'CUSTOMERS',
>   \@mynetworks => 'MYNETS',
> );

Ich danke Dir vielmals für diese Erklärung! Jetzt ist mir doch einiges
klarer geworden. Ich werde das mal angehen.

Mir fällt auf, dass amavis eine DKIM-Signatur anbringt, wenn ich von
einer dynamischen IP (so wie jetzt) eine email an eine Adresse bei
GMX schicke. Es wird keine Signatur angebracht bei email an die Postbuch-Liste.
Hmm ... warum, weis ich noch nicht. Die Umstände sind doch gleich.
Ich liefere auf Port 25 mit einer dynamischen IP ein. Einmal geht's an GMX,
das andere mal an postfixbuch-users. Keiner der Empfänger ist in mynetworks.
Mal schaun, ob da jetzt eine Signatur eingefügt wurde.

> So. Und jetzt fallen mir die Finger ab.  ;)
> 
> p at rick

Schönen Sonntag noch!

  Andreas 



Mehr Informationen über die Mailingliste Postfixbuch-users