[Postfixbuch-users] Postfix relay_restrictions für sender

Paul news at amaltea.de
Sa Mai 16 21:41:27 CEST 2015


Am 16.05.2015 um 13:03 schrieb Florian Schmidhuber:
> Hallo zusammen,
> 
> meine Installation akzeptiert aktuell das Versenden von allen E-Mail
> Adressen.
> Also angenommen die E-Mail Adresse info at example.com
> <mailto:info at example.com> ist auf meinem Server und DNS zeigt auch auf
> meinen Server.
> Wenn dieser User sich jetzt in Roundcube einloggt und hier eine
> Identität anlegt als test at test.de <mailto:test at test.de> (Identitäten
> anlegen habe ich normal gesperrt nur jetzt zu Testzwecken aktiviert!)
> und unter dieser Identität eine E-Mail versenden möchte funktioniert das.

> Da gegen dieses Problem ja eigentlich SPF eine gute Abhilfe ist ist das
> jetzt wie ich finde nicht das Problem.

Nein, SPF hilft dir hierbei gar nicht. Vermutlich hast Du SPF
mißverstanden.

> Was ich allerdings sicherstellen möchte ist das wenn auf dem Mailserver
> auch noch die Domain @heise.de <http://heise.de> eingerichtet ist von
> einem anderen Benutzer, das info at example.com
> <mailto:info at example.com> nicht per Identität als @heise.de
> <http://heise.de> versenden kann, da dann ja natürlich auch SPF nicht
> Alarm schlägt weil es ja vom richtigen Server versendet wurde.
> Nach langer Suche in der Doku und etlichen Varianten die ich probiert
> habe bekomme ich es einfach nicht so hin wie ich es mir wünsche.
> Hat hier irgendjemand einen Tipp für mich wie ich dies am besten mache?
> 
> Ich würde mir gerne reject_sender_login_mismatch sparen wenn es geht da
> aktuell Postfix nur von den Domains bescheid weis und alles weitere wie
> Authentifizierung von Dovecot gemacht wird.
> Ich möchte hier eine doppelt und dreifache Abfrage der MySQL Datenbank
> verhindern um den Mailserver so performant wie möglich zu betreiben.
> 
> Anbei noch meine postfix main.cf:

Hab grad keine Zeit, deine Konfig zu durchblicken, aber ich schätze,
dass du keinen Performanceunterschied feststellen wirst, wenn du es mit
reject_sender_login_mismatch machst, es sei denn Du hast du wirklich,
wirklich, wirklich viel Traffic und nur ne 486er Kiste? ;-)

reject_sender_login_mismatch ist genau für dein Problem gemacht und
daher solltest du es benutzen.

Viele Grüße
Paul


> # See /usr/share/postfix/main.cf.dist for a commented, more complete version
> 
> # Debian specific:  Specifying a file name will cause the first
> # line of that file to be used as the name.  The Debian default
> # is /etc/mailname.
> #myorigin = /etc/mailname
> 
> smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
> biff = no
> 
> # appending .domain is the MUA's job.
> append_dot_mydomain = no
> 
> # Disable Mailbox Size Limit
> mailbox_size_limit = 0
> 
> # Increase Message Size Limit
> message_size_limit = 104857600
> 
> # Uncomment the next line to generate "delayed mail" warnings
> #delay_warning_time = 4h
> 
> readme_directory = no
> 
> # helo vom client erfordert
> smtpd_helo_required = yes
> 
> ##### TLS settings ######
> tls_ssl_options = NO_COMPRESSION
> tls_high_cipherlist=EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
> 
> ### outgoing connections ###
> smtp_tls_security_level=may
> smtp_tls_protocols = !SSLv2, !SSLv3
> smtp_tls_ciphers = high
> smtp_tls_loglevel = 1
> smtp_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
> smtp_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
> smtp_tls_session_cache_database = btree:$data_directory/smtp_scache
> 
> ### incoming connections ###
> smtpd_tls_auth_only = yes
> smtpd_tls_security_level=may
> smtpd_tls_protocols = !SSLv2, !SSLv3
> smtpd_tls_ciphers = high
> smtpd_tls_loglevel = 0
> smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
> smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
> smtpd_tls_session_cache_database = btree:$data_directory/smtpd_scache
> 
> # SASL Auth
> smtpd_sasl_type = dovecot
> smtpd_sasl_path = private/auth
> smtpd_sasl_auth_enable = yes
> smtpd_sasl_security_options = noanonymous, noplaintext
> smtpd_sasl_tls_security_options = noanonymous
> broken_sasl_auth_clients = yes
> 
> # Network
> myhostname = mailserver.example.com <http://mailserver.example.com>
> myorigin = mailserver.example.com <http://mailserver.example.com>
> mydestination = localhost mailserver.example.com
> <http://mailserver.example.com>
> mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
> recipient_delimiter = +
> inet_interfaces = all
> inet_protocols = all
> unverified_recipient_reject_code = 550
> 
> smtpd_relay_restrictions = 
>   reject_non_fqdn_recipient
>   reject_non_fqdn_sender
>   reject_unknown_sender_domain
>   reject_unknown_recipient_domain
>   reject_unverified_recipient
>   reject_unlisted_sender
>   reject_unlisted_recipient
>   permit_sasl_authenticated
>   permit_mynetworks
>   check_policy_service inet:127.0.0.1:10023
>   reject_invalid_hostname
>   reject_unknown_helo_hostname
>   reject_unauth_destination
>   reject_sender_login_mismatch
>   reject_multi_recipient_bounce
>   reject_non_fqdn_helo_hostname
>   reject_invalid_helo_hostname
>   check_policy_service unix:private/quota-status
>   permit
> 
> # MySQL Connection
> virtual_alias_maps =
> proxy:mysql:/etc/postfix/virtual/mysql-virtual-user-aliases.cf,
> proxy:mysql:/etc/postfix/virtual/mysql-virtual-domain-aliases.cf
> relay_domains =
> proxy:mysql:/etc/postfix/virtual/mysql-virtual-mailbox-domains.cf
> transport_maps =
> proxy:mysql:/etc/postfix/virtual/mysql-virtual-transports.cf, $relay_domains
> 
> Gruß
> Flo
> 
> 




Mehr Informationen über die Mailingliste Postfixbuch-users