The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"почтовый сервер НЕ выполняет анализ на СПАМ для второго домена"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"почтовый сервер НЕ выполняет анализ на СПАМ для второго домена"  +/
Сообщение от Supervisor_2000 (ok), 26-Апр-20, 01:00 
Добрый день! Нужна помощь.
Есть:centos 7, apache, postfix, clamar, amavisd new, spamassassin.
Для настройки CWP version: 0.9.8.962. При использовании CWP многое приходится делать ручками.
Есть два почтовых домена:
@a1.ru  и @a2.ru
Почта приходит и уходит нормально.
spf, dkim, dmark - настроены и работают.
Но проверка входящей почты выполняется только для первого домена( это видно по заголовкам приходящих писем).
Как подключить к СПАМ контролю второй(третий,...)  домен?

Текущие настройки такие:
==============
postfix/main.cf
# network settings
inet_interfaces = all
mydomain = a1.ru
myhostname =a1.ru
mynetworks = $config_directory/mynetworks
mydestination = localhost
#mydestination = $myhostname, localhost.$mydomain, localhost
relay_domains = proxy:mysql:/etc/postfix/mysql-relay_domains_maps.cf
# mail delivery
recipient_delimiter = +
# mappings
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
transport_maps = hash:/etc/postfix/transport
#local_recipient_maps =
# virtual setup
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_alias_maps.cf, regexp:/etc/postfix/virtual_regexp
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
virtual_minimum_uid = 101
virtual_uid_maps = static:101
virtual_gid_maps = static:12
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
# debugging
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
   xxgdb $daemon_directory/$process_name $process_id & sleep 5
# authentication
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
# tls config
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache
# Change mail.example.com.* to your host name
smtpd_tls_key_file = /etc/pki/tls/private/a1.key
smtpd_tls_cert_file = /etc/pki/tls/certs/a1.crt
smtpd_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
# rules restrictions
smtpd_client_restrictions =
smtpd_helo_restrictions =
smtpd_sender_restrictions =
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_client_access hash:/etc/postfix/sender_whitelist, check_client_access hash:/etc/postfix/sender_blacklist, reject_unauth_destination, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net
smtpd_helo_required = yes
unknown_local_recipient_reject_code = 550
disable_vrfy_command = yes
smtpd_data_restrictions = reject_unauth_pipelining
maximal_backoff_time = 6h
smtpd_reject_unlisted_sender = yes
smtpd_recipient_limit = 40
maximal_queue_lifetime = 3d
always_bcc = bcc_mail_copy@a1.ru
# Limit 500 emails per hour per email address
anvil_rate_time_unit = 3600s
smtpd_client_message_rate_limit = 500
# Vacation Scripts
vacation_destination_recipient_limit = 1
recipient_bcc_maps = proxy:mysql:/etc/postfix/mysql-virtual_vacation.cf
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:127.0.0.1:8891
=====================
master.cf
smtp inet n - n - - smtpd
  -o content_filter=smtp-amavis:127.0.0.1:10024
  -o receive_override_options=no_address_mappings
====================
spamassassin
local.cf
required_hits 5
report_safe 0
rewrite_header Subject [SPAM]
use_bayes 1
bayes_learn_to_journal 1
bayes_auto_learn 1  
skip_rbl_checks 0
bayes_learn_to_journal 1
bayes_auto_learn_threshold_nonspam -0.001
bayes_auto_learn_threshold_spam 10.0
add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ tests=_TESTSSCORES(,)_ autolearn=_AUTOLEARN_ version=_VERSION_
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
bayes_auto_expire 0
bayes_journal_max_size 0
bayes_ignore_header X-Bogosity
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status
use_razor2 1
use_pyzor 0
bayes_path /var/spool/amavisd/.spamassassin/bayes
==============================
amavisd.conf

