вторник, 18 мая 2010 г.

Включение защиты от спама на Hub Transport сервере в Exchange 2010.

Статистика показывает, что в настоящее время, доля спама в потоке сообщений, направляющихся в крупную организацию из Internet, достигает 90%. Без эффективной фильтрации сообщений на периметре сети, корпоративная сеть и e-mail серверы могут быть перегружены потоком ненужных сообщений, что экономически невыгодно и небезопасно, и Edge Transport роль в Exchange 2007/2010 специально разработана для решения этих проблем. Основная цель Edge Transport - не пропустить спам и вирусы в корпоративную сеть, но что делать, если организация не большая и не может себе позволить выделенный сервер для фильтрации спама и вирусов? У этой проблемы есть, по крайней мере, два решения:

1. Подписаться на Forefront Online Protection, тем самым доверив фильтрацию почты профессионалам и в результате получать уже чистый, отфильтрованный поток сообщений;
2. Воспользоваться анти-спам агентами Exchange`a на локальном сервере Hub Transport.

Мне кажется, для небольших организаций первый вариант наиболее приемлем, т.к. при его реализации они получают хорошую экономию Интернет трафика, значительно более качественную фильтрацию не только от спама, но и от вирусов, и снимают лишнюю нагрузку со своих серверов.
Но если по каким либо причинам первый вариант не подходит, то всегда можно воспользоваться встроенными в Exchange базовыми функциями фильтрации спама. Для этого необходимо включить анти-спам агенты (Recipient Filtering, Content Filtering, SenderId и т.д.) по умолчанию активизированные в Edge Transport роли и отключенные в Hub Transport.
Для активации анти-спам защиты на сервере Hub Transport необходимо запустить скрипт install-AntispamAgents.ps1. Данный скрипт находится в папке со скриптами Scripts, в директории, в которую была произведена установка. Откройте Exchange Management Shell, перейдите в папку c:\Program Files\Microsoft\Exchange Server\V14\Scripts\ и выполним команду:
\.install-AntispamAgents.ps1

Рис.1: Активация агентов анти-спам защиты на сервере Hub Transport.
В результате выполнения этой команды будут активированы следующие агенты:
1. Connection filtering (Фильтрация подключений)
2. Content filtering (Фильтрация содержимого)
3. Sender ID (Код отправителя)
4. Sender filtering (Фильтрация отправителей)
5. Recipient filtering (Фильтрация получателей)
6. Sender reputation (Репутация отправителя)
Будет показано предупреждение, что надо закрыть Exchange Management Shell и перезапустить службу Microsoft Exchange Transport. Выполнив данные рекомендации, мы можем зайти в Exchange Management Console и увидеть новые вкладки Anti-Spam в свойствах ролей Hub Transport как на уровне организации, так и на уровне серверов:

Рис.2: Настройка анти-спама на уровне организации.

Рис.3: Настройка анти-спама на уровне серверов.
Обратите внимание, что на рис.1 предварительно был выполнен комадлет Get-TransportAgent, для получения списка агентов транспорта. После установки модулей анти-спам защиты, их количество значительно увеличилось:

Рис.4: Транспортные агенты после установки модулей анти-спама.
Установив анти-спам защиту нужно позаботиться и о её обновлении. Для просмотра состояния обновлений выполним команду Get-AntispamUpdates:

Рис.5: Состояние обновлений анти-спам защиты.
Чтобы понять, почему получилось так, что обновления устанавливаются в ручную, а Spam Signature и IP Reputation вообще не обновляются, заглянем в скрипт install-AntispamAgents.ps1, который мы использовали в самом начале. Найдем в этом скрипте следующие строчки:
# Enable the Antispam agents flag enabled on the server
if ($transportserver.AntispamAgentsEnabled -eq $false)
{
    set-transportserver -id $localservername -AntispamAgentsEnabled:$true
}
# Enable basic Hygiene Update
enable-AntispamUpdates -UpdateMode:Manual -IPReputationUpdatesEnabled:$false -SpamSignatureUpdatesEnabled:$false
Теперь все становится понятно. А «несправедливость» такая случилась потому, что функция автоматического обновления средства защиты от нежелательной почты Forefront — это расширенная функция, для работы которой необходимо наличие корпоративной лицензии клиентского доступа Exchange (CAL) для каждого почтового ящика пользователя или лицензии Forefront Protection 2010 для сервера Exchange. Так что у вас есть выбор – обновлять вручную (либо с помощью скрипта), покупать Enterprise CAL`ы для Exchange 2010, либо приобретать Forefront Protection 2010 for Exchange Server.

Обновление анти-спам защиты

Для компьютеров, работающих под управлением Exchange Server 2010, функция автоматического обновления средства защиты от нежелательной почты основана на инфраструктуре Центра обновления Майкрософт. Следовательно, для ручного обновления сигнатур нужно перейти в центр обновления и выбрать пункт «Получить обновления для других продуктов Майкрософт.»:

