CommuniGate Pro
Версия 6.4
 

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

В этом разделе объясняется, как 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).
Обратите внимание: Путь к Программе должен быть прописан в Манифестe Дочерних Процессов.
Обратите внимание: всегда используйте обратную косую черту (\) в качестве разделителя в пути к файлу, если Сервер CommuniGate Pro запущен на платформе Microsoft Windows.
Обратите внимание: на платформах Unix, если вы хотите задать параметры, включающие в себя пробелы или другие специальные символы, указывайте их в кавычках ("). На других платформах используйте аргументы командной строки в том виде, как это принято на этой платформе.

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

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

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

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

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

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

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

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

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


Руководство CommuniGate Pro. Copyright © 2020-2023, АО СталкерСофт