Почтовая система на основе on-premises Exchange Server или Exchange Online (Microsoft 365) позволяет администратору заблокировать доставку писем с определенных внешних доменов или адресов отправителей в ящики пользователей. В Exchange Server и Microsoft 365 есть несколько средств, которые позволяют задать список нежелательных доменов и e-mail адресов, с которых нужно блокировать входящую почту. В этой статье мы рассмотрим, как настроить список заблокированных отправителей через графический интерфейс Exchange Admin Center (EAC) или из PowerShell.
Ниже представлена сводная таблица со способами блокировки отправителей, которые доступны в EOL (M365) и on-premises Exchange Serever.
On-premises Exchange Server | Exchange Online (Microsoft 365) | |
Фильтры антиспам агента Sender Filter | + | |
Блокировка отправителей с помощью транспортных правил (mailflow rules) | + | + |
Индивидуальные списки заблокированных адресов в почтовых ящиках | + | + |
Список разрешенных доменов и адресов (Tenant Allow/Block List) | + |
Настройка списка запрещенных отправителей с помощью агента Sender Filter в Exchange Server
В on-premises Exchange Server вы можете настроить черные списки отправителей с помощью встроенного фильтра антиспам агента. Служба транспорта в Exchange Server позволяет использовать антиспам агенты для фильтрации входящего потока писем. По умолчанию эти агенты не установлены. Чтобы установить их, выполните на Maibox сервере скрипт:
& $env:ExchangeInstallPath\Scripts\Install-AntiSpamAgents.ps1
Перезапустите службу Exchange Transport:
Restart-Service MSExchangeTransport
Данный PowerShell скрипт установит несколько антиспам агентов Exchange, в том числе Sender Filter. Агент Sender Filter позволяет задать список доменов и адресов отправителей, с которых нужно запретить принимать почту.
Выведите список установленных агентов:
Get-TransportAgent
Чтобы включить Recipient Filter Agent, выполните:
Enable-TransportAgent "Recipient Filter Agent"
Все остальные антиспам агенты можно отключить (если вы их не используете):
Disable-TransportAgent "Content Filter Agent"
Disable-TransportAgent "Sender Id Agent"
Disable-TransportAgent "Sender Filter Agent"
Disable-TransportAgent "Protocol Analysis Agent"
Чтобы активировать фильтр, выполните:
Set-SenderFilterConfig -Enabled $true
Если нужно фильтровать только внешних отправителей, выполните:
Set-SenderFilterConfig -ExternalMailEnabled $true
Теперь вы можете указать список e-mail адресов, которых нужно заблокировать.
Set-SenderFilterConfig -BlockedSenders [email protected],[email protected]
Чтобы заблокировать все письма с определенных доменов и всех поддоменов:
Set-SenderFilterConfig -BlockedDomainsAndSubdomains spammer.com,masssend.net
Чтобы получить список заблокированных адресов, выполните команду:
Get-SenderFilterConfig |fl BlockedSenders,BlockedDomains,BlockedDomainsAndSubdomains
Вывести список всех заблокированных адресов:
Get-SenderFilterConfig |fl BlockedSenders,BlockedDomains,BlockedDomainsAndSubdomains
Если нужно добавить в список заблокированных доменов/адресов новые записи, воспользуйтесь такой конструкцией:
Set-SenderFilterConfig -BlockedSenders @{Add=”[email protected]”}
Или
Set-SenderFilterConfig -BlockedDomainsAndSubdomains @{Add=”blokme.ru”,”spammers.com”,”fb.com”}
Чтобы удалить из списка заблокированных отправителей определенные адреса, используйте команды:
Set-SenderFilterConfig -BlockedSenders @{Remove=”[email protected]”,”[email protected]”}
Это приводит к удалению из списка только указанных адресов, а не всего списка целиком.
Или:
Set-SenderFilterConfig –BlockedDomainsAndSubdomains @{Remove=”blokme.ru”,”spammers.com”}
Блокировка писем транспортными правилами Exchange
В EOL и Exchange Server вы можете заблокировать письма от определенных отправителей или доменов с помощью транспортных правил Exchange (Mail flow rules). Вы можете создать транспортные правила из веб интерфейса Exchange Admin Center:
Если вы используете классический интерфейс EAC:
- Перейдите в раздел Mail flow;
- Создайте новое правило. Добавьте условие The sender -> is the person или domain is укажите email адреса или домены которые нужно заблокировать;
- Если вы хотите заблокировать всю внешнюю почту, в условиях укажите, что правило должно применяться, если пользователь находится (The sender is located…) за пределами организации (Outside the organization). Нажмите на More options;
- Затем нужно добавить действие (add action) -> Block the message. Вы можете заблокировать письмо и отправить отправителю отбойник (опция Reject the message and include an explanation), либо ответить кодом ошибки или удалить письмо без отправки уведомления;
- Укажите приоритет правила и сохраните его.
В EOL для настройки транспортного правила используется новый Exchange admin center:
- Перейдите в Mail flow -> Rules —> Add a rule;
- Выберите тип правила Restrict messages by sender or recipient;
- Укажите имя правила;
- Apply this rule if -> domain is -> укажите имена доменов, которые нужно заблокировать (можно добавить несколько доменов в одном транспортном правиле);
- В поле Do the following выберите Block the message и укажите нужно ли отправлять NDR отправителю (например, reject the message with the enhanced status code и укажите 5.7.1;
- Затем выберите Rule mode -> Enforce;
- По умолчанию новое транспортное правило отключено. Включите его в EAC.
Теперь EOL будет отклонять все письма с указанных доменов. В трейсинг логах Microsoft 365 вы увидите имя транспортного правила, которое отклонило письмо:
Office 365 received this message but couldn't deliver it to the recipient ([email protected]). This happened because an email admin for your organization set up the following mail flow rule that rejected the message: Mail flow rule: exch_RuleBlockDomain_contoso
Вы можете создать транспортное правило из PowerShell. Подключитесь к своей организации:
- Как удаленно подключиться к Exchange Server с помощью PowerShell?
- PowerSell модуль Exchange Online для подключения к тенанту Microsoft 365
Чтобы создать новое правило для блокировки нескольких доменов, выполните
New-TransportRule “block_sender_domain” –SenderDomainIs “contoso.com”,”contoso2.com>” –DeleteMessage $True –StopRuleProcessing $True
Или так:
$list1 = @('contoso.com','contoso2.com',)
New-TransportRule -Name "block_sender_domain" -RecipientAddressMatchesPatterns $list1 RejectMessageEnhancedStatusCode '5.7.1' -RejectMessageReasonText "Blocked recipients"
Вывести информацию о транспортном правиле:
Get-TransportRule block_sender_domain | select name,State,SenderDomainIs,RejectMessageReasonText
Список разрешённых/заблокированных клиентов в Microsoft 365
В Exchange Online вы можете использовать функцию Tenant Allow/Block List для добавления отправителей в список запрещенных.
- Перейдите на портал Microsoft 365 Defender https://security.microsoft.com.
- Перейдите в Policies & rules -> Threat policies -> Tenant Allow/Block List;
- Нажмите кнопку Block и добавить список email адресов и доменов, которые нужно заблокировать;
- Для каждой записи будеи создано отдельное правило.
Также вы можете добавить адреса в список Tenant Allow/Block с помощью PowerShell:
New-TenantAllowBlockListItems -ListType Sender -Block -Entries '[email protected]','[email protected]' -NoExpiration
Вывести заблокированные адреса:
Get-TenantAllowBlockListItems -ListType Sender -Block|select value,ExpirationDate
Пользователи из организации не смогут оправить письмо на эти адреса, а отправители получат NDR:
5.7.1 Your message can't be delivered because one or more recipients are blocked by your organization's tenant allow/block list policy.
Заблокированные отправители в ящике пользователя Exchange
Можно блокировать отправителей не на уровне всей организации Exchange, а в конкретном ящике пользователя. Список надежных и заблокированных отправителей можно настроить в OWA (Settings -> Mail-> Junk email). Чтобы заблокировать почту, просто добавьте email адреса или домены в список Blocked senders and domains и сохраните изменения.
То же самое можно сделать в Outlook. На основной вкладке нажмите на выпадающей список Нежелательные (Junk) и выберите Параметры нежелательной почты (Junk Email Options).
На вкладке Заблокированные отправители (Blocked Senders) добавьте в список адреса или домены, с которых вы не хотите получать письма.
Письма от таких отправителей будут автоматически перемещаться в папку Junk Email ящика.
В трейсинг логах появится сообщение:
The message was delivered to the Junk Email folder: FilteredAsSpam
Администратор Exchange может управлять списком заблокированных доменов и адресов конкретного ящика с помощью PowerShell.
Добавить в список нежелательных отправителей новый адрес:
Set-MailboxJunkEmailConfiguration -Identity avpetrov –BlockedSendersandDomains @{Add=”[email protected]”}
Удалить адрес из списка заблокированных отправителей:
Set-MailboxJunkEmailConfiguration -Identity avpetrov –BlockedSendersandDomains @{Remove=”[email protected]”}
Вывести список заблокированных адресов:
Get-MailboxJunkEmailConfiguration -Identity avpetrov | FL TrustedSendersAndDomains,BlockedSendersAndDomains
Очистить список заблокированных отправителей:
Set-MailboxJunkEmailConfiguration -Identity avpetrov -BlockedSendersAndDomains $null
Добрый день, подскажите, после выполнения Set-SenderFilterConfig -Enabled $true следует сообщение ,
the command completed successfully but no settings of ‘SenderFilterConfig’ have been modified.
Добавил несколько адресов для блокировки но с них сообщения проскакивают.
Посмотрите ваши письма в журналах C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\FrontEnd\AgentLog. Там должно быть видно, какие фильтры применялись.
Перед этим настроил провайдер фильтры по статье с этого сайта
https://winitpro.ru/index.php/2014/11/14/zashhita-ot-spama-v-exchange-2013-rbl/
День добрый. SenderFilterConfig — это такой же глобальный конфиг органиpации, как и transportconfig? Т.е. настраивается единожды на одном из exchange-серверов?
Да, верно
Почему Sender ID по прежнему пропускает письма от моего же основного домена, Спуфинг с подстановкой адреса.
Received: from EMAIL.contoso.ru (10.0.0.8) by EMAIL.contoso.ru (10.0.0.8) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.6 via Mailbox
Transport; Mon, 6 Mar 2023 12:55:46 +0300
DKIM-Signature: v=1; a=rsa-sha256; d=contoso.ru; s=default; c=simple/simple;
t=1678096546; h=from:subject:to:date:message-id;
bh=So3SzPG816HFJ8axnQCoPI9YcmbG9m7T6s1067JMHV4=;
b=SpXcppcL6h/zLRrlMXIq7vO7WkXxK6scIcYcmJT/HkyWbrZSLoPyLK73JroYavFxNdQO1vR6TAu
TIt/hnaaaWFnPre7+SzNR8fSaPKTVRFqM353rxGBOJMoJRRQo/TDvjbtYMN07dYji2+iqd3NxCrnF
1mjI3mEtyQlUf8YKQjY=
Received: from EMAIL.contoso.ru (10.0.0.8) by EMAIL.contoso.ru (10.0.0.8) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.6; Mon, 6 Mar
2023 12:55:45 +0300
Received: from EMAIL10.contoso.ru (10.0.0.1) by EMAIL.contoso.ru (10.0.0.8) with
Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.6 via
Frontend Transport; Mon, 6 Mar 2023 12:55:45 +0300
Content-Type: text/plain; charset="windows-1250"
Content-Transfer-Encoding: 8bit
Content-Language: en-us
DKIM-Signature: v=1; a=rsa-sha256; d=contoso.ru; s=default; c=simple/simple;
t=1678096545; h=from:subject:to:date:message-id;
bh=So3SzPG816HFJ8axnQCoPI9YcmbG9m7T6s1067JMHV4=;
b=O/UBjfZ6tlSydG7K79qqZdrbg31NDjarRMIuvJEcjR6zbQp22d82/HYK5bgNuCT/Ob8n9kT4m26
FNAMXH9fvH0SU0uwoVjhrrgTlsIUpuRhA/UEi0TE/ThT07lhUr6ww4E+/7Iv3w/fyVrvmVz1L5ur/
E9oS8iLzK+PTMlGOKXU=
Received: from [103.87.49.84] (103.87.49.84) by Email.contoso.ru (10.0.0.11)
with Microsoft SMTP Server id 14.3.468.0; Mon, 6 Mar 2023 12:55:36 +0300
From:
To:
Subject: SPOOF 03 10- Waiting for the payment.
Date: Mon, 6 Mar 2023 18:50:25 +0400
Message-ID:
MIME-Version: 1.0
X-Mailer: Microsoft Outlook 15.0
Thread-Index: Aco9wi8618055nn1ah0p18prxknyn1==
Return-Path: [email protected]
X-MS-Exchange-Organization-MessageDirectionality: Incoming
X-MS-Exchange-Organization-PRD: contoso.ru
X-MS-Exchange-Organization-SenderIdResult: None
Received-SPF: None (Email10.contoso.ru: [email protected] does not
designate permitted sender hosts)
X-MS-Exchange-Organization-SCL: 6
X-MS-Exchange-Organization-PCL: 2
X-MS-Exchange-Organization-Antispam-Report: DV:3.3.5705.600;SID:SenderIDStatus
None;TIME:TimeBasedFeatures;OrigIP:103.87.49.84
X-MS-Exchange-Organization-Network-Message-Id: 4f0313f6-f33d-41df-7be2-08db1e28f4e1
X-MS-Exchange-Organization-AuthSource: Email10.contoso.ru
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Exchange-Transport-EndToEndLatency: 00:00:09.4783731
X-MS-Exchange-Processed-By-BccFoldering: 15.01.2507.006
Action : Reject
BlankSenderBlockingEnabled : True
RecipientBlockedSenderAction : Reject
Enabled : True
ExternalMailEnabled : True
InternalMailEnabled : False
AdminDisplayName :
RunspaceId : 72a3f533-9c6c-4743-b4b1-f1ffbdcb3c7b
SpoofedDomainAction : Reject
TempErrorAction : StampStatus
BypassedRecipients : {[email protected] }
BypassedSenderDomains : {contoso.com, my.com, sk-plaza.ru}
Name : SenderIdConfig
Enabled : True
ExternalMailEnabled : True
InternalMailEnabled : False
AdminDisplayName :
ExchangeVersion : 0.1 (8.0.535.0)
DistinguishedName : CN=SenderIdConfig,CN=Message Hygiene,CN=Transport Settings,CN=Ch
rvices,CN=Configuration,DC=contoso,DC=ru
Identity : SenderIdConfig
Guid : 06b47575-a4c7-4556-b21a-db2f22ae893f
ObjectCategory : chery.ru/Configuration/Schema/ms-Exch-Message-Hygiene-Sender-ID-
ObjectClass : {top, msExchAgent, msExchMessageHygieneSenderIDConfig}
WhenChanged : 06.02.23 15:54:59
WhenCreated : 18.01.10 09:26:55
WhenChangedUTC : 06.02.23 12:54:59
WhenCreatedUTC : 18.01.10 06:26:55
OrganizationId :
OriginatingServer : DC02.contoso.ru
IsValid : True
Not spoofable domain!
Found SPF record:
v=spf1 mx a include:spf.sendsay.ru ~all
SPF record contains an All item: ~all
Found DMARC record:
v=DMARC1; p=reject; sp=none; rua=mailto:[email protected]
DMARC policy set to reject
Aggregate reports will be sent: mailto:[email protected]
Spoofing not possible for contoso.ru
Добрый день, есть ситуация: в организации один человек делает регулярно рассылку на группу рассылку — «все*». Ограничить его мы не можем на эти действия. Но не все хотят получать эти письма как можно это обойти? Добавить функционал — отписаться от этого отправителя по определенной теме — скажем так… Exchange, outlook.
тут проще создать правило в аутлуке
от «пользователя»
адресованные «группа рассылки все»
удалить их