1 (edited by DrMawashi 2016-03-24 03:09:04)

Topic: Spam from localdomain

======== Required information ====
- iRedMail version (check /etc/iredmail-release): 0.9.4
- Linux/BSD distribution name and version: Ubuntu
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): MySQL
- Web server (Apache or Nginx): Apache
- Manage mail accounts with iRedAdmin-Pro? Yes
- Related log if you're reporting an issue:
====

Hello!

I have two servers with iRedMail. Using one of them (lets call this server X, postfix 2.8.5)  spammers can send mails through "local relay". For example, on server X I have mail accounts in domain xyz.com and I see in logs mails sent without authorization, from non-existing accounts in domain xyz.com to existing accounts in the same domain:

 Mar  23 16:43:47 serverX amavis[6805]: (06805-15) Passed CLEAN, [XXX.XXX.XXX.XXX] [XXX.XXX.XXX.XXX] <nonexistingaccount@xyz.com> -> <existingaccount@xyz.com>, Message-ID: <XXXX>, mail_id: XXXX, Hits: 4.13, size: 5079, queued_as: B891B658F6, 458 ms

postconf -n :

alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
allow_min_user = no
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 1d
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
delay_warning_time = 0h
disable_vrfy_command = yes
enable_original_recipient = no
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = ipv4
mailbox_command = /usr/lib/dovecot/deliver
mailbox_size_limit = 0
maximal_backoff_time = 4000s
maximal_queue_lifetime = 1d
message_size_limit = 256000000
minimal_backoff_time = 300s
mydestination = $myhostname, localhost, localhost.localdomain, localhost.$myhostname
mydomain = xyz.com
myhostname = serverX
mynetworks = 127.0.0.0/8
mynetworks_style = subnet
myorigin = serverX
proxy_read_maps = $canonical_maps $lmtp_generic_maps $local_recipient_maps $mydestination $mynetworks $recipient_bcc_maps $recipient_canonical_maps $relay_domains $relay_recipient_maps $relocated_maps $sender_bcc_maps $sender_canonical_maps $smtp_generic_maps $smtpd_sender_login_maps $transport_maps $virtual_alias_domains $virtual_alias_maps $virtual_mailbox_domains $virtual_mailbox_maps $smtpd_sender_restrictions
queue_run_delay = 300s
readme_directory = no
recipient_bcc_maps = proxy:mysql:/etc/postfix/mysql/recipient_bcc_maps_user.cf, proxy:mysql:/etc/postfix/mysql/recipient_bcc_maps_domain.cf
recipient_delimiter = +
relay_domains = $mydestination, proxy:mysql:/etc/postfix/mysql/relay_domains.cf
relayhost = 
sender_bcc_maps = proxy:mysql:/etc/postfix/mysql/sender_bcc_maps_user.cf, proxy:mysql:/etc/postfix/mysql/sender_bcc_maps_domain.cf
smtp_data_init_timeout = 240s
smtp_data_xfer_timeout = 600s
smtp_tls_CAfile = $smtpd_tls_CAfile
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_enforce_tls = no
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated, check_helo_access pcre:/etc/postfix/helo_access.pcre
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unlisted_recipient, check_policy_service inet:127.0.0.1:7777, permit_mynetworks, permit_sasl_authenticated,reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, reject_unauth_destination, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, reject_rbl_client b.barracudacentral.org, reject_rbl_client dnsbl.sorbs.net
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_local_domain = 
smtpd_sasl_path = ./dovecot-auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_login_maps = proxy:mysql:/etc/postfix/mysql/sender_login_maps.cf
smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail_CA.pem
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail_CA.pem
smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_loglevel = 0
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
transport_maps = proxy:mysql:/etc/postfix/mysql/transport_maps_user.cf, proxy:mysql:/etc/postfix/mysql/transport_maps_domain.cf
virtual_alias_domains = 
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql/virtual_alias_maps.cf, proxy:mysql:/etc/postfix/mysql/domain_alias_maps.cf, proxy:mysql:/etc/postfix/mysql/catchall_maps.cf, proxy:mysql:/etc/postfix/mysql/domain_alias_catchall_maps.cf
virtual_gid_maps = static:1000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf
virtual_minimum_uid = 1000
virtual_transport = dovecot
virtual_uid_maps = static:1000

