Postfix relay — как скрыть цепочку серверов?

Есть Postfix в виде Relay, который принимает почту от доверенных серверов для пересылки в открытый мир (из группы серверов, например, биллинга).

Есть ли возможность в Postfix скрыть цепочку серверов, через которые прошло письмо до попадания на Relay? Например, письма идут так:

Received: from mx.xxx.ru (mx.xxx.ru [xxx.xxx.xxx.xxx])
	by mxfront5h.mail.yandex.net (nwsmtp/Yandex) with ESMTP id x;
	Thu, 25 Sep 2014 23:17:23 +0400
Received: from xxx.ru (xxx.ru [xxx.xxx.xxx.xxx])
	by mx.xxx.ru (Postfix) with ESMTP id 332467488DF
	for <xxx@asd.ru>; Thu, 25 Sep 2014 23:17:23 +0400 (MSK)
Received: by xxx.ru (Postfix, from userid 48)
	id 253767480028; Thu, 25 Sep 2014 23:17:23 +0400 (MSK)


Читаем снизу:
первый app-сервер xxx.ru, который собственно и создал письмо, послал его на relay
второй сервер mx.xxx.ru и есть relay, который сделал доставку на yandex

Как на relay скрыть информацию о первом сервере? Список серверов ограничен, то есть известен список хостов/сетей, которых нужно скрывать.

Ничего криминального, просто хочется скрыть информацию о внутренней архитектуре сервиса.
  • Вопрос задан
  • 3924 просмотра
Решения вопроса 1
J_o_k_e_R
@J_o_k_e_R
Я сталкивался с похожей проблемой, только я вырезал IP-адреса клиентов. Но Вам рекомендую делать по аналогии:

В main.cf:
smtp_header_checks = pcre:/etc/postfix/anon-headers.pcre

/etc/postfix/anon-headers.pcre (меняем или убираем заголовки):
/^User-Agent:/ IGNORE
/^X-Mailer:/ IGNORE
/^X-Originating-IP:/ IGNORE
/^Received: from (.* \([-._[:alnum:]]+ \[[.[:digit:]]{7,15}\]\))(.*)\(Authenticated sender: ([^)]+)\)(.*)(by mydomain\.com) \(([^)]+)\) with (E?SMTPS?A?) id ([A-F[:digit:]]+)(.*)/ REPLACE Received: from smtp-auth.domain.com (smtp-auth.domain.com [127.0.0.1])$2(Authenticated sender: hidden)$4$5 ($6) with $7 id $8 $9

Вам должно хватить
/^Received: by xxx.ru/ IGNORE

Необходима поддержка PCRE в постфиксе.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы