Порядок обработки сообщений

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

Фильтрация соединений

Фильтрация соединений схематично представлена на рисунке 1. При получении входящего подключения на 25 TCP порт, сервер GateWall Antispam просматривает свой глобальный "белый список" IP-адресов. Список задается на странице "Антиспам - Черные и белые списки". В качестве элементов списка допускаются указывать: IP-адрес или диапазон IP-адресов, название домена (запись типа A) или название почтового обменника домена (запись типа MX). Сервер GateWall Antispam разрешает указанные имена на IP-адреса и формирует глобальные списки разрешенных и запрещенных IP-адресов. Если входящее подключение инициировано с IP-адреса, находящегося в "белом" списке, GateWall Antispam пропускает все последующие проверки, вплоть до правил, созданных администратором сервера, и принимает сообщение. Для IP-адресов, попадающих в "черный" список, GateWall Antispam закрывает соединение.

На следующем шаге GateWall Antispam выполняет проверку DNSBL. Если входящее подключение инициировано с IP-адреса, попадающего в спам лист, GateWall Antispam закрывает соединение с соответствующим сообщением об ошибке. Настройка параметров DNSBL выполняется на одноименной странице консоли администрирования. В параметрах DNSBL указываются адреса DNSBL-серверов, которые используются для проверки, а также список исключений. В списке исключений можно указать IP-адрес, название домена или название почтового обменника.

Рисунок 1. Фильтрация соединения

Фильтрация по адресу источника

Фильтрация по адресу источника выполняется после получения команды MAIL FROM. Если в качестве адреса в MAIL FROM был получен "пустой" адрес (адрес вида "<>"), GateWall Antispam выполнит проверку BackScatter. Эта проверка необходима, например, для блокирования "фальшивых" информационных сообщений, например сообщений о невозможности доставки писем. В настройках BackScatter (страница "Антиспам -BackScatter") указывается адрес сервера, который будет использоваться для проверки и список исключений.

Если в команде MAIL FROM был получен непустой адрес, сервер GateWall Antispam проверит его на вхождение в "белый" и "черный" списки. Для адресов, попадающих в "черный" список, GateWall Antispam закрывает входящее соединение с соответствующим сообщением об ошибке. Для адресов, попадающих в "белый" список, все дальнейшие проверки пропускаются.

На следующем шаге выполняется проверка наличия MX-записи (Mail eXchanger) у домена, адрес которого передан в команде MAIL FROM, а также проверка наличия SPF (Sender Policy Framework) записи. Проверка MX-записи включается на странице "Антиспам - Главные настройки" в консоли администрирования. Параметры SPF-проверки задаются на одноименной странице в разделе "Антиспам". Реакция GateWall Antispam на MX- и SPF-проверки задается в настройках сервера.

На последнем этапе выполняется фильтрация RHSBL по доменному имени, полученному в команде MAIL FROM. Если доменное имя попадает в спам лист, GateWall Antispam закрывает входящее соединение, с соответствующим сообщением об ошибке.

Рисунок 2. Фильтрация по адресу источника

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

Фильтрация по адресу назначения выполняется после получения команды RCPT TO. Полученный адрес проверяется на вхождение в "белый" и "черный" списки. Для адреса назначения, попадающего в "белый" список, дальнейшие проверки не выполняются. Для адресов, попадающих в "черный" список, GateWall Antispam закрывает входящее соединение, с соответствующим сообщением об ошибке.

Далее, GateWall Antispam выполняет доступность адреса назначения в соответствии с заданными маршрутами (страница "Виртуальный SMTP- сервер - Маршруты"). Для проверки GateWall Antispam подключается к указанному в маршруте почтовому серверу и проверяет наличие адресата с помощью команды RCPT TO. Если адреса назначения отсутствует на обслуживаемом почтовом сервере, GateWall Antispam возвращает соответствующее сообщение об ошибке.

Для каждого входящего подключения GateWall Antispam формирует триплет (IP-адрес с которого инициировано подключение, адрес MAIL FROM, адрес RCPT TO) и просматривает внутренний список триплетов от предыдущих соединений. Если полученный триплет отсутствует во внутреннем списке (подключение с такими параметрами получено впервые), GateWall Antispam возвращает сообщение о временной ошибке. Так выполняется проверка Greylisting. Параметры Greylisting указываются на одноименной странице в разделе "Антиспам".

Рисунок 3. Фильтрация по адресу назначения

Фильтрация по содержанию

Фильтрация по содержанию включается при получения тела сообщения. На первом шаге выполняется проверка заголовков MIME. Если путь доставки сообщения, указанный в заголовке, превышает заданный в настройках лимит (параметр "Максимальная глубина пересылки" на странице "Виртуальный SMTP-сервер - Настройки"), GateWall Antispam заблокирует сообщение. На этапе проверки MIME также формируется ответное сообщение, если используется функция "Автоответ".

На следующем шаге выполняется проверка всего сообщения с помощью онлайн сервиса (т.н. "облачный" антиспам). Для проверки на удаленный сервер, с помощью метода HTTP POST передается уникальный хеш сообщения. Для работы сервиса "Облачный антиспам" необходимо разрешить прохождение протокола HTTP, на машине, на которую установлен GateWall Antispam. Сообщения, опознанные как спам или зараженные вирусом (сервис "Облачный антиспам" выполняет и антивирусную проверку), помещаются в папку карантина (%GWA%\mail\quarantine). Сообщение из папки карантина может быть переслано по адресу назначения принудительно, если соответствующий *.xeml файл переместить из папки %GWA%\mail\quarantine в папку %GWA%\mail\import. Такая пересылка выполняется через контекстное меню на странице "Мониторинг".

Далее, GateWall Antispam выполняет SURBL фильтрацию и проверку на основе статистического метода (фильтрация Байеса). Собственная реализация алгоритма фильтрации на основе метода Байеса позволяет выполнять автоматическое обучение на сообщениях, опознанных как "чистые" сервисом "Облачный антиспам". На последнем шаге фильтрации выполняется антивирусная проверка и обработка сообщения в соответствии с правилами.

Рисунок 4. Фильтрация по содержанию