On the other hand, on server Y (fresh installation, default config, postfix 2.11.7) everything works fine - such mails are rejected after RCPT TO:

MAIL FROM: nonexistingaccount@xyz.info
250 2.1.0 Ok
RCPT TO: existingaccount@xyz.info
550 5.1.0 <nonexistingaccount@xyz.info>: Sender address rejected: User unknown in virtual mailbox table

Thanks in advance!

----

Spider Email Archiver: On-Premises, lightweight email archiving software developed by iRedMail team. Supports Amazon S3 compatible storage and custom branding.

2

Re: Spam from localdomain

*) Could you please compare output of "postconf -n" on both servers, and show us the differences?
*) This issue was reported several times by Ubuntu users, other Linux/BSD distributions don't have this issue. I'm not very sure why it occurs on Ubuntu, maybe the Postfix was compiled with improper options. But i didn't figure it out after checking Postfix package in Ubuntu package repository -- i was lost, not find the compile options ... (shame)

As a temporary issue, please enable iRedAPD plugin 'reject_sender_login_mismatch' in /opt/iredapd/settings.py to fix it. But we still need your comparison of "postconf -n" to figure out the root cause.

3

Re: Spam from localdomain

Server Y is based on FreeBSD - fresh installation, no config changes.

--- postconf-serverX.conf    2016-03-26 11:44:29.937026032 +0100
+++ postconf-serverY.conf    2016-03-26 11:44:40.327077961 +0100
@@ -1,74 +1,98 @@
-alias_database = hash:/etc/postfix/aliases
-alias_maps = hash:/etc/postfix/aliases
+alias_database = hash:/usr/local/etc/postfix/aliases
+alias_maps = hash:/usr/local/etc/postfix/aliases
 allow_min_user = no
-append_dot_mydomain = no
+allow_percent_hack = no
 biff = no
-bounce_queue_lifetime = 1d
+body_checks = pcre:/usr/local/etc/postfix/body_checks.pcre
+bounce_queue_lifetime = 4h
 broken_sasl_auth_clients = yes
-config_directory = /etc/postfix
+command_directory = /usr/local/sbin
+config_directory = /usr/local/etc/postfix
 content_filter = smtp-amavis:[127.0.0.1]:10024
+daemon_directory = /usr/local/libexec/postfix
+data_directory = /var/db/postfix
+debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
+debug_peer_level = 2
 delay_warning_time = 0h
 disable_vrfy_command = yes
+dovecot_destination_recipient_limit = 1
 enable_original_recipient = no
+header_checks = pcre:/usr/local/etc/postfix/header_checks
 home_mailbox = Maildir/
+html_directory = /usr/local/share/doc/postfix
 inet_interfaces = all
 inet_protocols = ipv4
-mailbox_command = /usr/lib/dovecot/deliver
-mailbox_size_limit = 0
+lmtp_tls_mandatory_protocols = !SSLv2 !SSLv3
+lmtp_tls_protocols = !SSLv2 !SSLv3
+mailbox_command = /usr/local/libexec/dovecot/deliver
+mail_owner = postfix
+mailq_path = /usr/local/bin/mailq
+manpage_directory = /usr/local/man
 maximal_backoff_time = 4000s
-maximal_queue_lifetime = 1d
-message_size_limit = 256000000
+maximal_queue_lifetime = 4h
+message_size_limit = 15728640
 minimal_backoff_time = 300s
