Сбор и импорт писем
«Клавдий» собирает почту двумя способами. В режиме вытягивания забирает письма из Microsoft Exchange/EWS и по протоколу IMAP. В режиме приёма принимает копию SMTP-трафика напрямую — это гарантирует полноту архива независимо от того, что пользователи делают с исходными ящиками.
Для разового переноса накопленной переписки есть импорт файлов PST, EML и MSG через веб-интерфейс. Массовый сбор позволяет единовременно заархивировать ящики целой группы пользователей по списку из Active Directory/LDAP — удобно при миграции или вводе системы в эксплуатацию.
Сбор идёт по расписанию или вручную, с автоматическими повторами при сбоях. В архив письмо попадает в неизменном виде: отредактировать или удалить его нельзя.
Правила хранения и сроки
Не вся почта одинаково ценна. «Клавдий» позволяет задать правила хранения — какие письма, в какие хранилища и на какой срок помещать. Например, обычную переписку хранить 5 лет, переписку руководителей — бессрочно, а спам не помещать в архив вовсе.
Срок хранения назначается письму в момент архивирования. При необходимости правила можно заново применить к уже хранящимся письмам — одной кнопкой.
Хранение, надёжность и экономия места
Тела писем и вложения хранятся в группах хранилищ — наборах узлов с настраиваемой избыточностью. Каждое письмо (с учётом дедупликации) размещается на нескольких узлах группы, поэтому выход из строя отдельного диска или узла не приводит к потере данных.
- Дедупликация — повторяющиеся тела и вложения хранятся в одном экземпляре, что заметно экономит место при массовой рассылке.
- Шифрование хранилища — содержимое группы можно хранить зашифрованным (AES-256-GCM) с отдельным ключом на группу и ротацией ключей без остановки работы. Ключи не хранятся в базе — они выводятся из секрета узла, что снижает риск компрометации при утечке базы.
- Автоматическое восстановление — контрольная сверка контрольных сумм хранящихся блоков; при обнаружении повреждённого или отсутствующего блока система восстанавливает его с соседнего узла сама, без участия администратора.
- Ребаланс — при добавлении новых узлов данные перераспределяются автоматически, чтобы нагрузка и заполнение оставались равномерными.
Доступны локальные диски, сетевые NAS/SAN и S3-совместимые хранилища. При крупных объёмах индексацию выносят на отдельный узел-индексатор, чтобы она не мешала приёму почты и работе веб-интерфейса.
Индексация и мгновенный поиск
Поиск построен на SolrCloud и остаётся быстрым даже при многомиллионном архиве. Индексируются тема, тело письма, отправители, получатели, даты и содержимое вложений — включая офисные документы, PDF и изображения (текст извлекается через Tika).
Есть простая форма и расширенные фильтры: по домену отправителя и получателя, дате, наличию вложений, размеру. Для сложных случаев предусмотрен режим прямого Lucene-запроса. Индекс разделён на бакеты по месяцам — это позволяет точечно управлять им: включать, отключать или переиндексировать отдельный месяц, не затрагивая весь архив.
Доступ через веб и почтовый клиент
Веб-интерфейс показывает структуру папок на момент архивации, само письмо, технические заголовки и вложения. Оригинал можно выгрузить в EML (в том числе несколько писем одним ZIP-архивом) или восстановить обратно в рабочий ящик — через IMAP APPEND или EWS CreateItem.
Через IMAP архив подключается как отдельный почтовый ящик только для чтения в любой привычной почтовой программе — Outlook, Thunderbird и др. Для пользователя это обычный ящик, никаких новых навыков не требуется.
Не только почта: календарь, контакты, задачи
Помимо писем, «Клавдий» архивирует элементы почтового ящика Outlook — встречи календаря, контакты и задачи. Они доступны для просмотра и поиска в веб-интерфейсе наравне с письмами.
Роли, аутентификация и аудит
Доступ к архиву разграничен ролевой моделью (RBAC). Администратор видит и настраивает всё; рядовой сотрудник работает только со своими письмами. Правила доступа определяют, кто и к каким ящикам имеет доступ — это особенно важно для массового сбора, где права на чужие ящики не выдаются автоматически, а назначаются администратором осознанно. Технический администратор может обслуживать систему без права читать переписку, а специалист безопасности — работать только с разрешённой ему областью.
Учётные записи берутся из корпоративного каталога LDAP/Active Directory — двойной учёт не нужен. Поддержаны встроенный TOTP для двухфакторной аутентификации и RADIUS. Раздельный доступ предусмотрен для поддержки, аудиторов и конечных пользователей.
Мониторинг, оповещения и управление
Дашборд показывает состояние компонентов в реальном времени: самопроверку (PostgreSQL, Solr, SMTP/IMAP, планировщик, очередь оповещений), системные метрики, объёмы по ящикам и динамику импорта. Глубокую диагностику хранилища и состояние кластера SolrCloud администратор видит в той же панели.
Планировщик задач выполняет сбор, индексацию и обслуживание хранилищ (автовосстановление, ребаланс, ротация ключей, удаление по срокам) по расписанию или вручную. Система оповещений информирует администратора о событиях по email. Состояние любой фоновой задачи — ход, ошибки, какой узел выполняет — видно в единой очереди задач с возможностью отмены и возобновления.
Модульная архитектура и масштабирование
«Клавдий» — кластерный продукт. Каждый узел получает набор ролей:
- WUI — веб-интерфейс и согласование настроек кластера;
- хранилище — хранение и шифрование содержимого писем;
- импорт — сбор писем из почтовых ящиков;
- индексация — разбор писем и вложений для поискового индекса;
- IMAP-сервер — доступ к архиву из почтовых программ;
- SMTP-приёмник — приём копии SMTP-трафика для архивации.
Роли позволяют гибко распределять нагрузку: выделенный узел под индексацию, отдельные узлы под приём почты и так далее. Новые узлы включаются в кластер без остановки работы — настройки синхронизируются автоматически, состояние узлов отслеживается в реальном времени (жив / устарел / недоступен). Роли можно менять на лету, без перезапуска узла.
Компоненты можно разместить на одном сервере, распределить между Linux-узлами (docker-compose) или развернуть в Kubernetes через helm-чарт — с автоматическим масштабированием, rolling-обновлениями без простоя и управлением секретами по стандартам k8s.
Сценарии внедрения
Пилот
Один Linux-сервер, ограниченный поток и тестовый набор существующих ящиков. Проверяются полнота сбора, поиск, роли, восстановление и фактический коэффициент дедупликации.
Корпоративный архив
Раздельные вычислительные узлы и хранилища, интеграция с каталогом LDAP/AD, политики сроков хранения, шифрование хранилища, мониторинг и оповещения.
Крупная распределённая система
Кластер из множества узлов, разнесённых по ролям: сборщики, индексаторы, узлы хранения и точки доступа пользователей. Узлы добавляются без простоя, а индекс и хранилище масштабируются независимо — под рост объёма почты и числа пользователей. Для таких инсталляций рекомендуется Kubernetes с горизонтальным масштабированием и rolling-обновлениями.
Конфигурацию рассчитывают исходя из объёма почты в сутки, среднего размера письма, срока хранения, пикового импорта и требований к скорости поиска.