При отправке почты Postfix вставляет IP-адрес и имя аутентифицированного пользователя в заголовок Received по электронной почте. Хотя это полезно для отслеживания того, кто отправил конкретное электронное письмо, отправленное с вашего почтового сервера, оно также имеет последствия для конфиденциальности. В маленькой ситуации, когда я могу доверять всем пользователям, чтобы они не скомпрометировали свои учетные записи и превратились в спам-зомби, я бы предпочел не передавать IP-адреса и имена учетных записей для чтения. Короче говоря, как мне настроить Postfix , чтобы не отправлять это:
Получено: от [xxxx] (pc1.example.com [xxxx]) (используя TLSv1 с шифрованием DHE-RSA-AES256-SHA (256/256 бит)) (Отсутствует сертификат клиента) (Аутентифицированный отправитель: пользователь) по mail.example.com (Postfix) с ESMTPSA id CC77010C148 для; Пт, 11 ноя 2011 04:55:18 +0000 (UTC)
blockquote>
Стандартное решение - использовать параметр header_checks. Однако это будет работать, если мы будем фильтровать полученные строки по всей почте как входящие, так и исходящие (как это будет делать), мы могли бы потерять полученные заголовки по почте, отправленной нам, что может быть важно для устранения неполадок. Чтобы обойти эту проблему, мы применим header_checks только к почте, которая не могла быть отправлена нам-почте, отправленной в порт представления (вы используете порт представления, не так ли?).
header_checks объясняет, как применять header_checks исключительно к порту представления. Нам нужно передать параметр cleanup_service_name в службу для , чтобы мы могли настроить новую службу очистки «subcleanup». Соответствующий раздел /etc/postfix/master.cf может выглядеть следующим образом:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-o cleanup_service_name=subcleanup
Теперь мы можем передать параметр header_checks в новую службу очистки. Эта часть /etc/postfix/master.cf может выглядеть так:
cleanup unix n - - - 0 cleanup
subcleanup unix n - - - 0 cleanup
-o header_checks=regexp:/etc/postfix/submission_header_checks
Наконец, нам нужно создать файл /etc/postfix/submission_header_checks, который будет содержать регулярное выражение, которое фильтрует нарушения.
Если smtpd_sasl_authenticated_header - yes, то используйте:
/^Received:.*\(Authenticated sender:/ IGNORE
В противном случае используйте:
/^Received:.*\(Postfix/ IGNORE
(Спасибо Dominic P и Bryan Drewery за то, что вы показали, как обрабатывать второй случай.)
Вы можете использовать
smtpd_sasl_authenticated_header = no
в postfix/main.cf, чтобы исключить информацию заголовка в исходящих письмах.