-mydestination = $myhostname, localhost, localhost.localdomain, localhost.$myhostname
-mydomain = xyz.com
-myhostname = serverX
-mynetworks = 127.0.0.0/8
-mynetworks_style = subnet
-myorigin = serverX
+mydestination = $myhostname, localhost, localhost.localdomain
+mydomain = serverY
+myhostname = serverY
+mynetworks = 127.0.0.1
+mynetworks_style = host
+myorigin = serverY
+newaliases_path = /usr/local/bin/newaliases
 proxy_read_maps = $canonical_maps $lmtp_generic_maps $local_recipient_maps $mydestination $mynetworks $recipient_bcc_maps $recipient_canonical_maps $relay_domains $relay_recipient_maps $relocated_maps $sender_bcc_maps $sender_canonical_maps $smtp_generic_maps $smtpd_sender_login_maps $transport_maps $virtual_alias_domains $virtual_alias_maps $virtual_mailbox_domains $virtual_mailbox_maps $smtpd_sender_restrictions
+queue_directory = /var/spool/postfix
 queue_run_delay = 300s
-readme_directory = no
-recipient_bcc_maps = proxy:mysql:/etc/postfix/mysql/recipient_bcc_maps_user.cf, proxy:mysql:/etc/postfix/mysql/recipient_bcc_maps_domain.cf
+readme_directory = /usr/local/share/doc/postfix
+recipient_bcc_maps = proxy:mysql:/usr/local/etc/postfix/mysql/recipient_bcc_maps_user.cf, proxy:mysql:/usr/local/etc/postfix/mysql/recipient_bcc_maps_domain.cf
 recipient_delimiter = +
-relay_domains = $mydestination, proxy:mysql:/etc/postfix/mysql/relay_domains.cf
-relayhost = 
-sender_bcc_maps = proxy:mysql:/etc/postfix/mysql/sender_bcc_maps_user.cf, proxy:mysql:/etc/postfix/mysql/sender_bcc_maps_domain.cf
+relay_domains = $mydestination, proxy:mysql:/usr/local/etc/postfix/mysql/relay_domains.cf
+sample_directory = /usr/local/etc/postfix
+sender_bcc_maps = proxy:mysql:/usr/local/etc/postfix/mysql/sender_bcc_maps_user.cf, proxy:mysql:/usr/local/etc/postfix/mysql/sender_bcc_maps_domain.cf
+sendmail_path = /usr/local/sbin/sendmail
+setgid_group = maildrop
+smtp-amavis_destination_recipient_limit = 1
 smtp_data_init_timeout = 240s
 smtp_data_xfer_timeout = 600s
-smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
 smtpd_data_restrictions = reject_unauth_pipelining
-smtpd_enforce_tls = no
+smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:7777,
 smtpd_helo_required = yes
-smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated, check_helo_access pcre:/etc/postfix/helo_access.pcre
-smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unlisted_recipient, check_policy_service inet:127.0.0.1:7777, permit_mynetworks, permit_sasl_authenticated,reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, reject_unauth_destination, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, reject_rbl_client b.barracudacentral.org, reject_rbl_client dnsbl.sorbs.net
+smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, check_helo_access pcre:/usr/local/etc/postfix/helo_access.pcre
+smtpd_recipient_restrictions = reject_unknown_recipient_domain, reject_non_fqdn_recipient, reject_unlisted_recipient, check_policy_service inet:127.0.0.1:7777, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_rbl_client zen.spamhaus.org
 smtpd_reject_unlisted_recipient = yes
 smtpd_reject_unlisted_sender = yes
 smtpd_sasl_auth_enable = yes
-smtpd_sasl_authenticated_header = no
-smtpd_sasl_local_domain = 
-smtpd_sasl_path = ./dovecot-auth
+smtpd_sasl_local_domain =
+smtpd_sasl_path = private/dovecot-auth
 smtpd_sasl_security_options = noanonymous
 smtpd_sasl_type = dovecot
