Короткий ответ
Внешняя переадресация — канал утечки, даже если «так удобнее бухгалтеру». Сначала найдите, где она стоит: свойства ящика 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 forwarding | EAC / Get-Mailbox | да |
| Inbox rule | Get-InboxRule | да (серверные) |
| Outlook client-only | только этот ПК | нет |
| Transport rule | EAC mail flow | да, на всех |
| Регистратор email forward | MX не EO | да |
Отличите от легитимной журналирующей копии (journaling) — другой механизм, не inbox rule.
Возможные причины
- Компрометация: правило + MFA bypass через legacy или без MFA.
- Пользователь сам: «перешлите на gmail, Outlook тормозит».
- Helpdesk выставил ForwardingSmtpAddress «как временный доступ».
- Транспортное правило «копия всех писем директору на yandex».
- Делегированный Full Access настроил правила в чужом ящике.
- Старый 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, BlindCopyTo4. Политика исходящего автофорварда
Get-RemoteDomain Default | Format-List AutoForwardEnabled, DomainName
Get-HostedOutboundSpamFilterPolicy | Format-List Name, AutoForwardingModeOff / Automatic — читайте актуальную семантику в вашей политике Defender: цель — не оставлять On на весь мир без исключений.
5. Трейс и логи входа
Get-MessageTrace на письмо, которое «ушло на сторону»: второй recipient внешний. Параллельно sign-in logs.
Решение
Сценарий A. Нашли скрытый forward после фишинга
- Снять forwarding и правила, сохранить скрин/вывод в инцидент.
- Revoke sessions, пароль, MFA — по статье взлома.
- Проверить остальных: массовый
Get-Mailbox/Get-InboxRule(осторожно с нагрузкой, батчами). - Не писать злоумышленнику «мы вас нашли».
Сценарий 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.
Как проверить, что проблема устранена
- Повторный
Get-Mailbox/Get-InboxRule— пустые внешние цели. - Тестовое письмо себе: один recipient в трейсе, нет внешнего fork.
- Попытка создать auto-forward пользователем — отказ по политике (ожидаемо).
- 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 обязательны.