On 7/21/2014 10:34 AM, Thijssen wrote: > One server I maintain receives huge amounts of spam. In my ongoing > attempts at killing as many spam-mails as possible, among others I've > been using dns blacklists under the reject_rbl_client option umbrella. > For years this worked really well, combined with clamsmtpd, plus some > header and body checks. DNS caching also works on the server, the RBLs > allow my server to use their lists, yet when I check the mail.log, I'm > missing the entries related to RBL blocking entirely. I'm not sure > when this changed (has to be longer than 3 months since that's how far > back my logs go). > Could someone check the config below? (I reformatted the > smtpd_recipient_restrictions option to make it easier to skim/check, > and x-ed the vital IP/domain info) > > # postconf -n > anvil_rate_time_unit = 60s > anvil_status_update_time = 1800s > append_at_myorigin = yes > append_dot_mydomain = no > biff = no > body_checks = regexp:/etc/postfix/body_checks > body_checks_size_limit = 4096 > bounce_size_limit = 150000 > broken_sasl_auth_clients = yes > command_directory = /usr/sbin > config_directory = /etc/postfix > content_filter = scan:127.0.0.1:10025 > daemon_directory = /usr/lib/postfix > default_minimum_delivery_slots = 4 > default_process_limit = 64 > default_recipient_limit = 10000 > delay_warning_time = 8h > disable_vrfy_command = yes > empty_address_recipient = admin > header_checks = regexp:/etc/postfix/header_checks > header_size_limit = 102400 > home_mailbox = Maildir/ > html_directory = no > in_flow_delay = 1s > inet_interfaces = x.x.x.x, 127.0.0.1 > inet_protocols = ipv4 > invalid_hostname_reject_code = 554 > local_destination_concurrency_limit = 6 > local_recipient_maps = > mail_owner = postfix > mail_spool_directory = /var/mail > mailbox_size_limit = 0 > mailq_path = /usr/bin/mailq > manpage_directory = /usr/share/man > maximal_backoff_time = 3601s > maximal_queue_lifetime = 14d > message_size_limit = 36000000 > mime_header_checks = regexp:/etc/postfix/mime_header_checks > minimal_backoff_time = 180s > mydestination = $myhostname, localhost.$mydomain, localhost, > $mydomain, mail.$mydomain, x.com, x.nl, x.net, x.in, x.org, x.pm > mydomain = x.net > myhostname = x.net > mynetworks = x.x.x.0/24 127.0.0.0/8 x.x.x.x > myorigin = $mydomain > newaliases_path = /usr/bin/newaliases > non_fqdn_reject_code = 554 > qmgr_message_active_limit = 12000 > queue_directory = /var/spool/postfix > queue_minfree = 122880000 > queue_run_delay = 180s > readme_directory = /usr/share/doc/postfix > receive_override_options = no_address_mappings > recipient_delimiter = + > sample_directory = /usr/share/doc/postfix > sendmail_path = /usr/sbin/sendmail > setgid_group = postdrop > smtp_bind_address = x.x.x.x > smtp_connect_timeout = 60s > smtp_destination_concurrency_limit = 18 > smtp_destination_recipient_limit = 24 > smtp_helo_name = x.net > smtp_helo_timeout = 60s > smtp_tls_CAfile = $smtpd_tls_CAfile > smtp_tls_ciphers = export > smtp_tls_loglevel = 1 > smtp_tls_note_starttls_offer = yes > smtp_tls_protocols = !SSLv2 > smtp_tls_security_level = may > smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache > smtp_use_tls = yes > smtpd_banner = x.net ESMTP > smtpd_client_connection_count_limit = 40 > smtpd_client_connection_rate_limit = 200 > smtpd_client_message_rate_limit = 20 > smtpd_data_restrictions = reject_multi_recipient_bounce, > reject_unauth_pipelining, permit > smtpd_delay_reject = yes > smtpd_error_sleep_time = 2s > smtpd_hard_error_limit = 18 > smtpd_helo_required = yes > smtpd_recipient_limit = 80 > smtpd_recipient_overshoot_limit = 120 > > smtpd_recipient_restrictions = > reject_invalid_hostname, > reject_unknown_recipient_domain, > reject_unauth_pipelining, > permit_mynetworks, > permit_sasl_authenticated, > check_client_access hash:/etc/postfix/whitelist,
Danger! any client you OK in this whitelist also gets relay permission. This should be below reject_unauth_destination. If this is a list of clients you intend to give relay access to, it should be renamed to make its function clear to prevent accidents -- maybe relay_clients. > reject_unauth_destination, Ok, now rejecting unauth destinations. > reject_non_fqdn_recipient, > reject_non_fqdn_sender, > reject_unknown_sender_domain, > permit_auth_destination, And here you permit auth destinations. There's no mail left after this; none of the rules below will ever fire. It should be safe to remove it. -- Noel Jones > permit_dnswl_client hostkarma.junkemailfilter.com=127.0.0.1, > permit_dnswl_client hostkarma.junkemailfilter.com=127.0.0.5, > reject_rbl_client badconf.rhsbl.sorbs.net, > reject_rbl_client new.spam.dnsbl.sorbs.net, > reject_rbl_client hostkarma.junkemailfilter.com=127.0.0.2, > reject_rbl_client b.barracudacentral.org, > reject_rbl_client all.s5h.net, > reject_rbl_client bl.blocklist.de, > reject_rbl_client dnsbl.inps.de, > reject_rbl_client ubl.unsubscore.com, > reject_rbl_client virbl.dnsbl.bit.nl, > reject_rbl_client mail-abuse.blacklist.jippg.org, > permit > > smtpd_sasl_auth_enable = yes > smtpd_sasl_authenticated_header = no > smtpd_sasl_local_domain = > smtpd_sasl_security_options = noanonymous > smtpd_sender_restrictions = permit_mynetworks, reject_non_fqdn_sender, > reject_unknown_sender_domain, check_sender_access > hash:/etc/postfix/sender_access, permit > smtpd_soft_error_limit = 8 > smtpd_tls_CAfile = /etc/postfix/ssl/ca-certificates.crt > smtpd_tls_auth_only = no > smtpd_tls_cert_file = /etc/postfix/ssl/x.net.crt > smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem > smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem > smtpd_tls_eecdh_grade = strong > smtpd_tls_key_file = /etc/postfix/ssl/x.net.key > smtpd_tls_loglevel = 1 > smtpd_tls_received_header = no > smtpd_tls_security_level = may > smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache > smtpd_tls_session_cache_timeout = 3600s > smtpd_use_tls = yes > strict_rfc821_envelopes = yes > tls_preempt_cipherlist = yes > tls_random_source = dev:/dev/urandom > undisclosed_recipients_header = To: (Probably SPAM or SCAM) > undisclosed-recipients:; > unknown_address_reject_code = 554 > unknown_client_reject_code = 554 > unknown_hostname_reject_code = 554 > unknown_local_recipient_reject_code = 554 > unknown_virtual_alias_reject_code = 554 > unknown_virtual_mailbox_reject_code = 554 > unverified_recipient_reject_code = 554 > unverified_sender_reject_code = 554 > > and # cat master.cf > > # ========================================================================== > # service type private unpriv chroot wakeup maxproc command + args > # (yes) (yes) (yes) (never) (100) > # ========================================================================== > > # SMTP (25/TCP) > smtp inet n - y - - smtpd -o > smtpd_sasl_auth_enable=yes > # Submission (587/TCP+UDP) > submission inet n - y - - smtpd -o > smtpd_sasl_auth_enable=yes > smtp inet n - n - 24 smtpd > # raised from 10 (2014-07): > -o smtpd_client_connection_count_limit=16 > pickup fifo n - n 60 1 pickup > cleanup unix n - n - 0 cleanup > qmgr fifo n - n 300 1 qmgr > #qmgr fifo n - n 300 1 oqmgr > tlsmgr unix - - n 1000? 1 tlsmgr > rewrite unix - - n - - trivial-rewrite > bounce unix - - n - 0 bounce > defer unix - - n - 0 bounce > trace unix - - n - 0 bounce > verify unix - - n - 1 verify > flush unix n - n 1000? 0 flush > proxymap unix - - n - - proxymap > smtp unix - - n - - smtp > # When relaying mail as backup MX, disable fallback_relay to avoid MX loops > relay unix - - n - - smtp > -o fallback_relay= > # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 > showq unix n - n - - showq > error unix - - n - - error > discard unix - - n - - discard > local unix - n n - - local > virtual unix - n n - - virtual > lmtp unix - - n - - lmtp > anvil unix - - n - 1 anvil > scache unix - - n - 1 scache > > maildrop unix - n n - - pipe > flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} > > old-cyrus unix - n n - - pipe > flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m > ${extension} ${user} > cyrus unix - n n - - pipe > user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m > ${extension} ${user} > > uucp unix - n n - - pipe > flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail > ($recipient) > > ifmail unix - n n - - pipe > flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) > bsmtp unix - n n - - pipe > flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient > > > # [ ClamSMTP begin scan filter (used by content_filter) > scan unix - - n - 16 smtp > -o smtp_data_done_timeout=1200 > -o smtp_send_xforward_command=yes > -o smtp_enforce_tls=no > # For injecting mail back into postfix from the filter > 127.0.0.1:10026 inet n - n - 16 smtpd > -o content_filter= > -o local_recipient_maps= > -o relay_recipient_maps= > -o smtpd_restriction_classes= > -o smtpd_client_restrictions= > -o smtpd_helo_restrictions= > -o smtpd_sender_restrictions= > -o smtpd_recipient_restrictions=permit_mynetworks,reject > -o mynetworks_style=host > -o smtpd_authorized_xforward_hosts=127.0.0.0/8 > # Clamsmtpd end ] > > retry unix - - - - - error > > > Any insights into what could be wrong? >