Currently my production mail relay for work (sitting between Exchange
and the Internet) uses Postfix 2.9.3 on Debian 6.  I'm building up a new
system using Postfix 2.11.0 on Ubuntu 14, and incorporating postscreen
as the first line of defense.  Almost all the software is installed with
distro packages in both cases.  The postscreen config is based on rob0's
example that is available on the Internet.

After the server has been running for a while, it will reject all
connection attempts with a 450 code.  There's nothing in the log as to
why it's being rejected.

Feb 11 13:22:24 nexus1 postfix/postscreen[27744]: CONNECT from
[166.70.79.219]:37044 to [10.8.0.21]:25
Feb 11 13:22:31 nexus1 postfix/postscreen[27744]: NOQUEUE: reject: RCPT
from [166.70.79.219]:37044: 450 4.3.2 Service currently unavailable;
from=<elyog...@elyograg.org>, to=<shei...@redacted.com>, proto=ESMTP,
helo=<frodo.elyograg.org>
Feb 11 13:22:32 nexus1 postfix/postscreen[27744]: PASS NEW
[166.70.79.219]:37044
Feb 11 13:22:32 nexus1 postfix/postscreen[27744]: DISCONNECT
[166.70.79.219]:37044

With no changes to the config, I can restart postfix, then flush the
queue on my personal server which is trying to send the message, and it
will immediately get through with no problem.  This problem is a
showstopper that is preventing me from bringing this new server into
production.

I suspect (but cannot confirm) that postscreen is having difficulty
reaching one or more of its configured DNSBL servers.

Is it possible to configure postscreen so that it will log the
underlying reason for the reject?  If so, how do I do that?  Any ideas
for how to detect and fix this problem are appreciated.

Here's my slightly redacted postconf -n output:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
body_checks = pcre:/etc/postfix/body_checks
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
disable_vrfy_command = yes
header_checks = pcre:/etc/postfix/header_checks
inet_interfaces = all
mailbox_size_limit = 524288000
message_size_limit = 52428800
mydestination = nexus1.REDACTED.com, localhost.REDACTED.com, localhost
myhostname = nexus1.REDACTED.com
mynetworks = REDACTED
myorigin = /etc/mailname
postscreen_access_list = permit_mynetworks,
cidr:/etc/postfix/client_access, cidr:/etc/postfix/postcreen_access,
postscreen_bare_newline_action = enforce
postscreen_bare_newline_enable = yes
postscreen_blacklist_action = drop
postscreen_dnsbl_action = enforce
postscreen_dnsbl_reply_map =
pcre:/etc/postfix/postscreen_dnsbl_reply_map.pcre
postscreen_dnsbl_sites = zen.spamhaus.org*3 b.barracudacentral.org*2
bl.spameatingmonkey.net*2 bl.spamcop.net dnsbl.sorbs.net
psbl.surriel.com bl.mailspike.net swl.spamhaus.org*-4
list.dnswl.org=127.[0..255].[0..255].0*-2
list.dnswl.org=127.[0..255].[0..255].1*-3
list.dnswl.org=127.[0..255].[0..255].[2..255]*-4
postscreen_dnsbl_threshold = 3
postscreen_greet_action = enforce
postscreen_non_smtp_command_enable = yes
postscreen_pipelining_enable = yes
readme_directory = no
recipient_delimiter = +
relay_domains = $mydestination, hash:/etc/postfix/relaydomains
relay_recipient_maps = hash:/etc/postfix/relay_recipients
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_client_connection_count_limit = 20
smtpd_client_connection_rate_limit = 60
smtpd_client_restrictions = permit_mynetworks, check_client_access
regexp:/etc/postfix/client_regexp, check_client_access
cidr:/etc/postfix/client_access, reject_unknown_reverse_client_hostname
reject_unknown_client_hostname
smtpd_data_restrictions = check_client_access
cidr:/etc/postfix/rule_breakers, reject_unauth_pipelining,
permit_mynetworks, reject_multi_recipient_bounce
smtpd_delay_reject = yes
smtpd_error_sleep_time = 15
smtpd_hard_error_limit = 5
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,
reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname
smtpd_recipient_restrictions = permit_mynetworks, sleep 2,
check_recipient_access hash:/etc/postfix/recipient_access,
reject_non_fqdn_recipient, reject_unauth_destination,
reject_unknown_recipient_domain, reject_unlisted_recipient,
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated
defer_unauth_destination
smtpd_sender_restrictions = permit_mynetworks, check_sender_access
hash:/etc/postfix/sender_access, reject_non_fqdn_sender,
reject_unknown_sender_domain
smtpd_soft_error_limit = 2
smtpd_tls_cert_file = /etc/ssl/certs/local/wildcard.combined.pem
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
transport_maps = hash:/etc/postfix/transport
virtual_alias_maps = hash:/etc/postfix/virtual

Thanks,
Shawn

Reply via email to