Удаляем заголовки локального сервера Exchange 2013 (How to remove Received headers in Exchange 2013)

image
Существует такая проблема (а может и не проблема для вас), что в заголовках писем от вашего Exchange сервера вы видите два поля «Received:» с разными значениями.

1) «Received: from «внешнее_DNS_имя_сервера» (внешний_IP_адрес_сервера)»  
2) «Received: from «внутреннее_DNS_имя_сервера» (внутренний_IP_адрес_сервера)»  

В подавляющем большинстве случаев, сервера Exchange имеют имя похожее на «mail.my-company-name.local», серый IP и находятся за NAT. Для получателя вне организации эта информация совершенно ни к чему, однако в каждом письме (при настройках по умолчанию) мы упорно эту информацию отправляем с каждым письмом.

 

Для решения этих задач у Microsoft есть технология, называемая «брандмауэр заголовков» подробнее можно почитать На сайте компании. Многие просто гуглят и находят решение в  замечательной статье Здесь, или на технете. Думаю это решение к 2013/2016 версиям это тоже подходит. Однако к моему Exchange 2013 эта статья не применима, так как этот элемент управления у меня «отсутствует» .

PS-exchange-ms-Exch-Send-Headers-Routing

Тут на помощь приходит старый ADSI. Находим в конфигурации коннектор отправки, в свойствах выбираем  «NT AUTHORITY\Anonymous Logon», в данном примере «Анонимный вход» и убираем все права на чтение заголовков отправки.

adsi-exchange-send-connector

После этого из заголовков писем пропадает значение «Received: from» с локальным именем и IP сервера. Но при этом остается значение «Message-ID», где после @ указано локальное имя сервера. Вот, например заголовок письма от компании Microsoft: «Message-ID: <ebde38b5-6e95-4516-b108-76f2f2e99843@xtinmta1135.xt.local>»   прекрасно видно, что имя формирующего сервера «xtinmta1135.xt.local».  Так же остается значение IP клиента —  x-originating-ip, что тоже не очень приятно.
Для удаления IP воспользуемся создадим правило транспорта где укажем удаление данного заголовка:

message-ip-remover

 

А вот с «Message-ID», который хранит имя нашего сервера все не так просто. Аналогичное правило удаления заголовка «Message-ID» попросту не работает. Оставим это на совести разработчиков. Забавно, что правило изменения значения заголовка — работает замечательно. Так что подставим значение $null:

message-id-remover

Ну вот и все: теперь вся исходящая почта с Exchange не содержит никакой информации об имени сервера и его реального адреса.

Буду рад дополнениям и вопросам