Рис.6: Обновление анти-спам защиты.
Мастер перенаправит вас на сайт Microsoft, после чего вы получите список доступных обновлений для всех продуктов, установленных на вашем компьютере:

Рис.7: Список доступных обновлений.
Выбираем обновление анти-спама, нажимаем ОК и оно будет загружено и установлено. В результате, в выводе команды Get-AntispamUpdates вы сможете увидеть, что текущие версии фильтров изменились.
Если говорить про автоматическое обновление, то его можно активировать на уровне серверов -> Hub Transport -> меню Действия -> Enable Anti-Spam Updates….
Примечание: Предварительно надо нажать Disable Anti-Spam Updates

Рис.8: Включение автоматического обновления анти-спама.
В данном мастере нужно переключить режим обновления в автоматический и поставить галочки для обновления Спам сигнатур (повышают точность работы фильтра содержимого) и Репутаций IP (повышают точность сведений о репутации отправителя и об IP-адресах, с которых отправляется нежелательная почта).
Примечание: На применение вновь загруженных обновлений может уйти более часа, чтобы немедленно активировать обновления, необходимо перезапустить службу Microsoft Exchange Anti-spam Update.
Состояние функции автоматического обновления вы сможете увидеть в выводе командлета Get-AntispamUpdates.

Установка внутренних SMTP серверов

Для правильной работы всех функций защиты от нежелательной почты необходимо, чтобы в параметре InternalSMTPServers командлета Set-TransportConfig был указан, по крайней мере, один IP-адрес внутреннего SMTP-сервера. Если транспортный сервер-концентратор (Hub Ttransport), на котором выполняются функции защиты от нежелательной почты, является единственным SMTP-сервером в организации, введите его IP-адрес, как показано на рис.9:

Рис.9: Добавляем внутренний SMTP сервер.

Заключение

На этом настройка локального сервер Hub Transport для борьбы со спамом завершена. Ещё раз напомню, что в случае небольших организаций, когда нет возможности использовать выделенный сервер для роли Edge Transport или Forefront Protection for Exchange, лучше доверить функцию защиты от спама и вирусов облачному сервису Forefront Online Protection и получать уже отфильтрованную почту.

28 комментариев:

Анонимный комментирует...

Добрый день Алексей! Нужно ли включать эти фильтры, когда есть отдельно установленный edge?

Алексей Богомолов (Alexx) комментирует...

Нет, не нужно, точно такие же фильтры активированы на Edge-серере по умолчанию, их только нужно настроить.

Анонимный комментирует...

