Hosts in mynetworks sollen nur Absender Adressen aus relay_recipient_maps verwenden dürfen
![](https://secure.gravatar.com/avatar/817363e87fa45d4e059f15576564d79d.jpg?s=120&d=mm&r=g)
Hallo Postfix-Users
Kann ich Postfix so konfigurieren, dass angeschlossene Mailserver (gelistet in mynetworks) über Postfix relayen dürfen, aber als Absenderadressen nur diese Adressen verwenden dürfen, welche auch in relay_recipient_maps angegeben sind?
Zur Erklärung ein paar mehr Fakten...
Ich bastle gerade an einem neuen Mailgateway meines Arbeitgebers. Debian 8.2 ,Postfix 2.11.3, Amavis, Spamassassin, usw...
Auf diesem Server gibt es keine Mailboxen oder Mailuser. Alle eingehenden Mails (von Internet-Seite) werden an verschiedene Mailsysteme (intern) weitergeleitet. In einer MySQL-Tabelle sind alle gültigen Empfänger-Adressen aller angeschlossenen internen Mailsysteme hinterlegt.
Postfix kennt alle Empfänger-Adressen der angeschlossenen Mailsysteme und nimmt nur diese an. SMTP-Auth (SASL) oder address_verify_map für relay_domains ist leider nicht möglich.
relay_domains = proxy:mysql:/etc/postfix/relay_domains.mysql = Liste der Domains die nach intern weitergeleitet werden.
relay_recipient_maps = proxy:mysql:/etc/postfix/relay_recipients.mysql = Liste aller Empfänger-Adressen der relay_domains
smtpd_reject_unlisted_recipient = yes = Postfix nimmt unbekannte Empfänger nicht an.
Dank smtpd_reject_unlisted_sender = yes können auch nur Absender Adressen von meinen relay_domains verwendet werden, wenn diese in relay_recipient_maps vorhanden sind.
Beispiel: relay_domains dom1.example.org dom2.example.org
relay_recipients user1@dom1.example.org user2@dom1.example.org user1@dom2.example.org user2@dom2.example.org
Wenn ich nun E-Mails über diesen Mailserver ins Internet-verschicke (von intern nach extern), kann ich nur die Absenderadressen verwenden die in relay_recipients angeführt sind. Dies funktioniert aber nur wenn die Absender-Domain in relay_domains angeführt sind.
Absender user1@dom1.example.org funktioniert user2@dom2.example.org funktioniert user3@dom1.example.org funktioniert nicht NOQUEUE: reject: 550 5.1.0 Sender address rejected: User unknown in relay recipient table; genau so möchte ich das haben.
Da die "internen" Mailsysteme auch in mynetworks geführt werden, können diese Mailsysteme E-Mails verschicken, deren Absender komplett unbekannt sind. Absender user0815@anderedomain.com funktioniert, sofern diese Domain existiert (Dank reject_unknown_recipient_domain)
Kann ich Postfix so kinfigurieren, dass auch hosts in mynetworks nur absender Adressen verwenden dürfen, welche in relay_recipient_maps angegeben sind. Und andernfalls die Nachrichten nicht annimmt.
Noch ein paar ergänzende Einstellungen meiner main.cf
relay_domains = proxy:mysql:/etc/postfix/relay_domains.mysql transport_maps = hash:/etc/postfix/transport, $relay_domains relay_recipient_maps = proxy:mysql:/etc/postfix/relay_recipients.mysql smtpd_reject_unlisted_sender = yes smtpd_reject_unlisted_recipient = yes smtpd_helo_restrictions = warn_if_reject reject_unknown_helo_hostname smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_relay_restrictions = check_recipient_access hash:/etc/postfix/mxsysallow reject_unknown_recipient_domain permit_mynetworks, reject_unauth_destination
smtpd_recipient_restrictions = permit_mynetworks, check_recipient_access hash:/etc/postfix/mxsysallow # reject_unauth_destination is not needed here if the mail # relay policy is specified under smtpd_relay_restrictions # (available with Postfix 2.10 and later). reject_unauth_destination, check_helo_access hash:/etc/postfix/helo_access, reject_rbl_client zen.spamhaus.org, reject_rhsbl_reverse_client dbl.spamhaus.org, reject_rhsbl_helo dbl.spamhaus.org, reject_rhsbl_sender dbl.spamhaus.org check_policy_service inet:127.0.0.1:10023, check_policy_service unix:private/policy-spf, reject_rbl_client bl.spamcop.net, reject_rbl_client cbl.abuseat.org,
---------------------------------
Folgendes habe ich auch schon probiert
smtpd_relay_restrictions = check_recipient_access hash:/etc/postfix/mxsysallow reject_unknown_recipient_domain check_sender_access proxy:mysql:/etc/postfix/my_relay_senders.mysql, check_sender_access hash:/etc/postfix/my_special_relay_senders, REJECT, permit_mynetworks, reject_unauth_destination
my_relay_senders.mysql ist eine Mysql-Abfrage auf die gleiche Tabelle, wie proxy:mysql:/etc/postfix/relay_recipients.mysql, Liefert aber OK wenn eine E-Mail Adresse matcht. Das Unschöne an dieser Lösung ist, dass "REJECT," im SMTP - Dialog ein 554 5.7.1 ...Recipient address rejected: Access denied; erzeugt, aber nicht über die falsche Absender-Adresse informiert.
Vielleicht hat hier jemand eine Idee für meine Könfigurationswünsche
MFG Flo
participants (1)
-
Wenger Florian