On Tue, 31 Mar 2009, Russell Horn wrote:

> I've a user who had their mail rejected for not presenting a FQDN as part of
> the SMTP HELO, yet they were sasl authenticated.
> 
> The log says:
> 
> Apr  1 01:06:31 paddington postfix/smtpd[3215]: NOQUEUE: reject: RCPT from
> xxx.blueyonder.co.uk[92.xxx.xxx.xxx]: 504 <titan>: Helo command rejected:
> need fully-qualified hostname; from=<b...@example.com> to=<
> russ...@example.com> proto=ESMTP helo=<titan>

Can you show logging that confirms this client authenticated?  For example,
what is the output of:

% grep 3215 /var/log/maillog | grep sasl_method

> I thought is premit_sasl_authenticated came first, then that would take
> precidence over the reject_non_fqdn, is that not the case, or is something
> else wrong?

smtpd_recipient_restrictions are applied in the order they are specified.

> access_map_reject_code = 550

What's wrong with 554?

> alias_database = hash:/etc/aliases
> alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
> body_checks = pcre:/etc/postfix/virus
> bounce_size_limit = 1000
> broken_sasl_auth_clients = yes
> canonical_maps = hash:/etc/postfix/canonical
> command_directory = /usr/sbin
> config_directory = /etc/postfix
> daemon_directory = /usr/lib/postfix
> debug_peer_level = 3
> default_destination_concurrency_limit = 20
> default_process_limit = 20
> defer_transports =
> disable_dns_lookups = no
> disable_vrfy_command = yes
> header_checks = pcre:/etc/postfix/headerchecks
> html_directory = /usr/share/doc/packages/postfix/html
> invalid_hostname_reject_code = 501
> lmtp_sasl_security_options = noanonymous
> local_destination_concurrency_limit = 3
> local_recipient_maps =
> mail_name = Postfix ESMTP $myhostname

Your $smtpd_banner must look ridiculous.

> mail_spool_directory = /var/mail
> mailbox_transport = lmtp:unix:/var/spool/postfix/socket/lmtp
> mailq_path = /usr/bin/mailq
> manpage_directory = /usr/share/man
> maps_rbl_domains = blackholes.mail-abuse.org, sbl.spamhaus.org,
> bl.spamcop.net, blackholes.easynet.nl

Obsolete; consider using reject_rbl_client instead.

> maps_rbl_reject_code = 550

Why did you change this from 554?

> masquerade_exceptions = root
> message_size_limit = 35000000
> mime_header_checks = pcre:/etc/postfix/virus
> mydestination = example.com
> mynetworks = 87.117.xxx.xxx
> myorigin = example.com
> newaliases_path = /usr/bin/newaliases
> owner_request_special = no
> readme_directory = /usr/share/doc/packages/postfix/README_FILES
> recipient_delimiter = +
> reject_code = 550

Why?  Just curious.

> relay_domains_reject_code = 550
> relocated_maps = hash:/etc/postfix/relocated
> sample_directory = /usr/share/doc/packages/postfix/samples
> sendmail_path = /usr/sbin/sendmail
> setgid_group = maildrop
> smtp_sasl_security_options =
> smtp_tls_CAfile = /etc/postfix/certs/ssl.ca
> smtp_tls_cert_file = /etc/postfix/certs/ssl.cert
> smtp_tls_key_file = /etc/postfix/certs/ssl.key
> smtp_tls_loglevel = 1
> smtp_tls_note_starttls_offer = yes
> smtp_tls_session_cache_database = sdbm:/etc/postfix/cache/smtp_scache
> smtp_tls_session_cache_timeout = 3600s
> smtp_use_tls = yes
> smtpd_client_restrictions = hash:/etc/postfix/access, reject_maps_rbl

This is odd.  You have type:table without specifying a restriction that
queries that type:table; see postconf(5).

> smtpd_delay_reject = no
> smtpd_helo_required = yes
> smtpd_recipient_limit = 300
> smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated,
> check_client_access hash:/etc/postfix/access, reject_unauth_destination
> hash:/etc/postfix/block, reject_non_fqdn_hostname, reject_non_fqdn_sender,
> reject_non_fqdn_recipient, reject_invalid_hostname,
> reject_unknown_sender_domain, check_relay_domains
> smtpd_sasl_auth_enable = yes
> smtpd_sasl_local_domain = foo
> smtpd_sasl_security_options = noanonymous
> smtpd_sender_restrictions = check_sender_access, hash:/etc/postfix/spammers

Extraneous comma.

-- 
Sahil Tandon <sa...@tandon.net>

Reply via email to