Короткий ответ

Внешняя переадресация — канал утечки, даже если «так удобнее бухгалтеру». Сначала найдите, где она стоит: свойства ящика ForwardingSmtpAddress / ForwardingAddress, серверные inbox rules (RedirectTo/ForwardTo), клиентские правила Outlook, транспортные правила, SMTP forwarding регистратора (это уже MX). Потом решите политикой: по умолчанию запретить auto-forward из тенанта, исключения — явные, с аудитом. Не чините «письмо не доходит» пересозданием профиля, пока не сняли fork в Message Trace (Expanded).

Если правило появилось само — считайте компрометацию до доказательства обратного.

Симптомы и как отличить

  • Пользователь видит письмо, внешний «получатель» тоже, хотя в UI нет CC.
  • Письма пропадают у пользователя, но трейс Delivered + Redirect.
  • Outbound spam / auto-forward NDR 5.7.520 после ужесточения политики — форвард был, его начали резать.
  • Делегат настроил правило «на время отпуска» на личную почту.
МестоКак выглядитПереживает смену ПК
Mailbox forwardingEAC / Get-Mailboxда
Inbox ruleGet-InboxRuleда (серверные)
Outlook client-onlyтолько этот ПКнет
Transport ruleEAC mail flowда, на всех
Регистратор email forwardMX не EOда

Отличите от легитимной журналирующей копии (journaling) — другой механизм, не inbox rule.

Возможные причины

  1. Компрометация: правило + MFA bypass через legacy или без MFA.
  2. Пользователь сам: «перешлите на gmail, Outlook тормозит».
  3. Helpdesk выставил ForwardingSmtpAddress «как временный доступ».
  4. Транспортное правило «копия всех писем директору на yandex».
  5. Делегированный Full Access настроил правила в чужом ящике.
  6. Старый on-prem transport после гибрида.

Диагностика

Тенант contoso.onmicrosoft.com, подозреваемый ivan.petrov@contoso.example.

1. Ящик

Connect-ExchangeOnline -UserPrincipalName admin@contoso.example
Get-Mailbox ivan.petrov@contoso.example |
  Format-List ForwardingAddress, ForwardingSmtpAddress, DeliverToMailboxAndForward
Get-Mailbox -ResultSize Unlimited |
  Where-Object { $_.ForwardingSmtpAddress -or $_.ForwardingAddress } |
  Select-Object UserPrincipalName, ForwardingSmtpAddress, ForwardingAddress

Внешний SMTP в ForwardingSmtpAddress — сразу в тикет.

2. Inbox rules

Get-InboxRule -Mailbox ivan.petrov@contoso.example |
  Format-List Name, Enabled, ForwardTo, ForwardAsAttachmentTo, RedirectTo, DeleteMessage, MoveToFolder

Пустые Get-InboxRule не исключают клиентское правило: смотрите Outlook Rules Wizard на ПК и Message Trace.

3. Транспорт

Get-TransportRule | Where-Object {
  $_.RedirectMessageTo -or $_.BlindCopyTo -or $_.CopyTo -or $_.ForwardTo
} | Format-List Name, State, RedirectMessageTo, BlindCopyTo

4. Политика исходящего автофорварда

Get-RemoteDomain Default | Format-List AutoForwardEnabled, DomainName
Get-HostedOutboundSpamFilterPolicy | Format-List Name, AutoForwardingMode

Off / Automatic — читайте актуальную семантику в вашей политике Defender: цель — не оставлять On на весь мир без исключений.

5. Трейс и логи входа

Get-MessageTrace на письмо, которое «ушло на сторону»: второй recipient внешний. Параллельно sign-in logs.

Решение

Сценарий A. Нашли скрытый forward после фишинга

  1. Снять forwarding и правила, сохранить скрин/вывод в инцидент.
  2. Revoke sessions, пароль, MFA — по статье взлома.
  3. Проверить остальных: массовый Get-Mailbox / Get-InboxRule (осторожно с нагрузкой, батчами).
  4. Не писать злоумышленнику «мы вас нашли».

