postfix smtpd client restrictions

serenissimus

New Member
Hallo,

ich möchte auf ubuntu hardy ein postfix als relay einrichten. SMTP nutzer sollen mit TLS und sasldb2 authentiziert werden.

Soweit so gut. postfix nimmt nun smtp clients an, leitet die mails weiter. das problem ist, dass auch unknown und anonymous angenommen werden, die ich in meinen augen explizit verboten habe. sasldb2 scheint zu laufen, da ich erst einen fehler im auffinden der sasldb2 datei hatte, die ich erst an die richtige stelle schieben musste /var/spool/postfix/etc/sasldb2. danach werden nutzer mit password entsprechend sasldb2 akzeptiert, vorher funktionierte dies nicht.

die mails werden korrekt relyaed und haben folgenden header

Code:
from [192.168.1.9] (unknown [192.168.1.9]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by relay.mydomain.com (Postfix) with ESMTPS id 9C740E824A for <user@mydomain.com>; Sat, 23 Aug 2008 09:51:28 +0400 (CET)

warum laesst mein postfix unknown zu und
warum (No client certificate requested) ?

postfix: main.cf haelt folgende einträge:

Code:
# TLS parameters

smtpd_use_tls = yes
smtpd_sasl_auth_enable = yes
smtpd_tls_auth_only = yes
smtpd_sasl_security_options = noanonymous
smtpd_tls_loglevel = 1
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s

tls_random_source = dev:/dev/urandom

smtpd_sasl_local_domain =
smtpd_sasl_path = smtpd

smtpd_client_restrictions = permit_sasl_authenticated
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,check_relay_domains
smtpd_sasl_password_maps = hash:/etc/postfix/sasl_passwords
broken_sasl_auth_clients = yes

smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

mein /var/log/mail.log gibt folgendes
Code:
Aug 23 09:51:28 ubuntuppc postfix/smtpd[10413]: connect from unknown[192.168.1.9]
Aug 23 09:51:28 ubuntuppc postfix/smtpd[10413]: setting up TLS connection from unknown[192.168.1.9]
Aug 23 09:51:28 ubuntuppc postfix/smtpd[10413]: Anonymous TLS connection established from unknown[192.168.1.9]: TLSv1 with cipher AES128-SHA (128/128 bits)
Aug 23 09:51:28 ubuntuppc postfix/smtpd[10413]: 9C740E824A: client=unknown[192.168.1.9]
Aug 23 09:51:28 ubuntuppc postfix/cleanup[10417]: 9C740E824A: message-id=<C042B4B6-4EA2-4822-8A43-38ABAD2C3725@mydomain.com>
Aug 23 09:51:28 ubuntuppc postfix/qmgr[10410]: 9C740E824A: from=<sender@mydomain.com>, size=3041, nrcpt=1 (queue active)
Aug 23 09:51:36 ubuntuppc postfix/smtp[10418]: 9C740E824A: to=<receiver@mydomain.com>, relay=meinisp[seineip]:25, delay=7.5, delays=0.1/0.1/5/2.2, dsn=2.0.0, status=sent (250 OK id=1KWlg4-0004LT-Ow)
Aug 23 09:51:36 ubuntuppc postfix/qmgr[10410]: 9C740E824A: removed
Aug 23 09:52:28 ubuntuppc postfix/smtpd[10413]: disconnect from unknown[192.168.1.9]

also TLS funktioniert, der server fordert nur kein certifikat vom client
im postfix wird noanonymous gefordert, was aber so nicht klappt.

weiss jemand rat ?

s
 
das ergibt folgende antwort

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.0/24
mynetworks_style = subnet
parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks
smtpd_client_event_limit_exceptions = ${smtpd_client_connection_limit_exceptions:$mynetworks}
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,check_relay_domains
 
In smtpd_client_restrictions steht am Ende der Liste kein reject, daher greift die Regel nicht. (Diesen Parameter würde ich allerdings nicht verwenden, wenn Du auch Mails empfangen willst, sei es via eingetragenem MX-Record oder per fetchmail)

In smtpd_recipient_restrictions steht an zweiter Stelle permit_mynetworks und der einliefernde Client in obigem Logfile ist nach Deiner letzten Angabe Teil von mynetworks). Daher darf der Client -- wenn er es versucht -- auch ohne Authentifizierung senden.
 
Last edited by a moderator:
Back
Top