Назад | Перейти на главную страницу

Exim MTA показывает адрес dmz и имя локального домена в заголовках исходящих сообщений

Недавно мы добавили MTA на основе Exim (MailCleaner) в нашу DMZ, который отправляет и принимает электронную почту на наш почтовый сервер в локальной сети и с него. Он отлично работает, но я немного опасаюсь одного из заголовков, которые он помещает в исходящие сообщения, отправляемые внешним получателям.

В частности, это заголовок Received для доставки от нашего почтового сервера в локальной сети к MTA в DMZ, и он выглядит так:

Received: from [192.168.XX.XX] (helo=mailserver.localdomain.local) by mail.senderdomain.com stage1 with esmtp  with id SomeMessageID for <recipientemail@recipientserver.com> from sendername <senderemail@senderdomain.com>; Tue, 24 Nov 2009 13:06:58

Где 192.168.XX.XX - это DMZ-интерфейс почтового сервера в локальной сети, localdomain.local - это имя нашего домена в локальной сети, а senderdomain.com - это разрешаемое извне доменное имя для нашей организации.

Можно ли изменить этот заголовок, чтобы он не раскрывал имя нашего локального домена и диапазон адресов DMZ в каждом исходящем сообщении? Я предполагаю, что мы не можем просто удалить его, поскольку из нескольких заголовков 'Received' в доставленных сообщениях я смог проверить это единственная строка, которая содержит часть 'from Sendername', идентифицирующую адрес электронной почты отправителя в нашей организации. .

Приветствуются любые подсказки о том, как изменить или замаскировать это.

Содержание Received: заголовок определяется в Exim опцией конфигурации received_header_text. Настройка по умолчанию, из которой вы можете увидеть, как построен ваш пример, следующая:

received_header_text = Received: \
  ${if def:sender_rcvhost {from $sender_rcvhost\n\t}\
  {${if def:sender_ident \
  {from ${quote_local_part:$sender_ident} }}\
  ${if def:sender_helo_name {(helo=$sender_helo_name)\n\t}}}}\
  by $primary_hostname \
  ${if def:received_protocol {with $received_protocol}} \
  ${if def:tls_cipher {($tls_cipher)\n\t}}\
  (Exim $version_number)\n\t\
  ${if def:sender_address \
  {(envelope-from <$sender_address>)\n\t}}\
  id $message_exim_id\
  ${if def:received_for {\n\tfor $received_for}}

Насчет смены или удаления шапки. Остерегайтесь некоторых передовых практических советов.

  • Вы уверены, что хотите удалить эту информацию? Его присутствие позволяет намного легче отслеживать сообщения о злоупотреблениях. Риск раскрытия ваших внутренних IP-адресов ограничен.

  • Технически вы можете удалить этот первый полученный заголовок, используя headers_remove но он определенно не подходит для RFC, и есть вероятность создания петель для почты.

  • Если вам необходимо замаскировать информацию, лучше всего сделать это, изменив received_header_text. Для удобства обслуживания и принципа наименьшего удивления, даже если MTA не выполняет никаких других функций, вы, вероятно, захотите внести свои изменения как можно более конкретными. Это потребует внесения дополнительных условий в те if утверждения о фактах, которые, как вы знаете, всегда будут верны, например, подтвердил ли отправитель себя.