IVA ДОКУМЕНТАЦИЯ ОБНОВЛЕНИЯ

Антивирусная защита и защита от спама

Назначение

Сервер IVA Mail поддерживает подключение внешних средств антивирусной защиты и защиты от спама. Средства защиты подключаются к серверу как плагины-сканеры и проверяют:

  • письма, которые проходят через сервер: входящие письма локальным пользователям, письма от локальных пользователей и письма, пересылаемые через сервер в режиме SMTP Relay;

  • файлы, загружаемые на сервер, например вложения, загружаемые через клиентские приложения по протоколу JUMP.

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


Поддерживаемые средства защиты

Средство Описание

Kaspersky Anti-Virus (KAV)

Плагин антивирусной проверки писем. Письмо с обнаруженным вирусом отклоняется, отправитель получает отчёт о недоставке.

Подробнее см. Плагин Kaspersky AntiVirus для IVA Mail.

Kaspersky Anti-Spam (KAS)

Плагин фильтрации спама. Добавляет в письмо заголовки со спам-рейтингом, по которым почтовые правила перемещают, помечают или отклоняют письма.

Подробнее см. Плагин Kaspersky Anti-Spam для IVA Mail.

Сторонние средства защиты

Любая программа, которая работает на сервере IVA Mail и реализует протокол взаимодействия Scanner (см. Подключение стороннего средства защиты).

Почтовые шлюзы безопасности

Внешние системы, которые принимают почту перед сервером IVA Mail (SMTP Relay) и добавляют в письма заголовки с результатом проверки. Сервер обрабатывает такие заголовки почтовыми правилами так же, как заголовки плагинов.


Принцип работы

  1. Плагин-сканер добавляется в модуле Менеджер плагинов с типом Scanner и запускается сервером.

  2. При доставке письма сервер выполняет почтовые правила. Проверка письма запускается действием Сканировать Плагином в правиле, в параметре действия указывается имя плагина.

  3. Сервер передаёт письмо плагину и выполняет действие в зависимости от ответа:

    Ответ плагина Действие сервера

    Письмо безопасно

    Продолжает обработку письма.

    Добавить заголовки

    Добавляет в письмо заголовки, переданные плагином (например, X-Junk-Score со спам-рейтингом), и продолжает обработку. Решение о доставке принимают почтовые правила низшего приоритета.

    Отклонить

    Прекращает доставку письма и отправляет отправителю отчёт о недоставке (NDR) с причиной отказа.

    Выбросить

    Прекращает доставку письма без уведомления отправителя.

    Отложить

    Откладывает обработку письма.

    Ошибка

    Сообщает о внутренней ошибке плагина при проверке письма. Запись об ошибке появляется в журнале сервера.

  4. Почтовые правила, которые проверяют добавленные заголовки, могут:

    • отклонить письмо с отчётом отправителю — действие Отклонить письмо;

    • удалить письмо без уведомления отправителя — действие Выбросить;

    • сохранить письмо в отдельную папку для последующего изучения — действия Перенести в или Сохранить в;

    • пометить письмо — действия Добавить Флаги, Добавить Заголовок.

При проверке файла, загружаемого на сервер, плагин сообщает, безопасен ли файл. Если в файле обнаружена угроза, сервер отказывается использовать файл.

Подробнее о правилах см. Почтовые правила.


Общая схема настройки

  1. Установите средство защиты на сервер IVA Mail по инструкции производителя или плагина.

  2. Добавьте плагин в разделе Модули → Менеджер плагинов: укажите имя, тип Scanner, путь к исполняемому файлу, включите автостарт и запустите плагин (см. Модуль Менеджер плагинов).

  3. Создайте серверное почтовое правило (Настройки → Почтовые правила) с действием Сканировать Плагином и именем плагина в параметре. Чтобы проверять все письма, проходящие через сервер, правило создаётся без условий.

  4. Если плагин добавляет заголовки, создайте правила, которые проверяют эти заголовки условием Текст Заголовка и выполняют нужное действие. Такие правила можно создать на уровне сервера, домена или аккаунта.

  5. Проверьте работу защиты тестовым письмом и журналом сервера.

Пример настройки для конкретных плагинов см. в разделах Интеграция плагина KAV и Интеграция плагина KAS.

  • На время внедрения установите для плагина отладочный уровень журнала, чтобы видеть результаты проверки в журнале сервера.

  • Антивирусным плагинам можно не проверять маленькие письма (менее 2 КБ): они обычно не содержат вирусов. Для этого добавьте в правило сканирования условие Размер Письма → любой больше → 2K. Для антиспам-плагинов такое условие не используйте: короткое письмо тоже может быть спамом.

  • Если в правиле есть условие по размеру, на время проверки защиты тестовым письмом уберите его: тестовое письмо может быть меньше 2 КБ и не попасть на проверку.


Подключение стороннего средства защиты

Сторонний антивирус или антиспам подключается к серверу, если для него есть плагин, реализующий протокол Scanner.

Требования к плагину:

  • плагин — отдельная программа на любом языке программирования, которая запускается на той же платформе, что и сервер IVA Mail; подключение плагинов поддерживается только на серверах под управлением Linux;

  • сервер сам запускает и останавливает плагин; рабочий каталог плагина — рабочий каталог сервера (как правило, /var/ivamail);

  • обмен с сервером ведётся через стандартные потоки ввода и вывода текстовыми строками вида <ID> <КОМАНДА> <ПАРАМЕТРЫ>, где параметры передаются в формате JSON;

  • при запуске плагин согласует с сервером тип протокола (Scanner) и его версию.

Команды протокола Scanner:

Команда Назначение и ответы плагина

SCANMSG

Проверка письма из почтовой очереди. Сервер передаёт путь к файлу письма и его структуру.

Ответы плагина:

  • OK — продолжить обработку письма;

  • HEADERS — добавить в письмо заголовки и продолжить обработку;

  • REJECT — отклонить письмо с отчётом отправителю;

  • DISCARD — удалить письмо без отчёта;

  • DELAY — отложить обработку письма;

  • FAIL — внутренняя ошибка плагина.

SCANFILE

Проверка файла, загруженного на сервер.

Ответы плагина:

  • OK — угроз не обнаружено;

  • REJECT — файл содержит угрозу и не используется.

Пример обмена при проверке письма (S — сервер, P — плагин):

S: 2400 SCANMSG {"Message":"WorkFiles/0/486110.msg","Structure":"..."}
P: 2400 HEADERS [["X-KAS-Scan", "score=0, method=none"], ["X-Junk-Score", "[]"]]

Строки, которые плагин начинает с символа # или *, сервер записывает в журнал как информационные сообщения плагина.