Скрытие локальных адресов авторизованных пользователей в Postfix |
[исправить] |
Необходимо, чтобы вместо подобных заголовков:
Received: from localhost (dyn.pool.example.net [172.31.64.88])
(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
(No client certificate requested)
by mx.example.com (Postfix) with ESMTPSA id A2019508951
for <user@example.net>; Wed, 23 Jun 2010 17:34:29 +0900 (JST)
стало так:
Received: by mx.example.com (Postfix) with ESMTPSA id A2019508951
for <user@example.net>; Wed, 23 Jun 2010 17:34:29 +0900 (JST)
Решение:
1. Включаем добавление нужного нам заголовка:
smtpd_sasl_authenticated_header = yes
2. Включить header_checks, если они ещё не включены:
header_checks = pcre:/etc/postfix/header_checks
3. Добавить в /etc/postfix/header_checks правило для замены строки, которую
хочется скрыть, заменив в примере mx\.example\.com на имя нужного почтового сервера:
/^Received: from .*?([[:space:]]+\(Authenticated sender: [^)]+\).*by mx\.example\.com .*)/
REPLACE Received: from [127.0.0.1] (localhost [127.0.0.1])${1}
4. Правило легко доработать чтобы скрывалась строка "Authenticated sender". Например, так:
/^Received: from .*?\(Authenticated sender: [^)]+\)[[:space:]]+(by mx\.example\.com .*)/
REPLACE Received: ${1}
Проверить полученное регулярное выражение можно командой:
postmap -h -q - pcre:/etc/postfix/header_checks < test_message
|
|
|
|
Раздел: Корень / Администратору / Сетевые сервисы / Mail, почта / Борьба со спамом, фильтрация почты |