Postfix добавляет дополнительный заголовок ‘Received’ на слушателе порта 10025 с Amavis – как его подавить?

Вопрос или проблема

Я настраиваю почтовый сервер Postfix, сконфигурированный с Amavis для сканирования писем на наличие вирусов. После обработки письма Amavis отправляет его обратно в Postfix на специальном слушателе на порту 10025 для окончательной доставки. Однако эта настройка вызывает добавление Postfix дополнительного заголовка Received, который я не могу подавить. Этот дополнительный заголовок Received похоже генерируется слушателем Postfix на 127.0.0.1:10025.

Вот моя настройка:

Postfix main.cf:

content_filter = smtp-amavis:[127.0.0.1]:10024
smtpd_proxy_options = speed_adjust

Postfix master.cf:

smtp-amavis   unix   -   -   n   -   2   smtp
  -o syslog_name=postfix/amavis
  -o smtp_data_done_timeout=1200
  -o smtp_send_xforward_command=yes
  -o disable_dns_lookups=yes
  -o max_use=20
  -o smtp_tls_security_level=none

127.0.0.1:10025   inet   n    -     n     -     -    smtpd
  -o syslog_name=postfix/10025
  -o content_filter=
  -o mynetworks_style=host
  -o mynetworks=127.0.0.0/8
  -o local_recipient_maps=
  -o relay_recipient_maps=
  -o strict_rfc821_envelopes=yes
  -o smtp_tls_security_level=none
  -o smtpd_tls_security_level=none
  -o smtpd_received_header=no
  -o smtpd_restriction_classes=
  -o smtpd_delay_reject=no
  -o smtpd_client_restrictions=permit_mynetworks,reject
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o smtpd_end_of_data_restrictions=
  -o smtpd_error_sleep_time=0
  -o smtpd_soft_error_limit=1001
  -o smtpd_hard_error_limit=1000
  -o smtpd_client_connection_count_limit=0
  -o smtpd_client_connection_rate_limit=0
  -o smtpd_milters=
  -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings

Проблема:

После обработки письма Postfix добавляет этот дополнительный заголовок Received:

Received: from localhost (mx.domain.com [127.0.0.1])
    by mx.domain.com (Postfix) with ESMTP id R69B85E11;
    Fri,  8 Nov 2024 23:00:07 +0400 (+0400)

Мне удалось удалить заголовок Received, сгенерированный Amavis, с помощью этой настройки в /etc/amavis/conf.d/50-user:

$allowed_added_header_fields{lc('Received')} = 0;

Тем не менее, заголовок, сгенерированный Postfix на слушателе 10025, сохраняется, и я не нашел способа предотвратить его добавление.

  • Я пытался добавить header_checks и smtpd_header_checks; они могут удалить оригинальный заголовок Received, но не последний, добавленный на порту 10025.
  • Я также пытался добавить службу очистки, непосредственно связанную с 10025 в master.cf, но без успеха.

Как я могу настроить Postfix, чтобы предотвратить добавление этого дополнительного заголовка Received на слушателе 127.0.0.1:10025? Есть ли конкретная настройка, которую я пропустил, или есть другой способ подавить этот заголовок в Postfix?

Ответ или решение

Как убрать лишний заголовок ‘Received’ в Postfix при использовании Amavis на слушателе порта 10025

При настройке почтового сервера Postfix с интеграцией Amavis для сканирования писем часто возникает проблема с добавлением лишнего заголовка Received, который Postfix генерирует на специальном слушателе порта 10025. Это может вызвать беспокойство у системных администраторов, особенно если в логах отображается ненужная информация или накладываются ограничения на обработку почты. Давайте рассмотрим, как можно решить эту проблему.

Конфигурация Postfix

Ваша текущая конфигурация Postfix, включая разделы main.cf и master.cf, выглядит следующим образом:

Postfix main.cf:

content_filter = smtp-amavis:[127.0.0.1]:10024
smtpd_proxy_options = speed_adjust

Postfix master.cf:

smtp-amavis   unix   -   -   n   -   2   smtp
  -o syslog_name=postfix/amavis
  -o smtp_data_done_timeout=1200
  -o smtp_send_xforward_command=yes
  -o disable_dns_lookups=yes
  -o max_use=20
  -o smtp_tls_security_level=none

127.0.0.1:10025   inet   n    -     n     -     -    smtpd
  -o syslog_name=postfix/10025
  -o content_filter=
  -o mynetworks_style=host
  -o mynetworks=127.0.0.0/8
  -o local_recipient_maps=
  -o relay_recipient_maps=
  -o strict_rfc821_envelopes=yes
  -o smtp_tls_security_level=none
  -o smtpd_tls_security_level=none
  -o smtpd_received_header=no
  -o smtpd_restriction_classes=
  -o smtpd_delay_reject=no
  -o smtpd_client_restrictions=permit_mynetworks,reject
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o smtpd_end_of_data_restrictions=
  -o smtpd_error_sleep_time=0
  -o smtpd_soft_error_limit=1001
  -o smtpd_hard_error_limit=1000
  -o smtpd_client_connection_count_limit=0
  -o smtpd_client_connection_rate_limit=0
  -o smtpd_milters=
  -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings

Проблема

После обработки электронных писем Amavis Postfix добавляет заголовок Received:

Received: from localhost (mx.domain.com [127.0.0.1])
    by mx.domain.com (Postfix) with ESMTP id R69B85E11;
    Fri,  8 Nov 2024 23:00:07 +0400 (+0400)

Вы уже смогли удалить заголовок, который добавляет Amavis, установив в 50-user:

$allowed_added_header_fields{lc('Received')} = 0;

Однако заголовок, добавляемый Postfix, по-прежнему присутствует.

Решение

Чтобы предотвратить добавление лишнего заголовка Received на уровне слушателя порта 10025 в Postfix, есть несколько шагов, которые можно предпринять.

  1. Настройка отправки почты через content_filter:
    Попробуйте задать флаг -o smtpd_received_header=no для процессов, относящихся к Amavis, или убедитесь, что предыдущие настройки не конфликтуют.

  2. Добавление сервиса Cleanup:
    Можно попробовать добавить отдельный сервис Cleanup для обработки почты перед тем, как она будет отправлена на локальный слушатель. Это требует создания нового сокета в master.cf:

    cleanup  unix  n  -  -  0  cleanup

    Затем свяжите его с вашим существующим слушателем:

    smtp-amavis   unix   -   -   n   -   2   smtp
     -o syslog_name=postfix/amavis
     -o smtp_data_done_timeout=1200
     -o smtp_send_xforward_command=yes
     -o disable_dns_lookups=yes
     -o max_use=20
     -o smtp_tls_security_level=none
     -o smtpd_received_header=no
  3. Использование header_checks:
    Убедитесь, что вы используете параметры header_checks или smtpd_header_checks, чтобы удалить любой нежелательный заголовок после процесса фильтрации.

Проверка и тестирование

После всех изменений необходимо протестировать конфигурацию, перезапустив Postfix:

sudo systemctl restart postfix

Затем отправьте тестовое письмо и проверьте заголовки. Если проблема сохраняется, возможно, стоит проверить логи на наличие дополнительных подсказок.

Заключение

Управление заголовками электронных писем в Postfix может быть сложной задачей, особенно в связке с Amavis. Следуя вышеописанным шагам, вы сможете устранить лишние заголовки и настроить более чистую конфигурацию для вашего почтового сервера. Важно следить за обновлениями документации Postfix и Amavis, так как методы и настройки могут изменяться с новыми версиями.

Оцените материал
Добавить комментарий

Капча загружается...