use strict;
$max_servers = 2;            # num of pre-forked children (2..30 is common), -m
$daemon_user  = 'amavis';    # (no default;  customary: vscan or amavis), -u
$daemon_group = 'amavis';    # (no default;  customary: vscan or amavis), -g
$mydomain = 'a1.ru';
#$mydomain = "a1.ru, a2.ru";
#@local_domains_acl = ( "a1.ru", "a2.ru" );
$MYHOME = '/var/spool/amavisd';   # a convenient default for other settings, -H
$TEMPBASE = "$MYHOME/tmp";   # working directory, needs to exist, -T
$ENV{TMPDIR} = $TEMPBASE;    # environment variable TMPDIR, used by SA, etc.
$QUARANTINEDIR = undef;      # -Q
$db_home   = "$MYHOME/db";        # dir for bdb nanny/cache/snmp databases, -D
$lock_file = "/var/run/amavisd/amavisd.lock";  # -L
$pid_file  = "/var/run/amavisd/amavisd.pid";   # -P
$log_level = 0;              # verbosity 0..5, -d
$log_recip_templ = undef;    # disable by-recipient level-0 log entries
$do_syslog = 1;              # log via syslogd (preferred)
$syslog_facility = 'mail';   # Syslog facility as a string
$enable_db = 1;              # enable use of BerkeleyDB/libdb (SNMP and nanny)
$nanny_details_level = 2;    # nanny verbosity: 1: traditional, 2: detailed
$enable_dkim_verification = 1;  # enable DKIM signatures verification
$enable_dkim_signing = 1;    # load DKIM signing code, keys defined by dkim_key
@local_domains_maps = ( [".$mydomain"] );  # list of all local domains
@mynetworks = qw( 127.0.0.0/8 [::1] [FE80::]/10 [FEC0::]/10
                  10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 );
$unix_socketname = "/var/run/amavisd/amavisd.sock";  # amavisd-release or amavis-milter
               # option(s) -p overrides $inet_socket_port and $unix_socketname
$inet_socket_port = 10024;   # listen on this local TCP port(s)
$policy_bank{'MYNETS'} = {   # mail originating from @mynetworks
  originating => 1,  # is true in MYNETS by default, but let's make it explicit
  os_fingerprint_method => undef,  # don't query p0f for internal clients
};
$interface_policy{'10026'} = 'ORIGINATING';
$policy_bank{'ORIGINATING'} = {  # mail supposedly originating from our users
  originating => 1,  # declare that mail was submitted by our smtp client
  allow_disclaimers => 1,  # enables disclaimer insertion if available
  # notify administrator of locally originating malware
  virus_admin_maps => ["virusalert\@$mydomain"],
  spam_admin_maps  => ["virusalert\@$mydomain"],
  warnbadhsender   => 1,
  # forward to a smtpd service providing DKIM signing service
  forward_method => 'smtp:[127.0.0.1]:10027',
  # force MTA conversion to 7-bit (e.g. before DKIM signing)
  smtpd_discard_ehlo_keywords => ['8BITMIME'],
  bypass_banned_checks_maps => [1],  # allow sending any file names and types
  terminate_dsn_on_notify_success => 0,  # don't remove NOTIFY=SUCCESS option
};
$interface_policy{'SOCK'} = 'AM.PDP-SOCK'; # only applies with $unix_socketname
$policy_bank{'AM.PDP-SOCK'} = {
  protocol => 'AM.PDP',
  auth_required_release => 0,  # do not require secret_id for amavisd-release
};
$sa_tag_level_deflt  = -100;
$sa_tag2_level_deflt = 6.2;  # add 'spam detected' headers at that level
$sa_kill_level_deflt = 6.9;  # triggers spam evasive actions (e.g. blocks mail)
$sa_dsn_cutoff_level = 10;   # spam level beyond which a DSN is suppressed
$sa_crediblefrom_dsn_cutoff_level = 18; # likewise, but for a likely valid From
$penpals_bonus_score = 8;    # (no effect without a @storage_sql_dsn database)
$penpals_threshold_high = $sa_kill_level_deflt;  # don't waste time on hi spam
$bounce_killer_score = 100;  # spam score points to add for joe-jobbed bounces
$sa_mail_body_size_limit = 400*1024; # don't waste time on SA if mail is larger
$sa_local_tests_only = 0;    # only tests which do not require internet access?
$virus_admin               = undef;                    # notifications recip.
$mailfrom_notify_admin     = undef;                    # notifications sender
$mailfrom_notify_recip     = undef;                    # notifications sender
$mailfrom_notify_spamadmin = undef;                    # notifications sender
$mailfrom_to_quarantine = ''; # null return path; uses original sender if undef
@addr_extension_virus_maps      = ('virus');
@addr_extension_banned_maps     = ('banned');
@addr_extension_spam_maps       = ('spam');
@addr_extension_bad_header_maps = ('badh');
$path = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/usr/bin:/bin';
$MAXLEVELS = 14;
$MAXFILES = 3000;
$MIN_EXPANSION_QUOTA =      100*1024;  # bytes  (default undef, not enforced)
$MAX_EXPANSION_QUOTA = 500*1024*1024;  # bytes  (default undef, not enforced)
$sa_spam_subject_tag = '***Spam*** ';
$defang_virus  = 1;  # MIME-wrap passed infected mail
$defang_banned = 1;  # MIME-wrap passed mail containing banned name
$defang_by_ccat{CC_BADH.",3"} = 1;  # NUL or CR character in header
$defang_by_ccat{CC_BADH.",5"} = 1;  # header line longer than 998 characters
$defang_by_ccat{CC_BADH.",6"} = 1;  # header field syntax error

