Меню Закрыть

Настраиваем защиту против спама в Exchange 2007

Microsoft Exchange

Существует большое количество программных продуктов различных компаний, направленных на борьбу со спамом в почтовых системах, построенных на базе Microsoft Exchange 2007. Однако все они платные, что при нынешнем режиме строгой экономии в компаниях является сдерживающим фактором их внедрения. В то же время, в состав Exchange 2007 входит ряд инструментов, обеспечивающих, при должной настройке, не меньший уровень защиты от спама, чем их платные аналоги.

Модульная, или ролевая, структура Exchange 2007 значительно повышает безопасность почтовой системы предприятия за счет распределения ролей на отдельные серверы с индивидуальными, требующимися только для той или иной роли настройками безопасности. Защиту от проникновения вирусов и спама обеспечивает роль «Edge Transport» (Пограничный транспорт), выполняющая функции пограничного сервера между сервером «Hub Transport» (Транспортный концентратор) и сетью интернет. Именно на этот сервер приходит весь поток входящей почты и обеспечивается отправление сообщений внешним адресатам. Между тем на небольших предприятиях получением и отправлением почты зачастую занимается сервер с ролью «Hub Transport», так как внедрение в почтовую систему еще одного сервера требует приобретения и аппаратного обеспечения, и лицензий на программные продукты. В этой статье мы рассмотрим настройки защиты от спама как на сервере с установленной ролью «Edge Transport», так и на «Hub Transport», однако во втором варианте будет невозможна фильтрация вложений.

emc

Для включения функций борьбы со спамом на сервере с ролью «Hub Transport» запустите Exchange Management Shell, перейдите в каталог, где установлен Exchange (по умолчанию – C:\Program Files\Microsoft\Exchange Server), затем в подкаталог Scripts и выполните команду – Install-AntispamAgents.ps1 Затем выполните – Restart-Service MSExchangeTransport

После этого в консоли управления сервером Exchange станет доступна вкладка Antispam, а также станет возможным настройка фильтров с помощью Exchange Management Shell (EMS).

filterspam

Средства защиты от спама Exchange 2007

Фильтры соединений

  • Connection filtering (Фильтрация подключений ) – использование списков разрешенных и запрещенных отправителей на основе IP-адресов, а также провайдеров списков блокируемых адресов реального времени (real-time block lists, RBL);

Фильтры протоколов

  • Sender filtering (Фильтрация отправителей) – явное указание блокируемых адресов и доменов, с которых поступает нежелательная почта;
  • Recipient filtering (Фильтрация получателей) – блокирование возможности получения сообщений некоторым пользователям сети или на адреса, отсутствующие в глобальной адресной книге предприятия;
  • Sender ID (Идентификация кода отправителя) – сопоставление поля «From» («От») сообщения с реальным доменным именем и проверка разрешения на отправку от этого имени почтового сервера;

Фильтры содержимого

  • Content filtering (Фильтрация содержимого) – новая версия фильтра Exchange Intelligent Message Filter, впервые появившегося в Exchange 2003. Оценивает содержимое входящих сообщений и в соответствии со статически значимым набором сообщений определяет уровень определенности спама, присваивая рейтинг от 0 до 9. Имеется возможность объединения клиентских списков надежных отправителей и создание карантина нежелательной почты;
  • Sender reputation (Репутация отправителя) – проверка сообщений по трем различным критериям с фильтрацией после присвоение рейтинга исходя из анализа минимум 20 сообщений отправителя;
  • Attachment filtering (Фильтрация вложений) – позволяет запретить доставку вложений с указанными расширениями. Данная возможность отсутствует при настройке защиты на сервере с ролью «Hub Transport».

Схема обработки входящих сообщений сервером Exchange 2007 отображена на рисунке справа. На сервере с включенными средствами защиты можно просмотреть очередность обработки командой Get-TransportAgent. Данная схема отображает очередность обработки сообщений по умолчанию, однако вы можете вручную изменить последовательность работы фильтров с помощью команды Set-TransportAgent. Например, для изменения приоритета фильтра содержимого необходимо выполнить команду –

