Skip to content

Внешние Фильтры ​

В этом разделе объясняется, как CommuniGate Pro может использовать программы - Внешние Фильтры для сканирования сообщений. Эта возможность используется для реализации защиты от вирусов и для фильтрации содержимого.

Фильтры CommuniGate Pro являются намного более надёжным решением, чем различные внешние "почтовые сканеры" для SMTP:

  • Внешние сканирующие ретрансляторы SMTP обычно обладают только базовыми функциями SMTP. Так как все SMTP соединения должны проходить через эти ретрансляторы, а не через SMTP модуль CommuniGate Pro, то расширенные функциональные возможности SMTP модуля CommuniGate Pro не используются пользователями и другими SMTP серверами.
  • Внешние сканирующие ретрансляторы SMTP обычно обладают меньшей, по сравнению с Сервером CommuniGate Pro, производительностью и надёжностью работы. Если сканирующий ретранслятор прекращает работу, то SMTP функции CommuniGate Pro также становятся недоступными.
  • Внешние сканирующие ретрансляторы SMTP обычно не умеют сканировать несколько сообщений одновременно, так что при сканировании большого сообщения SMTP трафик на Сервере CommuniGate Pro просто останавливается.
  • Внешние сканирующие ретрансляторы SMTP не умеют сканировать сообщения, отправленные на сервер не через SMTP. Например, сообщение, созданное через Веб Интерфейс Пользователя и направленное Пользователю этого же Сервера CommuniGate Pro будет доставлено без операций SMTP передачи.

Внешние Фильтры работают вместе с Сервером CommuniGate Pro. Они не используют в своей работе протоколы передачи сообщений. Вместо этого, Сервер CommuniGate Pro передаёт им файл с сообщением до того, как сообщение ставится в очередь какого-либо модуля. В результате, будут сканироваться все сообщения, а не только такие сообщения, которые были отправлены через определённый протокол передачи почты.

Компонент Постановки в Очередь CommuniGate Pro настраивается на использование нескольких обработчиков (нитей), и, таким образом, одновременно могут сканироваться несколько сообщений. В результате длинные сообщения, сканирование которых занимает несколько секунд, не останавливают поток сообщений.

Для Дополнительных Модулей сторонних производителей, распространяемых компанией CommuniGate Systems, обычно требуются дополнительные лицензионные ключи. В настоящее время доступно несколько дополнительных модулей.

В разделе Помощники приводится информация о протоколе, используемом для работы Внешних Фильтров. Если вы планируете создать новый дополнительный модуль, прочтите этот раздел.

Запуск Внешних Фильтров ​

После того как вы установили программу Внешнего Фильтра, или построили свою собственную, через Веб Интерфейс Администратора CommuniGate Pro произведите настройку Внешних Фильтров. Через Веб Интерфейс Администратора откройте в области Установки страницу Помощники.

Фильтрация Данных
Уровень Журнала:Путь к Программе:
Тайм-аут:Авторестарт:
Уровень Журнала:Путь к Программе:
Тайм-аут:Авторестарт:
Уровень Журнала:Путь к Программе:
Тайм-аут:Авторестарт:

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

Для того, чтобы удалить программу Внешнего Фильтра, введите пустую строку в поле с её названием и нажмите кнопку Модифицировать.

Каждая программа Внешнего Фильтра имеет следующие опции:

  • Уровень Журнала

    Используйте эту настройку, чтобы указать какую информацию модуль Внешнего Фильтра должен сохранять в Журнале работы Сервера. Обычно используется уровень Проблемы (изменения статуса и не фатальные ошибки). В случае, если в работе программы Внешнего Фильтра возникают проблемы, то целесообразным будет увеличить детализацию до уровня Подробности или Всё: в этом случае в Журнал работы Сервера будет также записываться более подробная информация.
    Записи, помещённые Внешними Фильтрами в Журнал работы Сервера, имеют пометку EXTFILTER.

  • Путь к Программе

    Используйте эту настройку для указания пути к имени файла программы Внешнего Фильтра (возможно, с параметрами). Если программное обеспечение Внешнего Фильтра установлено внутри директории данных CommuniGate Pro, то вы можете указать относительный путь (например, VirusScan\scan.exe). В противном случае, используйте полный путь (такой как D:\Programs\VirusScan\scan.exe или /usr/sbin/myFilter).

    Обратите внимание

    Всегда используйте обратную косую черту (\\) в качестве разделителя в пути к файлу, если Сервер CommuniGate Pro запущен на платформе Microsoft Windows.

    Обратите внимание

    На платформах Unix, если вы хотите задать параметры, включающие в себя пробелы или другие специальные символы, указывайте их в кавычках ("). На других платформах используйте аргументы командной строки в том виде, как это принято на этой платформе.

Отметьте флажок и нажмите на кнопку Модифицировать для того, чтобы начать использование программы Внешнего Фильтра. Если программа не может быть запущена, на странице Помощники появится сообщение об ошибке.

  • Тайм-аут

    При определённых условиях и/или в результате ошибок в коде Внешней программы она может прекратить отвечать на запросы Сервера CommuniGate Pro или просто зациклится. Если в течение указанного периода времени не было получено никакого ответа на запросы Сервера, то Сервер отправляет сигнал на прекращение работы Внешней Программы.

  • Авторестарт

    При определённых условиях и/или в результате ошибок в коде Внешней программы она может аварийно прекратить свою работу. Сам Сервер также может отправить сигнал на прекращение работы программы если в течение указанного периода времени не было получено никакого ответа на запросы Сервера (смотрите выше).
    Если параметр Авторестарт не задан в значение Никогда, то Сервер CommuniGate Pro обнаружит прекращение работы Внешней Программы, выждет указанное время и затем автоматически перезапустит Внешнюю Программу. Затем он отправит в заново запущенную Внешнюю Программу повторно все отложенные запросы и продолжит нормальную обработку.
    Если параметр Авторестарт установлен в значение Никогда, то для того, чтобы перезапустить Внешнюю программу, вам необходимо будет через Веб Интерфейс Администрирования открыть страницу Помощники и нажать кнопку Модифицировать.

Использование Внешних Фильтров ​

По умолчанию, включённый Внешний Фильтр не используется для сканирования всей почты. Если вы указали программу Внешнего Фильтра с именем filterName, то вы можете сканировать этой программой все сообщения, создав Общесерверное Правило. Не задавайте условия для этого Правила (что приведёт к тому, что Правило будет применяться ко всем сообщениям, обрабатываемым Сервером), и укажите в нём одно действие - Внешний Фильтр filterName.

Сообщения сканируются, только если рядом с именем Фильтра установлен флажок. Вы можете снять флажок, и тогда сообщения не будут попадать в эту программу Внешнего Фильтра. Если эта опция выключена, то операция Правил ExternalFilter filterName является нулевой операцией (ничего не делает).

Если вы хотите сканировать только некоторые сообщения, то добавьте в это Правило условие(я). В приводимый ниже примере Правила проверяют размер сообщения и используют программу Внешнего Фильтра VirusScan для сканирования сообщений, превышающих определённый размер:

ДанныеОперацияПараметр
ДействиеПараметр

Внешние Фильтры взаимодействуют с нитями, обслуживающими Постановку в Очередь. В связи с тем, что обработка большого сообщения может занять несколько секунд, на странице Очередь в области Установки в Веб Интерфейсе Администратора увеличьте число Обработчиков (нитей) Постановки в Очередь.

В качестве альтернативы вы можете выключить опцию Ставить Асинхронно (на этой же странице) и заставить каждую нить, передающую сообщение сканировать его в процессе передачи.