Сценарий B. Легитимная нужда

Не оставляйте бесконечный forward на Gmail. Идите в безопасную настройку пересылки: Remote Domain точечно, транспорт с аудитом, или делегирование / shared / мобильный Outlook.

Сценарий C. Запрет по умолчанию

Выключите auto-forward на Default Remote Domain и/или outbound spam AutoForwardingMode так, чтобы внешние автофорварды падали, кроме явного allow-списка доменов. Сообщите бизнесу до, иначе «сломалась пересылка директору».

Сценарий D. Транспорт «копия всего на личку»

Удалить правило. Журналирование — в compliant архив, не на boss-home@gmail.com.

Сценарий E. Инвентарь всего тенанта contoso.onmicrosoft.com

После одного найденного правила на ivan.petrov@contoso.example не останавливайтесь. Типичный BEC ставит forward пачке бухгалтерии. Выгрузка:

Get-Mailbox -ResultSize Unlimited |
  ForEach-Object {
    $u = $_.UserPrincipalName
    Get-InboxRule -Mailbox $u -ErrorAction SilentlyContinue |
      Where-Object { $_.ForwardTo -or $_.RedirectTo -or $_.ForwardAsAttachmentTo } |
      Select-Object @{n='User';e={$u}}, Name, ForwardTo, RedirectTo
  }

На большом тенанте режьте по OU/домену и троттлингу. Сверяйте с Message Trace: внешний recipient, которого нет в To исходного письма.

Клиентские правила Outlook на одном ПК не попадут в Get-InboxRule. Тогда: Outlook → Rules, плюс трейс. Мобильные клиенты редко держат серверные redirect, но сторонние «очистители почты» с IMAP — да; закройте IMAP.

Не оставляйте DeliverToMailboxAndForward:$true с внешним адресом «на время отпуска»: отпуск кончится, форвард останется. Ставьте дату в тикете и снимайте. Transport BCC на личный ящик директора — тот же класс риска, что mailbox forwarding, только хуже заметный в EAC.

Регистратор: если MX не EO, никакой Set-Mailbox не остановит форвард панели nic. Сначала MX.

Как проверить, что проблема устранена

  1. Повторный Get-Mailbox / Get-InboxRule — пустые внешние цели.
  2. Тестовое письмо себе: один recipient в трейсе, нет внешнего fork.
  3. Попытка создать auto-forward пользователем — отказ по политике (ожидаемо).
  4. Alert на появление нового ForwardingSmtpAddress (если настроите мониторинг).

Если не помогло

  • Письма всё ещё уходят: клиентское правило, мобильное ПО, IMAP клиент, регистратор. Снимите полный трейс hops.
  • Пользователь клянётся, что не ставил: делегат или компрометация. Аудит mailbox (если включён).
  • NDR 5.7.520 на нужный форвард: добавьте явное исключение, не открывайте всем.
  • On-prem журнал: смотрите гибридные коннекторы.

Профилактика

  • MFA + запрет legacy + алерт на inbox rules (Defender / Sentinel / периодический скрипт).
  • Политика: внешний forward только по заявке.
  • Обучение: «gmail как архив» запрещён.
  • Не давать Helpdesk право ставить ForwardingSmtpAddress без тикета безопасности.

FAQ

DeliverToMailboxAndForward $true — это утечка?

Копия на стороне при доставке себе. Если цель внешняя — да, риск. Если на shared внутри тенанта — управляемый процесс.

Outlook «только этот компьютер» правило опасно?

Меньше, чем серверное, но на ноутбуке в отпуске всё равно утечёт. Ищите оба класса.

Можно ли разрешить только один домен партнёра?

Да, Remote Domain / transport / outbound policy allow list. Подробно — статья безопасной пересылки.

Почему Message Trace Expanded?

Группа или форвард. Разворачивайте получателей.

Удалить правило достаточно?

Если был взлом — нет. Сессии и MFA обязательны.