Хочу обратить Ваше внимание, что при максимально жестких настройка тех или иных фильтров возможно ошибочное блокирование и допустимых, качественных сообщений, что может повлечь за собой неблагоприятные последствия для предприятия вообще и для адресата в частности. В связи с этим необходимо тщательно распланировать и протестировать работу всего комплекса защиты против спама в целом, желательно с созданием регламента обработки сообщений и указания требований к принимаемым сообщениям электронной почты. Целесообразно при первоначальной настройке указать более мягкие значения параметров защиты, спам не удалять изначально фильтрами, а складывать в карантин, настройку которого мы рассмотрим далее, а впоследствии, когда наберется база доверенных отправителей и получателей, создан список белых адресов и возникнет понимание  и статистика работы фильтров, постепенно ужесточать правила. Это позволит избежать проблем, связанных с неполучением вашими пользователя важного письма, ошибочно заблокированного одним из фильтров.

Рассмотрим конфигурирование всех вышеупомянутых средств защиты для достижения максимального результата, а также некоторые настройки, которые также помогут повысить эффективность защиты.

Настройка фильтрации подключений

Агент фильтрации подключений обрабатывает поступающие сообщения из внешних источников и базируется на анализе IP-адреса удаленного почтового сервера для сравнения с имеющимися списками. В случае наличия адреса в списке разрешенных адресов, сообщение отправляется адресату без последующей обработки другими агентами фильтрации, если же содержится в списке заблокированных, соединение разрывается и сообщение отклоняется. Если исходный IP-адрес не найден ни в одном из списков, сообщение проходит дальше для обработки другими агентами фильтрации. Имеется возможность настройки следующих списков – Список разрешенных IP-адресов (IP Allow List) – содержит адреса, с которых всегда разрешена отправка почты в вашу организацию. Настраивается в Exchange Management Console или с консоли EMS командами Add-IPAllowListEntry. Например, для внесения в список адреса 10.0.8.67 и подсети 10.3.5.0 с маской 255.255.252.0 необходимо выполнить команды –

Список запрещенных адресов (IP Block List) – содержит адреса, которым запрещается отправлять почту. Настройка также осуществляется с помощью графического интерфейса или EMS командой Add-IPBlockListEntry. Синтаксис аналогичен списку разрешенных адресов. Я рекомендую заносить в данный список пул IP-адресов стран, из которых вы никогда не получаете сообщения, например, Австралию, Африку или Азию (до 40% спама может поступать как раз из стран Азии). Помимо этого существует возможность использования провайдеров списков разрешенных и запрещенных IP-адресов. В провайдеры разрешенных адресов можно внести имена почтовых доменов ваших контрагентов и аффилированных предприятий, с которых вы получаете  почту, заведомо не являющуюся нежелательной. Организации, составляющие списки блокируемых адресов, используют три основных метода, позволяющих определить, можно ли доверять тому или иному серверу:

  • Known Past Spammers on an IP Block List – список адресов, с которых уже поступал спам. Соответствует коду ответа провайдера 127.0.0.1;
  • Open Relay Test – проверяет, возможна ли анонимная отправка сообщений с сервера, код 127.0.0.2;
  • Dial-up Services Check – возможность отправки сообщений через удаленное соединение, например телефонную сеть, код ответа 127.0.0.4

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

  • Provider Name (имя провайдера) – произвольное имя, идентифицирующее провайдера;
  • Lookup Domain (домен поиска) – имя домена, которое будет использоваться для запросов списка
  • Match Any Return Code (состояние любого кода возврата) – соответствие любого кода возврата на запрос к провайдеру, как соответствующий запрещенному адресу;
  • Match Specific Mask And Responses (соответствие определенной маске и ответу) – позволяет детально настроить обработку в соответствии с кодом провайдера;
  • Match To The Following Mask (Соответствие следующей маске) – возможность выбора кода провайдера, который будет отрабатываться агентом фильтра;
  • Match Any Of The Following Responses (соответствие любого ответа) – явное указание кода ответа, при совпадении которого с возвращенным кодом провайдера будет обрабатываться сообщение