Get-AntispamUpdates
Имя "Get-AntispamUpdate" не распознано как имя командлета, функции, файла скрипта или выполняемой программы. Проверьте
правильность написания имени, а также наличие и правильность пути, после чего повторите попытку.
строка:1 знак:19
+ Get-AntispamUpdate <<<<
+ CategoryInfo : ObjectNotFound: (Get-AntispamUpdate:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

и куда же оно делось?

Илья комментирует...

тоже не видит Get-AntispamUpdate

The term 'Get-AntispamUpdates' is not recognized as the name of a cmdlet, function, script file, or operable program. C
heck the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:20
+ Get-AntispamUpdates <<<<
+ CategoryInfo : ObjectNotFound: (Get-AntispamUpdates:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Илья комментирует...

оказывается установленный exch sp1 подчистил Get-AntispamUpdates . и теперь обновления не получить (

vovets666 комментирует...

факт...
Пруф: http://technet.microsoft.com/ru-ru/library/aa998911.aspx

Анонимный комментирует...

Подскажите, есть ли возможность мониторить отсеянные письма ?

Алимов Александр комментирует...

Простите что не по hub
есть edge 2010, и куча спама от моего postmaster, на smtp ресендера.
Если я правильно понял это атака NDR.
Хочу включить проверку валидности получателя - захожу на edge->защита от неж почты->фильтрация получателей; ставлю галку блок сообщений которых нет в каталоге... ниче не меняется- спам ломится на несуществующие адреса

Set-RecipientFilterConfig -RecipientValidationEnabled $true - говорит что уже включен... (если в EMC выключить и выполнить командлет всеровно пишет что включен)
Что делать подскажите. Может переустановить фильтры? - а как? install-AntispamAgents.ps1 пробывал не помогает.

Вера Александровна комментирует...

Алексей, спасибо за ваш блог, очень много раз выручил)) У меня вопрос такой.
Установлен Exchange 2010 SP2, на одном сервере живут роли CA, HT, MB + установлен FPE 2010. Возник вопрос защиты от оправки почты от имени моего домена из интернета. Путем настройки ФИЛЬТРАЦИИ ОТПРАВИТЕЛЕЙ в антиспам защите транспортного сервера удалось заблокировать эту возможность, но только если письма отправлены внутрь моей организации. НО встал вопрос серьезный, как можно защититься от отправки писем другим получателям от моего имени со специальных ресурсов в интернете например? Мыслей пока дельных нет никаких. Получается, чтобы этого избежать, все почтовые сервера должны проверять SPF запись отправителя, не все это делают. Буду рада услышать предложения.

Алексей Богомолов (Alexx) комментирует...

99% получателей делает проверку SPF и PTR, если они этого не делают то рискуют просто захлебнуться в спаме.
Других способов предотвращения писать от имени вашего домена я не знаю.

Анонимный комментирует...

Алексей, так же хочу выразить савою благодарность за очень полезные и практические советы. В данном случае скрипт не выполняетяс - помогите понят почему:
.install-AntispamAgents.ps1 : Имя ".install-AntispamAgents.ps1" не распознано как имя командлета, функции, файла
сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после
чего повторите попытку.
строка:1 знак:1
+ .install-AntispamAgents.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (.install-AntispamAgents.ps1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Алексей Богомолов (Alexx) комментирует...

А вы точно находитесь в каталоге c:\Program Files\Microsoft\Exchange Server\V14\Scripts\ ?
Кроме того, писать надо \.install-AntispamAgents.ps1
А ещё проще написать Install и нажать кнопку TAB и если файл в каталоге есть, то он сам допишется.

Вера Александровна комментирует...

Алексей, доброго дня!!! У меня возник такой вопрос (самостоятельно не получилось найти ответ): в Excahnge 2010 SP2 активирован антиспам агент - фильтрация содержимого. При помощи скрипта Set-ContentFilterConfig добавляю в исключения адреса либо целые домены, почту от которых не следует проверять этим агентом... А как можно просмотреть список добавленных в исключения доменов? Set-ContentFilterConfig показывает лишь имя последнего добавленного.

Алексей Богомолов (Alexx) комментирует...

Посмотрите через EMC - Organization Configuration - Hub Transport - Anti-Spam

Вера Александровна комментирует...

К сожалению нет возможности смотреть через EMC список исключений для фильтра содержимого.

Cromett комментирует...

Актуальные команды для Exchange Server 2010 http://technet.microsoft.com/ru-ru/library/bb201691(v=exchg.150).aspx (Если не работает .install-AntispamAgents.ps1)

Cromett комментирует...

http://technet.microsoft.com/ru-ru/library/bb201691(v=exchg.150).aspx

Анонимный комментирует...

Алексей, как можно выключить проверку записей spf и ptr на Exchange 2010. Тестируем антиспам железку. Техподдержка вендора просит отключить эту функцию:
"На сервере MTA выполнена настройка фильтрации почты например по PTR или SPF?
Если да то отключите ее.
Следует учитывать, что вся корреспонденция будет поступать с IP-адреса устройства. Соответственно данные проверки необходимо отключить иначе MTA будет отклонять всю корреспонденцию."

Алексей Богомолов (Alexx) комментирует...

По умолчанию антиспам агенты стоят только на Edge`e, если у Вы говорите про Hub роль, то считайте, что у Вас эти проверки уже выключены.

Анонимный комментирует...

Добрый вечер! А все таки, как сделать мануальное обновление антиспама? Погуглил, никакие варианты не помогают.

Спасибо за ответ!

Сергей Ефимов комментирует...

Доброго времени суток. Не могу выполнить действия изображённые на рисунке 8. Не могу найти "...то его можно активировать на уровне серверов -> Hub Transport -> меню Действия -> Enable Anti-Spam Updates….
Примечание: Предварительно надо нажать Disable Anti-Spam Updates…" Не подскажите где находятся эти пункты? Спасибо Вам.

soul комментирует...

Спасибо за статью, то что нужно.
В третьем абзаце у вас \.install-AntispamAgents.ps1,
поправьте .\install-AntispamAgents.ps1

Unknown комментирует...
Этот комментарий был удален автором.
Alexey Bogomolov комментирует...

а зачем Вам system32? Папка scripts лежит в c:\Program Files\Microsoft\Exchange Server\V14\

Александр Твердохлебов комментирует...

Всё, понял как переходить в каталог, так же как обычно через "cd".
У меня нет на рис. 6 пункта «Получить обновления для других продуктов Майкрософт.»
Как сделать чтобы был?

Александр Твердохлебов комментирует...

Есть вообще какой то ручной способ зайти на сайт и скачать обновления для анти-спама?

Александр Твердохлебов комментирует...

Так же нету в Hub Transport конф сервера -> меню Действия -> "Enable Anti-Spam Updates".

Павел Попов комментирует...

Алексей, подскажите: Антиспам фильтры установлены, включены. К пользователям попадает очень много спама. Полез в логи
C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\AgentLog
Весь лог с событиями
ReasonData: not available: policy is disabled.
В чем проблема ?

Отправить комментарий