Каталог расширений

Интеграция почтового сервера CommuniGate Pro и PT Sandbox для подключения в разрыв

Интеграция почтового сервера CommuniGate Pro и PT Sandbox для подключения в разрыв на основе механизма помощников

Текущая логика работы:

Коннектор:

• Использует протокол помощников ComuniGate (https://old.communigatepro.ru/CommuniGatePro/russian/Helpers.html#Protocol) • Работает в два потока: o Поток 1: сервер API для обработки вердиктов и отправки в stdout o Поток 2: цикл для чтения stdin • Преобразует письмо к каноничному eml* • Разбирает команду и отправляет по REST на Gateway: o Запрос один: загружается файл, в качестве ответа получает id файла в БД Gateway o Запрос два: отправляет UID запроса (RUID) и id в БД • Получает от gateway ответ по REST(Поток 1) и отправляет в stdout для общения с Comunigate

Gateway

• Получает по REST Файл и UID запроса от коннектора • Кладет полученную информацию в БД (SQLite) • По таймауту (раз в 10 секунд) отправляет задачи на сканирование в SB, и получает ответ (отдельный поток запускается по таймеру), записывает вердикт в БД • По таймауту (раз в 10 секунд ) запрашивает неотправленные результаты из БД, отправляет результаты сканирования по REST в коннектор, после успешной отправки удаляет сведения из БД

Требования к настройкам на стороне CommuniGate

• Настроен помощник фильтрации данных Установки -> Общее -> Помощники → Фильтрация данных • Строка для запуска /usr/local/bin/python -u /var/CommuniGate/PTConnector/connector/connector.py (ключ -u для отключения буферизации как требования протокола) • Настроено правило обработки почты: *CommunniGate использует msg (не формат microsoft, просто расширение, по сути eml с кастомными заголовками) в eml, в SnadBox письмо распознается корректно. Схема взаимодействия компонентов:

Использованные технологии:

В качестве сервера API используется uvicorn В качестве API используется FastAPI В качестве БД используется SQLite3 Переменные для настроек вынесены в .env файлы Для сервиса Gateway в текущей реализации используется Docker

Требования к окружению:

Python >= 3.8 fastapi>=0.112.2 pydantic>=2.8.2 python-dotenv>=1.0.1 Requests>=2.32.3 uvicorn>=0.30.6

Автор
LightRazor
Продукт
PT Sandbox
Категория
Интеграции

Ваш комментарий

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

Другие расширения для PT Sandbox