Рекомендую быть очень аккуратным при настройке данного агента, так как зачастую в списки поставщиков нежелательных адресов попадают вполне добросовестные сервера из-за ошибок в настройке. Я использую в работе два провайдера – bl.spamcop.net и zen.spamhaus.org, причем первый настроен только на возврат кодов 127.0.0.1, 127.0.0.3 и 127.0.0.4

Настройка фильтрации отправителей

Служба фильтрации отправителей позволяет указать в явном виде адреса или домены электронной почты нежелательных отправителей. При этом, в случае соответствия входящего сообщения имеющемуся списку возможно отклонение сообщения с уведомлением отправителя об ошибке «554 5.1.0. Sender Denied» или принятие для дальнейшей обработки фильтром содержимого. При этом сообщение помечается как поступившее от блокируемого пользователя, что учитывается при выставлении уровня соответствия спаму. Также данная служба позволяет заблокировать сообщения, содержащее пустое поле «From» («От») [Рис.6] Управление фильтром с помощью EMS осуществляется командой Set-SenderFilterConfig с использованием следующих параметров: BlankSenderBlockingEnable – настройка отправителя с пустым полем «From». По умолчанию имеет значение $false. Для включения выполните команду:

Blocked Senders – список адресов электронной почты, от которых не должна приниматься почта. Например, для блокирования адресов user1@domain.ru и risk@dolin.com выполните:

Blocked Domains и BlockedDomainsAndSubdomains – список заблокированных доменов или всех доменов и поддоменов. Каждый из списков может содержать не более 800 записей. Использование аналогично списку заблокированных адресов. Action – указывает действие, выполняемое при нахождении отправителя в списках, может иметь значения Reject – отклонение сообщения или StampStatus – пропуск для дальнейшей обработки. Так как отправители заведомо запрещены, либо сообщение поступает на несуществующий адрес, лучшим выбором будет отклонение сообщения.

Фильтрация получателей

Данный фильтр позволяет указать пользователей вашей сети, которым запрещено получение почты от внешних отправителей, а также заблокировать сообщения, направленные получателям, отсутствующим в глобальном списке адресов. Настраивается в соответствующей вкладке графической консоли или с помощью команд:

Идентификация кода отправителя

Фильтр идентификации кода отправителя (Sender ID Filter) предназначен для защиты от спуфинга, то есть отправления сообщений от имени чужого домена. Например, если удаленный сервер открыт для неавторизованного перенаправления почты, то от сервера, ответственного за домен name.com может приходить почта с отправителем meleo.tv. В этом случае, если на удаленном сервере DNS, отвечающим за домен name.com, настроена текстовая запись SPF (Sender Policy Framework), содержащая возможные IP-адреса и имена доменов, для которых разрешено отправление почты, то фильтр Sender ID заблокирует всю почту, поступающую с доменов, не внесенных в SPF запись. Также одним из плюсов данного фильтра является необязательность проверки MX-записей, так как в больших, а тем более логически разделенных сетях с несколькими транспортными серверами электронной почты, для отправления и приема используются различные IP-адреса и, соответственно, MX-запись может не указывать на сервер, с которого пришла почта. К сожалению, немногие системные администраторы создают корректную запись SPF для своих почтовых доменов, что значительно снижает эффективность данного фильтра. При анализе кода отправителя фильтр формирует несколько состояний проверки, и, в зависимости от настроек, может выполнять следующие действия:

  • Подтвердить состояние – это действие применяется по умолчанию, все сообщения, в зависимости от результатов проверки, получают состояние кода отправителя, которое учитывается при дальнейшем вычислении SCL другими фильтрами;
  • Отклонить – сообщение отклоняется с отправкой сообщения об ошибке серверу отправителю;
  • Удалить – сообщение удаляется без уведомления, однако серверу-отправителю направляется фиктивная команда о доставке почты.

Управление фильтром осуществляется из EMС, либо с помощью командлетов PowerShell. Для отклонения явно поддельных сообщений, выполните команду:

Следующую настройку невозможно выполнить в EMC, она доступна только в Exchange Managemnt Shell. Для удаления сообщений, для которых невозможно проверить код отправителя из-за временных ошибок, например, недоступности DNS, выполните:

