Интеграция с антивирусными и антиспамовыми системами¶
- Содержание
- Интеграция с антивирусными и антиспамовыми системами
- Установка Dr.Web Mail Security Suite (для UNIX)
- Настройка почтового сервера
- Программирование собственных сценариев обработки почтовых сообщений
Почтовый сервер состоит из двух частей. MTA (Mail Transfer Agent – Агент Передачи) и MDA (Mail Delivery Agent – Агент Доставки). Задача MTA – пересылать (транспортировать) почту между серверами, ориентируясь на доменную часть, он сначала находит в DNS список почтовых серверов, упорядочивает их согласно приоритету, и предпринимает попытки отправить сообщение. Иногда ему не удается сделать это с первого раза, в таком случае MTA повторяет попытки по определенному алгоритму. MTA также выполняет ряд процедур по проверке валидности серверов, с которыми он общается. Работа MTA считается выполненной, когда удаленный сервер подтвердил прием сообщения, обоснованно отказался принять, либо по тайм-ауту (обычно это несколько дней).
MDA – ничего не пересылает, его задача получить письмо от MTA и положить в ящик пользователя, он также выдает почту пользовательским почтовым программам (MUA, Mail User Agent) по протоколам IMAP/POP. Это его задача организовать систему хранения, идексирования, поиска и выдачи, а также многое другое.
Итак, MTA – это почтовое отделение, а MDA – это почтальон. Теперь нам понятно, что работа у каждого из них разная. Поэтому часто бывает, что и сами эти программы тоже разные и написаны разными людьми. К примеру, в открытой архитектуре распространены такие MTA, как Postfix и Exim, а в качестве доставщика распространен Dovecot. А все вместе мы называем почтовым сервером.
Tegu – это современный почтовый сервер, который объединяет в себе и MTA, и MDA. Tegu запускает необходимое количество нужных в данный момент асинхронных процессов и контролирует их исполнение. При этом и на стороне MTA, и на стороне MDA могут работать различные правила и фильтры, которые мы предусмотрели.
Но что делать, если пользователь хочет реализовать какой-то собственный алгоритм обработки, фильтрации или сортировки почты, который не предусмотрен почтовым сервером. Не программировать же сервер под каждый конкретный случай. Вот для этого и необходим механизм Milter.
Milter – это протокол, название которого образуется из двух слов Mail и Filter. Это протокол, которому MTA передает сообщение до того, как передаст его на доставку или отправку.
Какими могут быть сервера для Milter-обработки? Чаще всего агенты Milter решают следующие задачи:
- Проверка сообщений электронной почты на спам;
- Проверка сообщение на вирусы;
- Фильтрация нежелательных вложений;
- Интеграция с DLP-системами;
- Архивирование корреспонденции;
- Сбор и сохранение статистики;
- Добавление дисклеймеров;
- Изменение маршрутизации;
- Абсолютно любая ваша функция, которая выходит за рамки штатных возможностей.
На рисунке представлена схема встраивания протокола Milter в SMTP-сессию MTA почтового сервера Tegu:
Работа по установке и настройке Milter-сервера Dr.Web Mail Security Suite состоит из двух этапов:
- Установка и настройка Dr.Web Mail Security Suite;
- Настройка Tegu.
Установка Dr.Web Mail Security Suite (для UNIX)¶
- Установите Dr.Web Mail Security Suite для UNIX согласно инструкции производителя;
- Включите Компонент Maild;
- Настройте параметры транспортного соединения между MTA и Dr.Web;
- Оптимизируйте Dr.Web, изучив алгоритм его работы в синхронном и асинхронном режимах (для высоконагруженных систем).
Настройка почтового сервера¶
Откройте настройки сервера Tegu:
1. Установить чекбокс "Enable antivirus and/or antispam scan" (Использовать Антивирус) в меню "Настройка" административной панели сервера Tegu;
2. Заполните поля host и port (3001);
3. Задайте название поля заголовка электронной почты для оценки спама. (в правилах обработки входящих писем этот заголовок будет использован в условии по рейтингу спама);
4. Для настройки обработки рейтинга спама, необходимо перейти в меню "Глобальные правила обработки входящих писем" и добавить правила обработки спама.
Программирование собственных сценариев обработки почтовых сообщений¶
В сервере Tegu есть несколько уровней настройки обработок почтовых сообщений на уровне администратора и пользователей. Однако, вы можете легко написать собственный сервер для обработки сообщений по протоколу Milter. Для этого существует свободные библиотеки на C, Python и др. Если вы используете Dr.Web Mail Security Suite для UNIX, то вам "из коробки" для программирования сценариев доступен язык LUA. Подробнее см. здесь.