Рейтинг:1

Одно и то же сообщение доставляется несколько раз на postfix

флаг in

У меня проблема с постфиксным сервером, которым я управляю.

Сервер работал нормально более 4 лет, но недавно у меня возникла одна проблема с ним.

Некоторые сообщения электронной почты доставляются на «мой» сервер много раз. Эти умноженные сообщения приходят от некоторых крупных провайдеров, таких как amazon ses или zoho mail. Я нашел похожую тему на форуме zoho, но она заканчивается личным сообщением администраторам zoho, и я не вижу, чем закончилась эта история. Похоже, сервер-отправитель не знает, что сообщение было доставлено, и повторяет его много раз, и каждое повторное сообщение доставляется, создавая своего рода флуд. Я думал, что это связано с серым списком, но amazon ses находится в белом списке... Я думаю … мой '' сервер постфикса не подтверждает доставку сообщения "достаточно", и отправитель повторяет это. Конфигурация на "моем" сервере в последнее время не менялась. Я понятия не имею, где искать проблему... сам постфикс, постгрей или что-то еще. Буду признателен за любую помощь.

Моя конфигурация:

main.cf (без заштрихованных строк):

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
биф = нет

append_dot_mydomain = нет


readme_directory = нет

уровень_совместимости = 2

smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = да
smtpd_tls_session_cache_database = btree:${каталог_данных}/smtpd_scache
smtp_tls_session_cache_database = btree:${каталог_данных}/smtp_scache


smtpd_relay_restrictions = Permit_MyNetworks, Permit_Sasl_аутентифицированный, reject_unauth_destination
myhostname = <скрытый>
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/псевдонимы, hash:/var/lib/mailman/data/псевдонимы
myorigin = /etc/mailname
мой пункт назначения = $имя_хоста, локальный_хост
ретранслятор =
мои сети = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
почтовый ящик_размер_лимит = 0
получатель_разделитель = +
inet_interfaces = все
inet_protocols = все
virtual_alias_domains = proxy:mysql:/etc/postfix/mysql-virtual_alias_domains.cf
virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman, proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_alias_maps.cf, proxy:mysql :/etc/postfix/mysql-virtual_email2email.cf
виртуальный_почтовый_домен = прокси:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
виртуальная_почтовая_база = /var/vmail
virtual_uid_maps = прокси:mysql:/etc/postfix/mysql-virtual_uids.cf
virtual_gid_maps = прокси:mysql:/etc/postfix/mysql-virtual_gids.cf
sender_bcc_maps = proxy:mysql:/etc/postfix/mysql-virtual_outgoing_bcc.cf
smtpd_sasl_auth_enable = да
сломанный_sasl_auth_clients = да
smtpd_sasl_authenticated_header = да
smtpd_restriction_classes = серый список
серый список = check_policy_service inet:127.0.0.1:10023
smtpd_recipient_restrictions = permit_mynetworks, reject_unknown_recipient_domain, reject_unlisted_recipient, permit_sasl_authenticated, reject_non_fqdn_recipient, reject_unauth_destination, check_recipient_access proxy:mysql:/etc/postfix/mysql-virtual_recipient.cf, check_recipient_access mysql:/etc/postfix/mysql-virtual_policy_greylist.cf, check_policy_service unix:private/quota -положение дел
smtpd_tls_security_level = может
transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
relay_domains = proxy:mysql:/etc/postfix/mysql-virtual_relaydomains.cf
relay_recipient_maps = proxy:mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf
smtpd_sender_login_maps = proxy:mysql:/etc/postfix/mysql-virtual_sender_login_maps.cf
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $sender_bcc_maps $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $smtpd_sender_login_maps $virtual_uid_maps $virtual_gid_maps $smtpd_client_restrictions $smtpd_sender_restrictions $smtpd_recipient_restrictions $smtp_sasl_password_maps $sender_dependent_relayhost_maps
smtpd_helo_required = да
smtpd_helo_restrictions = allow_mynetworks, регулярное выражение check_helo_access:/etc/postfix/helo_access, allow_sasl_authenticated, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, регулярное выражение check_helo_access:/etc/postfix/blacklist_helo, reject_unknown_helo_hostname, разрешение
smtpd_sender_restrictions = allow_mynetworks, check_sender_access proxy:mysql:/etc/postfix/mysql-virtual_sender.cf, allow_sasl_authenticated, reject_non_fqdn_sender, reject_unlisted_sender
smtpd_client_restrictions = прокси-сервер check_client_access:mysql:/etc/postfix/mysql-virtual_client.cf, Permit_inet_interfaces, Permit_myNetworks, Permit_Sasl_authenticated, reject_rbl_client zen.spamhaus.org, reject_unauth_pipelining, Permit
smtpd_client_message_rate_limit = 100
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit = 1
виртуальный_транспорт = голубятня
header_checks = регулярное выражение:/etc/postfix/header_checks
mime_header_checks = регулярное выражение:/etc/postfix/mime_header_checks
nested_header_checks = регулярное выражение:/etc/postfix/nested_header_checks
body_checks = регулярное выражение:/etc/postfix/body_checks
owner_request_special = нет
smtp_tls_security_level = датчанин
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2,!SSLv3
smtp_tls_protocols = !SSLv2,!SSLv3
smtpd_tls_exclude_ciphers = RC4, NULL
smtp_tls_exclude_ciphers = RC4, NULL
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = голубятня
smtpd_sasl_path = частный/авторизация
message_size_limit = 0
smtpd_milters = инет: локальный: 11332
non_smtpd_milters = инет: локальный: 11332
milter_protocol = 6
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}
milter_default_action = принять
smtpd_etrn_restrictions = allow_mynetworks, отклонить
smtpd_data_restrictions = allow_mynetworks, reject_unauth_pipelining, reject_multi_recipient_bounce, разрешение
smtpd_tls_mandatory_ciphers = средний
tls_medium_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128- SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA: DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA
tls_preempt_cipherlist = да
address_verify_negative_refresh_time = 60 сек.
enable_original_recipient = нет
smtpd_forbidden_commands = ПОДКЛЮЧИТЬ, ПОЛУЧИТЬ, ОТПРАВИТЬ, ПОЛЬЗОВАТЕЛЬ, ПЕРЕДАЧА
address_verify_sender_ttl = 15686 с
smtp_dns_support_level = DNSsec
smtpd_reject_unlisted_sender = нет
sender_dependent_relayhost_maps = proxy:mysql:/etc/postfix/mysql-virtual_sender-relayhost.cf
smtp_sasl_password_maps = proxy:mysql:/etc/postfix/mysql-virtual_sender-relayauth.cf, texthash:/etc/postfix/sasl_passwd
smtp_sender_dependent_authentication = да
smtp_sasl_auth_enable = да
smtp_sasl_security_options = без анонимности, без открытого текста
smtp_sasl_tls_security_options = неанонимный
авторизованный_flush_users =
авторизованный_mailq_users = nagios, icinga