-smtpd_sender_login_maps = proxy:mysql:/etc/postfix/mysql/sender_login_maps.cf
-smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated
-smtpd_tls_CAfile = /etc/ssl/certs/iRedMail_CA.pem
-smtpd_tls_cert_file = /etc/ssl/certs/iRedMail_CA.pem
+smtpd_sender_login_maps = proxy:mysql:/usr/local/etc/postfix/mysql/sender_login_maps.cf
+smtpd_sender_restrictions = reject_unknown_sender_domain, reject_non_fqdn_sender, reject_unlisted_sender,check_sender_access pcre:/usr/local/etc/postfix/sender_access.pcre, permit_mynetworks, reject_sender_login_mismatch, permit_sasl_authenticated
+smtpd_tls_auth_only = yes
+smtpd_tls_CAfile = /etc/ssl/certs/CAiRedMail.crt
+smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
+smtpd_tls_dh1024_param_file = /etc/ssl/dhparams.pem
 smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
 smtpd_tls_loglevel = 0
+smtpd_tls_mandatory_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA
+smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3
+smtpd_tls_protocols = !SSLv2 !SSLv3
 smtpd_tls_security_level = may
-smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
-smtpd_use_tls = yes
 smtp_tls_CAfile = $smtpd_tls_CAfile
+smtp_tls_loglevel = 0
+smtp_tls_mandatory_protocols = !SSLv2 !SSLv3
+smtp_tls_note_starttls_offer = yes
+smtp_tls_protocols = !SSLv2 !SSLv3
 smtp_tls_security_level = may
-smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
+swap_bangpath = no
 tls_random_source = dev:/dev/urandom
-transport_maps = proxy:mysql:/etc/postfix/mysql/transport_maps_user.cf, proxy:mysql:/etc/postfix/mysql/transport_maps_domain.cf
-virtual_alias_domains = 
-virtual_alias_maps = proxy:mysql:/etc/postfix/mysql/virtual_alias_maps.cf, proxy:mysql:/etc/postfix/mysql/domain_alias_maps.cf, proxy:mysql:/etc/postfix/mysql/catchall_maps.cf, proxy:mysql:/etc/postfix/mysql/domain_alias_catchall_maps.cf
-virtual_gid_maps = static:1000
-virtual_mailbox_base = /home/vmail
-virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf
-virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf
-virtual_minimum_uid = 1000
+transport_maps = proxy:mysql:/usr/local/etc/postfix/mysql/transport_maps_user.cf, proxy:mysql:/usr/local/etc/postfix/mysql/transport_maps_domain.cf
+unknown_local_recipient_reject_code = 550
+virtual_alias_domains =
+virtual_alias_maps = proxy:mysql:/usr/local/etc/postfix/mysql/virtual_alias_maps.cf, proxy:mysql:/usr/local/etc/postfix/mysql/domain_alias_maps.cf, proxy:mysql:/usr/local/etc/postfix/mysql/catchall_maps.cf, proxy:mysql:/usr/local/etc/postfix/mysql/domain_alias_catchall_maps.cf
+virtual_gid_maps = static:2000
+virtual_mailbox_base = /var/vmail
+virtual_mailbox_domains = proxy:mysql:/usr/local/etc/postfix/mysql/virtual_mailbox_domains.cf
+virtual_mailbox_maps = proxy:mysql:/usr/local/etc/postfix/mysql/virtual_mailbox_maps.cf
+virtual_minimum_uid = 2000
 virtual_transport = dovecot
-virtual_uid_maps = static:1000
+virtual_uid_maps = static:2000

"reject_sender_login_mismatch" was already activated, it seems to be irrelevant

4

Re: Spam from localdomain

No idea, config seems just fine, and almost same.

But, again: As a temporary issue, please enable iRedAPD plugin 'reject_sender_login_mismatch' in /opt/iredapd/settings.py to fix it.