Также вы можете включить или выключить проверку кода отправитель для внутренних авторизованных отправителей вашей сети. Для этого существует команда Set-SenderIDConfig –InternalMailEnabled, значением которой может быть $true (проверка включена) или $false (проверка выключена).

Может возникнуть ситуация, когда сообщение, заведомо являющееся разрешенным, отбрасывается фильтром ввиду неправильной настройки почтового сервера отправителя. В этом случае вы можете добавить исключения фильтра по полному адресу отправителя или указать его домен. Настройка осуществляется командами:

для добавления конкретных отправителей, или

для добавления всех отправителей домена. Каждый из списков может содержать не более 800 записей электронной почты или доменов отправителей.

Призведенные настройки фильтра можно просмотреть командой Get-SenderIDConfig

Фильтрация содержимого

Данный фильтр является основным в защите от спама, так как именно он вычисляет SLC (spam confidence level, рейтинг уровня принадлежности к спаму) сообщения на основании внесенной в метаданные информации ранее обрабатывающими сообщение фильтрами. Также данный фильтр выполняет анализ самого сообщения, а не настроек почтовой системы или валидность домена и IP-адреса, как это делают указанные выше фильтры.  Имеется возможность внести в настройки фильтра ряд слов и фраз, при нахождении которых в сообщении оно будет идентифицироваться как спам, однако ввиду разнообразия спама, а также маскировки русских слов буквами английского алфавита и наоборот эффективность этой настройки крайне мала.

Для корректной и эффективной работы фильтра необходимо выполнить ряд настроек:

1. Настройка карантина нежелательной почты

2. Объединение списка надежных отправителей

3. Установка пороговых значений SLC и действий при их превышении

4. Настройка списка заблокированных слов и исключений

Для настроки карантина рекомендуется сначала создать отдельную базу данных почтовых ящиков для предотвращения возникновения проблем с отправкой и получением почты пользователей при переполнении базы. Далее нужно создать отдельного пользователя и его почтовый ящик разместить в созданной группе хранения для спама, причем учетную запись пользователя можно сразу отключить.  Последним шагом является назначение созданного почтового ящика фильтру содержимого для перенаправления на него нежелательной почты. Итак, для создания базы данных с помощью Exchnage Management Shell выполните:

затем, для подключения созданной базы

quarantine

Безусловно, все действия можно также выполнять и спомощью EMC.

После создания базы и почтового ящика для карантина нежелательной почты настройте фильтр для пересылки всех сообщений, SLC уровень которых выше настроенного, в ящик карантина. Для этого используется команда:

Set-ContentFilterConfig -QuarantineMailbox quarantin@domain.com

При установке пороговых значений, я рекомендовал бы выставить первое время практически максимальные значения, как например на приведенном рисунке, для недопущения случаев ошибочного срабатывания при поступлении почты от надежных отправителей. Впоследствии, при заполнении списка надежных отправителей, возможно снижение порогов, вплоть до 7,6, 4 для удаляемых, отклоняемых и повещаемых в карантин сообщений соответственно.

Для просмотра карантина администратором, необходимо предоставить ему права на этот ящик, а также для удобства просмотра настроить отображение поля исходного отправителя.

Для настройки отображения исходного отправителя на рабочей станции администратора нужно создать специальную форму Outlook, для чего требуется создать в блокноте файл и заполнить его следующим содержимым:


[Description]
MessageClass=IPM.Note
CLSID={00020D31-0000-0000-C000-000000000046}
DisplayName=Quarantine Extension Form
Category=Standard
Subcategory=Form
Comment=This forms allows the Original Sender Address to be viewed as a column
LargeIcon=IPML.ico
SmallIcon=IPMS.ico
Version=1.0
Locale=enu
Hidden=1
Owner=Microsoft Corporation
Contact=Your Name
[Platforms]
Platform1=Win16
Platform2=NTx86
Platform9=Win95
[Platform.Win16]
CPU=ix86
OSVersion=Win3.1
[Platform.NTx86]
CPU=ix86
OSVersion=WinNT3.5
[Platform.Win95]
CPU=ix86
OSVersion=Win95
[Properties]
Property01=OriginalSenderAddress
[Property.OriginalSenderAddress]
Type=30
NmidInteger=0x0067
DisplayName=Original Sender Address
[Verbs]
Verb1=1
[Verb.1]
DisplayName=&
Open Code=0
Flags=0
Attribs=2
[Extensions]
Extensions1=1
[Extension.1]
Type=30
NmidPropset={00020D0C-0000-0000-C000-000000000046}
NmidInteger=1
Value=1000000000000000

