Для контроля почтового трафика используются так называемые правила SMTP-шлюза. Также для контроля могут использоваться дополнительные модули (подробнее см. в п. Контроль почтового трафика дополнительными модулями). Обработка сообщения правилами SMTP-шлюза производится не только после приема сообщения целиком, но также по каждому событию, связанному с определенными стадиями приема сообщения в рамках SMTP-протокола. Это позволяет настроить процедуру фильтрации таким образом, чтобы сообщения можно было отфильтровать как можно раньше, экономя при этом трафик.
При каждом событии для анализа доступны только те атрибуты сообщений, которые уже имеются (приняты):
- IP-адрес и DNS-имя хоста отправителя;
- e-mail адрес отправителя;
- e-mail адрес получателя;
- тема сообщения;
- внутренние заголовки сообщения;
- IP-адреса в заголовках (их можно использовать для анализа трассировки пути доставки сообщений).
В правилах могут проверяться только эти атрибуты, используется синтаксис регулярных выражений. Анализ всего сообщения целиком доступен только в дополнительных модулях.
Предусмотрены следующие события, по которым производятся действия обработки сообщений.
- Connect. Событие происходит в момент попытки установления соединения с SMTP-сервером. Доступны только атрибуты IP-адреса и имени хоста. По этому событию можно сразу отсечь попытку соединения с определенных хостов ("черные списки") или, наоборот, разрешить прием любой почты ("белые списки").
- HELO. Событие происходит по приему соответствующей SMTP-команды (HELO или EHLO).
- MailFrom. Событие происходит по приему адреса отправителя. По данному событию можно произвести анализ этого адреса в правилах. Также имеется функция анализа валидности почтового домена адреса отправителя на предмет наличия DNS MX-записи.
- RcptTo. Событие происходит по приему адреса получателя. По событию можно произвести анализ этого адреса в правилах. Если получателей несколько, то это событие вызывается по каждому адресу получателя отдельно. На данной стадии SMTP-шлюз также производит поиск пользователя программы по его e-mail адресу в параметрах авторизации, и, если прием почты для этого получателя запрещен, SMTP-клиенту возвращается ответ с ошибкой. SMTP-сессия может и не закрываться, SMTP-клиент в силе продолжить отправку сообщения для другого получателя.
- Headers. Событие происходит по приему заголовков сообщения, при этом доступны атрибуты заголовков. Тема сообщения находится в заголовках, поэтому она также доступна для анализа. Доступен и список IP-адресов заголовков.
- Complete. Событие происходит по принятию всего сообщения. Доступны все атрибуты. По этому событию также производится антивирусная проверка сообщения.
Операцию фильтрации сообщения по данным заголовков можно производить по событию их приема. Но следует иметь в виду, что SMTP-клиент на этой стадии отправки сообщения, скорее всего, анализировать код возврата не будет, и прекращение приема данных тела сообщения воспримет как ошибку связи, а через некоторое время предпримет попытку повторной отправки. Поэтому такую фильтрацию лучше всего делать по приему сообщения целиком (событие Complete).
В SMTP-шлюзе имеется механизм добавления (отнимания) так называемого весового коэффициента сообщения, что позволяет реализовать его обработку по совокупности разных признаков. Если в самом конце приема и анализа сообщения этот вес превысит определенный заданный порог, то сообщение может быть отфильтровано (подробнее о настройки блокировки по рейтингу см. в п. Настройка SMTP-шлюза).
Кроме такого радикального действия, как блокировка, может быть сделана пометка сообщения в теме или его заголовках. Эти признаки в дальнейшем могут использоваться для фильтрации сообщений в почтовом сервере организации или непосредственно в пользовательской почтовой программе. Последняя может использовать пометки в теме для распределения принятых сообщений в разных папках. Помечаться сообщение может при превышении его веса заданным порогом, а также отдельными правилами.
Список правил SMTP-шлюза размещен в разделе Сервисы -> SMTP-шлюз -> Правила консоли администратора. Он может отображаться в двух видах – упрощенном или экспертном. Переключение между ними осуществляется с помощью вкладок в нижней части страницы. В упрощенном виде правила SMTP-шлюза отображаются в виде белых и черных списков IP-адресов, отправителей, получателей и тем. При этом ссылка правила ведет на вкладку Выражение окна его свойств (подробнее об этом см. ниже). Такой подход позволяет максимально просто и быстро настраивать стандартные правила SMTP-шлюза. В экспертном режиме управление правилами осуществляется в ручном режиме. При этом доступны все возможные операции.
В рамках управления правилами SMTP-шлюза в Traffic Inspector реализованы следующие операции:
- создание/изменение правила SMTP-шлюза;
- проверка произвольного выражения;
- удаление правила SMTP-шлюза.
Создание/изменение правила SMTP-шлюза
Для создания нового или изменения существующего правила SMTP-шлюза выполните следующие действия:
- Откройте окно свойств нового или существующего правила SMTP-шлюза. Сделать это можно с помощью контекстного меню в разделе Сервисы -> SMTP-шлюз -> Правила консоли администратора.
- На вкладке Наименование введите уникальное наименование правила SMTP-шлюза и, при необходимости, произвольные примечания. Здесь же можно временно отключить правила, не удаляя его из системы.
- На вкладке Правило выберите событие, при наступлении которого данное правило SMTP-шлюза должно срабатывать (описание событий см. выше) и с помощью флажков отметьте те атрибуты, в которых будет осуществлять поиск заданных выражений.
Замечание! Перечень доступных атрибутов зависит от выбранного события (см. описание событий выше).
Если среди атрибутов для анализа был выбран IP-адрес отправителя, то можно указать, откуда будут браться выражения для сравнения – из списка в свойствах самого правила SMTP-шлюза (по умолчанию) или же из описания указанной IP-сети (подробнее про IP-сети см. в п. IP-сети). Второй вариант очень удобно использовать в тех случаях, когда нужно, к примеру, всегда разрешить почту из удаленных филиалов (описание IP-адресов филиалов содержатся в описании соответствующей IP-сети и могут использоваться при составлении правил пользователей, правил SMTP-шлюза, при настройке сетевого экрана и пр.).
- На вкладке Способ обработки выражений выберите тип обработки – вхождение подстроки или регулярные выражения. В первом случае список выражений будет представлять собой обычные текстовые строки, которые и будут искаться в значениях указанных атрибутов. Во втором случае в списке будут содержаться регулярные выражения, которые позволяют значительно более точно настроить поиск и уменьшить риск ложных срабатываний (подробнее о синтаксисе регулярных выражений см. в п. !!!). Здесь же включите или выключите чувствительность поиска к регистру символов.
- На вкладке Действия настройте действие, которое будет выполнять SMTP-шлюз с сообщениями, которые удовлетворяют заданным условиям. Здесь возможны следующие варианты.
- Продолжать проверку – к сообщению применяются заданные на этой же вкладке действия (см. ниже), его загрузка (если оно еще не было полностью загружено) и обработка продолжается в обычном порядке.
- Блокировать – сообщение блокируется, его дальнейший прием прекращается.
- Разрешить – к сообщению применяются заданные на этой же вкладке действия (см. ниже), его загрузка продолжается (если оно еще не было полностью загружено), но больше никаких проверок оно не проходит (за исключением проверки антивирусами). То есть данное действие аналогично "белому" списку.
- На следующее событие – к сообщению применяются заданные на этой же вкладке действия (см. ниже), его загрузка продолжается (если оно еще не было полностью загружено), проверка этого сообщения по данному событию по другим правилам этого списка прекращается. Но для последующих событий все проверки сообщения производятся в обычном порядке.
При необходимости на этой же вкладке настройте следующие действия, которые могут применяться к сообщению.
- Изменение весового коэффициента – рейтингу сообщения добавляется или из него вычитается указанное значение.
- К сообщению добавляется или из него удаляется указанная отметка. Эти отметки могут использоваться, в том числе, в дополнительных модулях (антивирус, антиспам и т.п.) как условия для выборочной обработки.
- На вкладке Пометка сообщений настройте правила автоматического изменения темы сообщения и добавление к нему одного или нескольких произвольных заголовков. По умолчанию эти настройки загружаются из свойств SMTP-шлюза (подробнее см. описание вкладки Правила обработки сообщений в п. Настройка SMTP-шлюза). Однако при необходимости их можно установить для правила индивидуальные параметры.
- При необходимости на вкладке Автозагрузка настройте параметры автоматической загрузки списка выражений по протоколу HTTP. Для этого укажите URL-адрес списка и укажите расписание выполнения операции загрузки.
- На вкладке Выражения настройте список выражений. Создавать его можно вручную, при этом каждое выражение пишется в отдельной строке. Также список может быть загружен из предварительно подготовленного файла.
Замечание! Функция загрузки с внешнего источника доступна только в том случае, если были настроены параметры на вкладке Автозагрузка.
Список может быть выгружен в виде текстового файла.
- Сохраните внесенные изменения.
Проверка произвольного выражения
В Traffic Inspector реализована функция проверки выражения, которая позволяет проверить, соответствует указанное выражение данному правилу или нет. Проверка осуществляется в специальном окне, вызвать которое можно с вкладки Список окна свойства правила SMTP-шлюза или с помощью контекстного меню раздела Сервисы -> SMTP-шлюз -> Правила консоли администратора.
В окне введите тестируемый запрос и запустите проверку. Если адрес соответствует правилу, то отображается номер первой строки (нумерация с "1") списка выражений, где это условие выполнилось.
Удаление правила SMTP-шлюза
Удаление правила SMTP-шлюза осуществляется с помощью контекстного меню в разделе Сервисы -> SMTP-шлюз -> Правила консоли администратора.