$myhostname = 'a1.ru';
#$myhostname = 'a1.ru, a2.ru';
$final_virus_destiny      = D_DISCARD;
$final_banned_destiny     = D_BOUNCE;
$final_spam_destiny       = D_DISCARD;  #!!!  D_DISCARD / D_REJECT
$final_bad_header_destiny = D_BOUNCE;
==========================
Заголовки такие(по первому домену):

Authentication-Results: a1.ru;
        dkim=pass (1024-bit key) header.d=mail.ru header.i=@mail.ru header.b="hQuMfeK4"
X-Virus-Scanned: amavisd-new at a1.ru
X-Spam-Flag: NO
X-Spam-Score: -0.1
X-Spam-Level:
X-Spam-Status: No, score=-0.1 tagged_above=-100 required=6.2
        tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,
        FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001,
        SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001]
        autolearn=unavailable autolearn_force=no

а по второму домену прием почты - конверт такой

X-Virus-Scanned: amavisd-new at a1.ru

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от муу (?), 26-Апр-20, 01:32   +/
> amavisd.conf
> @local_domains_maps = ( [".$mydomain"] );  # list of all local domains

логично что он себя так ведёт, не?

@local_domains_maps = 1;

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от муу (?), 26-Апр-20, 01:33   +/
ЗЫ: или перечисляй домены в этой крутилке

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #3, #5

3. Сообщение от Supervisor_2000 (ok), 26-Апр-20, 02:33   +/
> ЗЫ: или перечисляй домены в этой крутилке

Я пробовал так
$mydomain = "a1.ru, a2.ru";

Эффекта нет! Что-то еще не так.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #4, #6

4. Сообщение от Supervisor_2000 (ok), 26-Апр-20, 02:36   +/
>> ЗЫ: или перечисляй домены в этой крутилке
> Я пробовал так
> $mydomain = "a1.ru, a2.ru";
> Эффекта нет! Что-то еще не так.

Да и при этом перестает контроль идти и по первому домену!


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

5. Сообщение от Supervisor_2000 (ok), 26-Апр-20, 04:09   +/
> ЗЫ: или перечисляй домены в этой крутилке

Вариант
@local_domains_acl = ( "a1.ru", "a2.ru" );
тоже нет помогает.
Его часто рекомендуют.
Что еще может быть?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

6. Сообщение от муу (?), 26-Апр-20, 16:31   +/
сделай так как я написал с = 1 и брысь читать мануалы.

УМВР

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #7

7. Сообщение от Supervisor_2000 (ok), 27-Апр-20, 23:10   +/
> сделай так как я написал с = 1 и брысь читать мануалы.

Сделал! СПАСИБО!
Есть и НО:
Теперь выполняется контроль для всех- и для внутренней и для внешней почты.
Как сделать, чтобы исходящая почта от внутренних доменов не проверялась на СПАМ?


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

8. Сообщение от Ann None (?), 28-Апр-20, 22:35   +/
Выкинуть amavisd, spamassassin прикрутить через milter.
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру