[Postfixbuch-users] Open Relay trotz mynetworks-configuration ?

Kai Fürstenberg kai_postfix at fuerstenberg.ws
Di Feb 26 13:56:59 CET 2013


... ich habe mal ne Runde gekürzt ...

Am 26.02.2013 13:03, schrieb swdld at gmx.net:
> ==> Siehe oben. Wußte ich nicht. Wenn noch gewünscht, kann ich's
> nachholen.

Konfig nachposten lohnt jetzt glaube ich nicht mehr. Vielleicht später,
wenns nochmal angefordert wird.

>> permit_mynetworks ist der richtige Parameter dafür. Wenn der Server
>> aber nur aus deinem Netz annehmen soll und sonst nichts, gehört ans
>> Ende in jedem Fall ein "reject".
> 
> ==> Aha, ich habe eine Vermutung: mynetworks ist also keineswegs eine
> Definition, die generell den Zugriff durch außerehalb stehender IPs
> schon ausschließt, sondern nur eine Variable um später in den
> restrictions das eigene Netz komfortabler benennen zu können. Ist das
> so? Dann wäre klar, daß es KEINE Abfolge von logischen Schritten
> gibt, die entscheiden, sondern eine vorgelagerte Definition einer
> (und anderer) Variablen, diese Variable aber NICHT AUTOMATISCH zu
> einer Abweisung nicht enthaltener IPs führt, sondern später in den
> restrictions (so wie ja ettliches anderes auch) noch explitit
> angewiesen werden muß. Hmmm, ist das so? 

Korrekt! Abgesehen von der logischen Reihenfolge. Die Parameter selbst
haben keine Reihenfolge und entscheiden auch nicht darüber, ob eine Mail
angenommen wird oder nicht. Das macht bei den meisten Installationen
ausschliesslich smtpd_recipient_restrictions. Und die einzelnen
Restriktionen innerhalb von smtpd_recipient_restrictions haben sehr wohl
eine logische Reihenfolge, die ist aber von der eigenen Installation und
den eigenen Vorstellungen abhängig.

Und jetzt mal ein kleiner Tip, damit du überhaupt mit der Konfiguration
weiter kommst:

Lösche ALLE smtpd_*_restrictions (also client, helo, sender und
recipient, letzteres hast du doppelt) aus deiner main.cf. Also nicht
einfach nur leeren, sondern komplett rausschmeissen/löschen.

Dann ergänzt du:
smtpd_recipient_restrictions = permit_mynetworks, reject

Damit erlaubst du mynetworks (permit_mynetworks), und alles andere wird
abgewiesen (reject). Damit ist deine Kiste von außen erst mal
abgesichert. Wenn die Spam-Schleuder im internen Netzwerk (mynetworks)
hängt, natürlich nicht.

>> Was ist denn bitte "check_relay_domains" für ein Parameter? In der
>> Dokumentation taucht dieser nicht auf.
> 
> ==> Im Buch steht im Index auf Seite 764 Ein Verweis auf Seite 195,
> dort aber steht "nur" ein "$relay_domains" als Variable, mit der
> Bedeutung eines Erkennungszeichens, ob der host ein Relay sein soll.
> Hinter "check_relay_domains" vermute ich eher eine Prüfung, als eine
> Variable.

Peer, ich habe das Buch gerade nicht vorliegen, kannst du das mal bitte
auflösen (oder auch irgendwer anderes, der das Buch gerade zur Hand hat)?

>>> ==> Eben genau das WIE steht dort nicht.
>> 
>> Nicht einfach behaupten, sondern posten. Überlass das denen, die
>> davon Ahnung haben, davon gibt es hier auf der Liste mehr als
>> genug. Darunter auch einige Buchautoren von
>> Postfix-Standardwerken.
> 
> ==> In vorheriger Mail schrieb ich Ausschnitte des Logs. SMTP steht
> da vermutlich als der Weg der Einlieferung. Da ich als einziger vor
> der Kiste sitze, nur Port 53 und 25 offen sind usw., ist das aber
> sowieso klar. Die Frage bleibt also: Wieso kann einer über 25 smtp
> zugreifen, wenn er außerhalb von mynetworks steht. Aber hier scheint
> es sich zu klären: Weil die Variable zu definieren, scheinbar noch
> nicht ausreicht.

Ein Log-Auszug reicht immer von "connect" bis "disconnect". Beim connect
bekommst du die IP-Adresse des Clients genannt. Dann weißt du, ob die
Mail von außen, oder von innen eingespeist wurde. Anhand der
Mail-Adresse erkennst du das nicht.

>>>> Es fehlt die komplette Überprüfung wer unter welchen Umständen
>>>> zu welchen Bedingungen von Wo nach Wohin senden darf.
>>> 
>>> ==> Wie gesagt, darum geht es nicht, sondern darum, warum eine
>>> IP zugreifen kann, die NICHT in einem unter mynetworks
>>> definierten Netz steht.
>> 
>> Wo steht das? Richtig: Im Log. Und das hast du noch nicht
>> gepostet. Einer der Lieblingssprüche von Wietse Venema auf der
>> offiziellen Postfix-Liste lautet: "Where's the proof?" Also: schick
>> uns den Beweis.
> 
> ==> Ist bereits gepostet. Soll ich das ganze Log posten?

Ich hoffe, du meinst nicht das ganze Log-File...!
Der vollständige Log-Auszug von connect bis disconnect genau zu der von
dir angegebenen Mail. Der wäre schon mal schön, ja.

-- 
Kai Fürstenberg

PM an: kai at fuerstenberg punkt ws




Mehr Informationen über die Mailingliste Postfixbuch-users