ubuntuusers.de

postfix: Frage zu "check_client_access"

Status: Gelöst | Ubuntu-Version: Server 22.04 (Jammy Jellyfish)
Antworten |

frechdachs

Anmeldungsdatum:
3. Juni 2013

Beiträge: 120

Hallo zusammen,

ich betreibe einen MX-Server (postfix), der E-Mails für bestimmte Domains annimmt. Dieser Server hat die IP-Adresse 11.22.33.44. Der MX leitet die E-Mails dann an den eigentlichen Mailserver (mail.example.com, ebenfalls postfix) weiter.

Nun möchte ich auf dem Server mail.example.com die postfix-Konfiguration so anpassen, dass nur Verbindungen von der IP-Adresse 11.22.33.44 erlaubt sind. Deshalb habe ich meine /etc/postfix/main.cf wie folgt konfiguriert:

smtpd_recipient_restrictions  =
                                [ ... ]
                                check_client_access cidr:${config_directory}/client_access.cidr,
                                [ ... ]
                                permit

Der Inhalt der Datei client_access.cidr:

11.22.33.44/32      OK

Das funktioniert zwar - aber es ist nicht 100% das, was ich möchte: Das "OK" führt nämlich dazu, dass keine weiteren Tests durchgeführt werden. Ich möchte in der Datei client_access.cidr sozusagen folgendes definieren:

11.22.33.44/32      DUNNO
<alles andere>      REJECT

Aber ich weiß nicht wirklich, wie ich das umsetzen kann...

Kann mir einer helfen? Im Voraus herzlichen Dank.

Liebe Grüße,

frechdachs

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

Warum laesst du den postfix nicht einfach nur auf localhost lauschen? Kommt ja auf das selbe raus, ist aber erheblich einfacher

frechdachs

(Themenstarter)

Anmeldungsdatum:
3. Juni 2013

Beiträge: 120

sebix schrieb:

Warum laesst du den postfix nicht einfach nur auf localhost lauschen? Kommt ja auf das selbe raus, ist aber erheblich einfacher

Weil der Server mail.example.com auch für den E-Mail-Versand verwendet wird. Die User liefern E-Mails auf den submission-Port (587) ein.

Liebe Grüße

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

Dann kannst du smtp auf localhost lauschen lassen und submission am public interfaces. Also in der master.cf statt stmp zB den service 127.0.0.1:smtp (oder ::1:smtp) verwenden.

frechdachs

(Themenstarter)

Anmeldungsdatum:
3. Juni 2013

Beiträge: 120

sebix schrieb:

Dann kannst du smtp auf localhost lauschen lassen und submission am public interfaces. Also in der master.cf statt stmp zB den service 127.0.0.1:smtp (oder ::1:smtp) verwenden.

OK - das ist eine Idee.

Allerdings ist es in meinem Fall so, dass der MX-Server (mx.example.com) und der Server mail.example.com in zwei verschiedenen LXC-Containern laufen. Jeder dieser Container hat eine öffentliche IPv4-Adresse. Deshalb kann ich den smtpd nicht auf localhost lauschen lassen.

Hast Du vielleicht einen Tipp, wie man es via check_client_access umsetzen kann?

Grüße,

frechdachs

frechdachs

(Themenstarter)

Anmeldungsdatum:
3. Juni 2013

Beiträge: 120

Hallo zusammen,

ich habe das Problem gelöst, indem ich die Prüfung in die smtpd_client_restrictions aufgenommen habe:

smtpd_client_restrictions =
                             [ ... ]
                             check_client_access cidr:${config_directory}/client_access.cidr,
                             # Und hier ist Schluss:
                             reject

Der Inhalt der Datei client_access.cidr:

11.22.33.44/32      OK

Das funktioniert: Bei der Einlieferung einer E-Mail werden zuerst die smtpd_client_restrictions durchlaufen:

a) Wenn der einliefernde Client die IP-Adresse 11.22.33.44 hat, dann kommt es zu einem "OK" und die client_restrictions sind beendet. Die postfix-Software führt dann noch die anderen restrictions durch (helo, sender, recipient).

b) Wenn der einliefernde Client eine andere IP-Adresse als 11.22.33.44 hat, dann sorgt das "reject" in den client_restrictions dafür, dass die Anfrage abgelehnt wird.

Auf diese Art und Weise konnte das Problem gelöst werden. Ich bin im ersten Moment nicht darauf gekommen, weil ich normalerweise alle Tests in die smtpd_recipient_restrictions aufnehme.

Vielen Dank für Deine Unterstützung.

Liebe Grüße

Antworten |