rec

Сохраните файл под именем QTNE.cfg в С:\Program Files\Microsoft Office\OFFICE12\FORMS\код_языка (например, для русского языка это будет C:\Program Files\Microsoft Office\OFFICE12\FORMS\1049). В Outlook 2007 откройте: Сервис >> Параметры >> Дополнительно >> Общие >> Дополнительные формы >> Диспетчер форм >> Установить и найдите сохраненный файл QTNE.cfg, после чего подтвердите нажатьем “ОК” и закройте все окна. Теперь вы можете, подсоединив почтовый ящик спама, настроить отображение дополнительного поля “Исходный отправитель”

Далее, необходимо настроить объединение списка надежных отправителей Outlook. Это позволит исключить фильтрацию сообщений, на которые пользователями отправлялись сообщения, а также которые были вручную внесены в список надежных отправителей в Outlook. Для настройки необходимо создать на сервере Exchnage файл safelist.bat со следующим содержимым:

Затем нужно задать выполнение этого файла по расписанию в планировщике заданий почтового сервера, например в рабочие дни в 10.00 и в 15.00.

Для настройки пороговых значений фильтра можно использовать EMC или осуществить настройку с помощью команд:

Set-ContentFilterConfig -SCLRejectEnabled $true -SCLRejectThreshold 8 – отклонять сообщения с уровнем SLC 8 или выше
Set-ContentFilterConfig -SCLDeleteEnabled $true -SCLDeleteThreshold 9 – удалять сообщения с уровнем SLC 9
Set-ContentFilterConfig -SCLQuarantineEnabled $true -SCLQuarantineThreshold 7 – помещать в карантин сообщения с уровнем SLC 7 или выше

Имеется возможность исключить из работы фильтра адреса и почтовые домены надежных отправителей. Данная настройка возможно только с помощью Exchnage Management Shell. Для внесения список адреса manager@astal.com и всех адресов с домена milta.ru выполните:

Настройка фильтра репутации отправителя

Данный фильтр оценивает входящие сообщения по приведенным ниже параметрам:

  • Анализ HELO/EHLO
  • Обратный запрос DNS
  • Анализ оценок SCL по сообщениям от конкретного отправителя
  • Тестирование открытого прокси-сервера отправителя

Как только количество писем от конкретного отправителя достигает двадцати, фильтр подсчитывает среднее значение SLC, и, если полученная оценка превосходит заданный в a фильтре порог, блокирует отправителя. Настройка осуществляется через EMC или командами:

Set-SenderReputationConfig -SrlBlockThreshold 7 -SenderBlockingPeriod 24 – данная команда устанавливает значение 7 SLC, при превышении которого отправитель будет заблокирован на 24 часа. Так как спамеры крайне редко осуществляют рассылку с одних и тех же адресов, данный фильтр малоэффективен.

Настройка фильтрации вложений

Настройка фильтрации вложений осуществляется только с помощтю EMS и только на сервере с установленной ролью “Edge Transport”. Для включения фильтра необходимо выполнить команду Add-AttachmentFilterEntry.Для просмотра полного спискарасширений, по которым может осуществляться фильтрация, выполните команду

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

  • Блокирование самого сообщения и вложения
  • Удаление вложения без блокирования сообщения
  • Удаление сообщения и вложения без уведомления

Фильтрация может осуществляться как по расширению вложения, так и по типу MIME. Дляфильтрации сообщения, содержащего файл с расширением EXE выполните команду

Для фильтрации изображений JPEG по типу MIME, выполните

Дополнительные настройки

Некоторое время назад я столкнулся с ситуацией, когда пользователи начали получать спам от имени имеющихся пользователей домена. Для предотвращения возникновения такой ситуации можно выполнить дополнительную настройку  разрешений на отправку от имени существующего пользователя с обязательной авторизацией. Для этого выполните в командной строке EMS каждого почтового сервера:

