Облачное хранилище

Ограничение SMTP-spoofing через установку Sender ID agent на Exchange 2013, 2016, 2019

Первоисточник: https://resolve.co.uk/blog/article/enabling-sender-id-agent-in-exchange/ Статья взята за основу, переведена и дополнена мной на свое усмотрение без пометок. Сам столкнулся со случаем, когда стоит Exchange 2019 и Kaspersky Security для Microsoft Exchange Servers, а при прохождении пентеста удалось telnet-ом отправить от несуществующего ящика на несуществующем домене письмо на существующий адрес внутри Чанги. Хотя в касперском настроена проверка по spf, но это не работает когда домен не существует совсем.

Spoof (поддельные) письма или или спам-письма — это электронные письма, которые утверждают, что отправлены кем-то, кем они не являются. Вы можете удивиться, почему кто-то захочет это сделать. Но это может быть хитрый способ выманить у кого-то деньги или личную информацию. Сотрудники нередко получают электронные письма от своего «управляющего директора», в которых им предлагается перевести крупные суммы денег с бизнес-счета. Можете себе представить, чем закончилась эта история…

В корпоративной среде надо постоянно обучать своих сотрудников обнаружению таких спам-сообщений. Это пожалуй самый эффективный способ борьбы с нежелательной почтой.

Итак, вам нужен метод борьбы с спуфингом отправителя? Эта статья поможет. Sender Policy Framework (SPF) предназначена для борьбы с спуфингом электронной почты. SPF использует следующий метод для проверки соответствия отправителя письма (RFC 5321) IP-адресу отправляющего сервера:

  • Электронная почта отправляется и достигает почтового сервера получателей.
  • Почтовый сервер получателей выполняет поиск DNS для записи .TXT, пытаясь идентифицировать запись SPF для почтового домена отправителей.
  • Если записи нет, никаких действий не предпринимается. Сообщение доставляется нормально.
  • Если запись доступна, сообщения электронной почты, соединяющие IP-адрес, будут сопоставлены с записью SPF, чтобы определить, является ли IP-адрес ожидаемым отправителем сообщений электронной почты из почтового домена отправителя.
  • Если IP совпадает, сообщение будет доставлено.
  • Если IP-адрес не работает, указанное действие в записи SPF получателей может быть предпринято в отношении сообщения.

Настроим:

Запустите командную оболочку Exchange и выполните следующую команду, чтобы установить все агенты защиты от спама::
ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1

При этом будут установлены все следующие агенты:

  • Sender ID Agent (Агент идентификатора отправителя)
  • Content Filter Agent (Агент фильтра содержимого)
  • Sender Filter Agent (Агент фильтра отправителя Агент)
  • Recipient Filter Agent (фильтра получателя Агент)
  • Protocol Analysis Agent (анализа протокола)

Для решения нашей задачи нам нужен из этого списка, — это агент идентификации
отправителя (SenderID agent), поэтому мы отключим другие агенты:

Disable-TransportAgent –Identity "Content Filter Agent"
Disable-TransportAgent –Identity "Sender Filter Agent"
Disable-TransportAgent –Identity "Recipient Filter Agent"
Disable-TransportAgent –Identity "Protocol Analysis Agent"

Перезапустите транспортную службу Exchange, чтобы включить агент:

Restart-Service MSExchangeTransport

Теперь нам нужно указать внутренний SMTP-сервер, который должен игнорироваться агентом Sender ID:

Set-TransportConfig -InternalSMTPServers @{Add="10.0.1.10","10.0.1.11"}

Убедитесь, что это настроено, выполнив следующую команду:

Get-TransportConfig | Format-List InternalSMTPServers

Значение по умолчанию для агента Sender ID — StampStatus, чтобы установить его для отклонения, нам нужно выполнить следующую команду:

Set-SenderIDConfig -SpoofedDomainAction Reject

Убедитесь, что это установлено, выполнив следующую команду:

Get-SenderIDConfig | Format-List *Enabled*,*Action,Bypassed*

Ведение журнала должно быть включено по умолчанию, но вы можете проверить это с помощью следующей команды:

Get-TransportService | Format-List AgentLog*

Если есть проблема с настройками, вы можете изменить их с помощью следующей команды:

Set-TransportService <ServerIdentity> -AgentLogEnabled <$true | $false> -
AgentLogMaxAge <dd.hh:mm:ss> -AgentLogMaxDirectorySize <Size> -
AgentLogMaxFileSize <Size> -AgentLogPath <LocalFilePath>

Пример;

Set-TransportService Mailbox01 -AgentLogPath "D:Anti-Spam Agent Log" -AgentLogMaxFileSize 20MB -AgentLogMaxDirectorySize 400MB -AgentLogMaxAge 14.00:00:00

Это работает на Exchange 2013 / 2016, автором проверено на 2019 CU11