smtpd_discard_ehlo_keyword_address_maps = cidr:/etc/postfix/esmtp_access

content_filter = amavis:[127.0.0.1]:10024
smtpd_proxy_options = настройка_скорости

и master.cf

smtp инет n - n - - smtpd

отправка inet n - n - - smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=шифровать
  -o smtpd_sasl_auth_enable=да
  -o smtpd_reject_unlisted_recipient=нет
  -o smtpd_client_restrictions=$mua_client_restrictions
  -o smtpd_helo_restrictions=$mua_helo_restrictions
  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_recipient_restrictions=
  -o smtpd_relay_restrictions=permit_sasl_authenticated,отклонить
  -o milter_macro_daemon_name = ПРОИСХОЖДЕНИЕ
  -o content_filter=amavis:[127.0.0.1]:10026

smtps inet n - n - - smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=да
  -o smtpd_sasl_auth_enable=да
  -o smtpd_client_restrictions=$mua_client_restrictions
  -o smtpd_helo_restrictions=$mua_helo_restrictions
  -o milter_macro_daemon_name = ПРОИСХОЖДЕНИЕ
пикап unix n - n 60 1 пикап
очистка unix n - n - 0 очистка
qmgr unix n - n 300 1 qmgr
tlsmgr unix --n 1000? 1 тлсмгр
переписать unix--n--тривиально-переписать
отказ unix - - n - 0 отказ
отложить unix - - n - 0 отказов
трассировка unix - - n - 0 отказов
проверить unix - - n - 1 проверить
прошить unix n - n 1000? 0 флеш
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
реле unix - - n - - smtp
showq unix n - n - - showq
ошибка unix - - n - - ошибка
повторите попытку unix - - n - - ошибка
отбросить unix - - n - - отбросить
локальный unix - n n - - локальный
виртуальный unix - n n - - виртуальный
lmtp unix - - n - - lmtp
наковальня unix - - n - 1 наковальня
архив unix - - n - 1 архив
maildrop unix - n n - - канал
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d vmail ${extension} ${recipient} ${user} ${nexthop} ${sender}
uucp unix - n n - - канал
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - канал
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - канал
  флаги=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
бэкенд-подсистема масштабирования unix — n n — 2 канала
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
почтальон unix - n n - - труба
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${пользователь}

dovecot unix - n n - - труба
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${отправитель} -d ${пользователь}@${nexthop}


amavis unix - - n - 2 smtp
        -o syslog_name=postfix/amavis
        -o smtp_data_done_timeout=120
        -o smtp_send_xforward_command=да
                -o smtp_bind_address=


127.0.0.1:10025 инет n - n - - smtpd
        -o имя_системного_журнала=постфикс/10025
        -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=разрешить_мои сети, отклонить
        -o smtpd_end_of_data_restrictions=
        -о мои сети=127.0.0.0/8
        -o strict_rfc821_envelopes=да
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        -o smtp_send_xforward_command=да
        -o отключить_dns_lookups=да


127.0.0.1:10027 инет n - n - - 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=разрешить_мои сети, отклонить
        -o smtpd_end_of_data_restrictions=
        -о мои сети=127.0.0.0/8
        -o strict_rfc821_envelopes=да
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        -o smtp_send_xforward_command=да
        -o milter_default_action=принять
        -o milter_macro_daemon_name = ПРОИСХОЖДЕНИЕ
        -o отключить_dns_lookups=да

Журналы:

31 мая, 13:41:12.
31 мая 13:41:12 webh postfix/smtpd[2983539]: DF3A613F931: client=<скрытый>
31 мая 13:41:13 webh postfix/cleanup[2984139]: DF3A613F931: message-id=<скрытый>
31 мая, 13:43:15 webh postfix/qmgr[2932048]: DF3A613F931: from=<hidden>, size=21379, nrcpt=1 (очередь активна)
31 мая 13:43:15 webh postfix/smtpd[2983539]: отключиться от <скрытого> ehlo=2 starttls=1 mail=1 rcpt=1 data=1 quit=1 command=7
31 мая 13:43:15 webh dovecot: lda(<hidden>)<2985193><WrCwN1P/lWLpjC0A/liSRw>: sieve: msgid=<hidden>: сохраненная почта в почтовом ящике 'INBOX'
31 мая 13:43:15 webh postfix/pipe[2985192]: DF3A613F931: to=<hidden>, orig_to=<hidden>, relay=dovecot, delay=124, delays=124/0.03/0/0.08, dsn=2.0 .0, статус=отправлено (доставлено через сервис dovecot)
31 мая 13:43:15 webh postfix/qmgr[2932048]: DF3A613F931: удалено
anx avatar
флаг fr
anx
Пожалуйста, предоставьте вашу конфигурацию Postfix, используя команды, показанные в описании тега. Соберите журналы, отметив получение рассматриваемых сообщений. Добавьте их [в вопрос] (https://serverfault.com/posts/1102098/edit).Вы можете [скрыть личные данные, которые идентифицируют вас (глобально маршрутизируемые IP-адреса, DNS-имена)](https://meta.serverfault.com/questions/963/what-information-should-i-include-or-obfuscate-in- my-posts/6063#6063), но убедитесь, что он остается согласованным.
anx avatar
флаг fr
anx
В частности, я хотел бы найти подсказки о *затраченном времени*, будь то время, потраченное Postfix на ожидание некорректно работающего рекурсивного преобразователя, или какое-либо программное обеспечение milter/filter, не способное обновить postfix о своем ходе сканирования почты. [Увеличить подробность](https://www.postfix.org/DEBUG_README.html#verbose), если временные метки ваших текущих строк журнала еще не указывают, в какой момент Postfix тратит больше времени, чем предположительно готов ждать отправитель.
флаг in
Здравствуйте, anx, я добавил конфигурацию к моему вопросу. Тем временем я спросил своего делового партнера о некоторых журналах. Была "некатегоризированная ошибка привязки/чтения времени", поэтому я немного исследовал. Я обнаружил, что время обработки электронной почты может быть слишком большим для некоторых серверов (как вы указали). Я вижу в журналах, что электронная почта обрабатывается в фазе (а) около 2 минут. Каждое электронное письмо обрабатывается одинаково (123-124 секунды на первом этапе). Я уверен, что это является причиной того, чтобы снова и снова посылать такое электронное письмо. Итак, теперь дело в том, чтобы выяснить, почему первая фаза длится так долго.
флаг in
Я также запускал все процессы с ключом "-v", я получаю очень подробный лог, но в течение этих 2 минут ничего не было... просто ждал.
флаг in
Еще раз спасибо. Я переместил свой ответ из комментария в ответ, чтобы быть более понятным для других.
Рейтинг:1
флаг in

Я выяснил, в чем была причина. Дело в том, что сервер Redis (используемый rspamd) был неправильно настроен. В логах rspamd была запись:

не удается получить список ANN из Redis: тайм-аут при подключении к серверу

Ответ был найден на https://blog.christosoft.de/2019/11/rspamd-redis-connection-refused

Я пропустил две записи:

write_servers = "127.0.0.1:6379";
read_servers = "127.0.0.1:6379";

я добавил это в /etc/rspamd/local.d/redis.conf а задержки теперь такие: задержка = 4,7, задержка = 0,79/0/0,01/3,9 :-)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.