Где “Internet Receive Connector” – ваш получающий соединитель. Как видно, данная команда настраивает разрешения для отправки от имени пользователей домена только авторизованным пользователям. Соответственно POP и ActiveSync пользователи должны быть настроены для авторизации перед отсылкой писем. Также обращаю Ваше внимание на то, что очень желательно создать разные Receive Connector для внутренней сети и интернет!

На  этом хотелось бы закончить, хотя тема защиты от спама, безусловно, неисчерпаема. Пробуйте, варьируйте различные настройки исходя из ситуации, и вы сможете отсекать до 99% спама только встроенным средствами защиты. У меня, например, данный показатель равен 98,25 % 🙂

Для дальнейшего анализа работы фильтров вы можете использовать имеющиеся в составе Exchange скрипты. Более подробно об этом я рассказал ранее в своей статье “Сбор статистики работы фильтров антиспама в Microsoft Exchange Server 2007

Удачи в борьбе!

P.S. Более подробную информацию о работе фильтров защиты от спама Exchnage 2007 вы можете получить на сайте Microsoft.

Вышло обновление статьи по настройке защиты от спама для Exchange 2013 / 2016

35 Comments

  1. Pavel Nagaev

    Пробуйте, варьируйте различные настройки исходя из ситуации, и вы сможете отсекать до 99% спама только встроенным средствами защиты. У меня, например, данный показатель равен 98,25%

    Расскажите про методику расчета.

  2. kvazar

    Методика проста, хотя, конечно, и не совсем правильна. Я беру статистику работы фильтров за неделю, плюсую удаленные\отклоненные\помещенные в карантин сообщения и вычисляю процент от общего количества принятых сообщений. Первое время статистика была кривовата из-за 1-2% нормальных писем, попадающих в карантин, но на текущий момент достаточно точна.

  3. мeнимбaлaм

    Немного не в тему, но вопрос такой возник автору. А почему вы именно wordpress выбрали для своего блога. Я вот ваш блог постоянно читаю 🙂

  4. Vladislav

    Помогите пожалуйста, задача такая :
    импортировать список спамеров из ТХТ файла.
    возможно ли это сделать автоматически?

  5. Евгений

    По поводу спама от имени пользователей домена, сдела как указанно в статье, но теперь появлеются ошибки в журнале приложений, когда пытаются спамить:
    SMTP rejected a (P1) mail from ‘konstantin@xxx.ru’ with ‘From Internet to serv xxx.ru SMTP’ connector and the user authenticated as ‘anonymous’. The Active Directory lookup for the sender address returned validation errors. Microsoft.Exchange.Data.ProviderError
    Как это отключить?

    • Kvazar

      Фильтрация спама настраивается на уровне организации Exchange, соответственно если у вас несколько доменов с несколькими организациями Exchnage, то вы можете настроить под каждый домен разный набор фильтров.

  6. Сергей

    Меня тоже спам задрал, но пока мейлом пользуюсь- у вашей проги вставлять надо в систему файлы…Сложновато как-то

  7. Юра

    Самая лучшая защита от спама – это не светить свой основной почтовый адрес при регистрации. Лучше для этого завести специальный ящик для регистраций.

  8. Фёдор Жаворонков

    Привет! Спасибо за расширенную информацию по действительно актуальной сегодня теме, но наверное разработка программы со 100% защитой от спама это вопрос завтрашнего дня.

  9. Виктор

    Можно ли как-нибудь, кроме использования forefront блокировать вложения zip, содержащие вложение exe ?

    • Dmitry

      Можно, конечно.
      Поставьте iQ.Suite for Exchange, модуль Watchdog 🙂

    • Kvazar

      Можно, для этого необходимо установить отдельный сервер Exchange с ролью Edge Transport.

  10. Уведомление:Защита от спама Exchange 2013 / 2016 (антиспам)

  11. Уведомление:Сбор статистики работы фильтров антиспама в Microsoft Exchange Server 2007 - Про ИТ и не только

Добавить комментарий

Ваш адрес email не будет опубликован.

три × пять =

%d такие блоггеры, как: