Проверка работоспособности#

Предварительные этапы подготовки#

Для проверки работоспособности компонента необходимо:

  1. Подготовить TLS сертификат клиента для отправки запроса на отправку письма.

  2. Получить почтовый ящик для использования в системе в качестве ящика отправителя.

  3. Получить доступ к почтовому ящику, который будет использоваться в качестве ящика получателя для проверки полученного получателем письма.

  4. Создать bucket в S3 CEPH для проверки отправки письма с вложением.

Чек-лист проверки работоспособности#

Для проверки работоспособности компонента необходимо:

  1. Все pods в среде оркестрации должны быть в статусе RUNNING и не должны перезапускаться.

  2. В логах pod mail-db успешно прошла миграция БД.

  3. Выполнить вход в систему на UI компонента через браузер:

    • Не должно быть ошибки TLS сертификата.

    • Если ошибка существует, то необходимо добавить корневой и промежуточный сертификаты в локальную систему, с которой осуществляется вход.

    • Если ошибка сохраняется, то, вероятнее всего, включены не все DNS адреса в Subject alt names (SAN) серверного сертификата.

  4. Выполнить вход в UI компонента от любого пользователя. Этому пользователю будут присвоены права SUPERADMIN. Вход в UI компонента должен пройти успешно.

  5. Добавить через UI компонента команду, в процессе добавления установить лимиты, назначить администратора и присвоить ему роль. Добавление команды должно пройти успешно.

  6. Выполнить вход в UI компонента от имени назначенного администратора команды. Вход должен пройти успешно, в UI компонента отображается название команды, права на которую есть у текущего пользователя.

  7. Добавить почтовый ящик отправителя, где указать common name клиентского сертификата. Добавление ящика должно пройти успешно. Секрет почтового ящика для отправки запроса будет сгенерирован автоматически.

  8. Проверить в UI хранилища секретов созданный секрет в формате «адрес_почтового ящика: зашифрованный_пароль_почтового ящика».

  9. Отправка письма без вложения:

    • Подготовить REST запрос на отправку письма по заданному формату без вложений с необходимыми заголовками, использовать секрет почтового ящика, сгенерированный в процессе его добавления. В качестве адреса получателя письма использовать доступный для проверки полученного письма. Использовать для отправки клиентский сертификат с указанным на добавленном в UI ящике common name.

    • Отправить REST запрос на отправку письма. Должен вернуться ответ с HTTP-кодом 200.

    • В UI компонента проверить, что отправленное письмо отображается без ошибок.

    • На ящике получателя проверить, что письмо поступило.

  10. Отправка письма с вложением:

  • Открыть настройки ранее добавленного почтового ящика, установить checkbox «Отправка с вложениями», указать S3 CEPH url с bucket в формате «http://host:port/bucketName».

  • Разместить любой файл в bucket S3 CEPH.

  • Подготовить REST-запрос на отправку письма по заданному формату с вложением с необходимыми заголовками, использовать секрет почтового ящика, сгенерированный в процессе его добавления. В качестве адреса получателя письма использовать доступный для проверки полученного письма. Использовать для отправки клиентский сертификат с указанным на ящике common name.

  • Отправить REST-запрос на отправку письма. Должен вернуться ответ с HTTP-кодом 200.

  • В UI компонента проверить, что отправленное письмо отображается без ошибок.

  • На ящике получателя проверить, что письмо с вложением поступило. Открыть вложение к письму, ошибок быть не должно.

  • Проверить в bucket S3 CEPH, что размещенный файл не существует.

  1. Отправка письма с применением шаблона:

  • Подготовить шаблон почтового письма и разместить его в почтовый ящик отправителя.

  • Подготовить REST-запрос на отправку письма по заданному формату с шаблоном, использовать секрет почтового ящика, сгенерированный в процессе его добавления. В качестве адреса получателя письма использовать доступный для проверки полученного письма. Использовать для отправки клиентский сертификат с указанным на ящике common name.

  • Отправить REST-запрос на отправку письма. Должен вернуться ответ с HTTP-кодом 200.

  • В UI компонента проверить, что отправленное письмо отображается без ошибок.

  • На ящике получателя проверить, что шаблонизированное письмо поступило.

  1. Обработка запроса на отправку из Apache Kafka:

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

  • Если сообщение-запрос содержит вложения, то разместить их в bucket S3 CEPH.

  • Отправить сообщение-запрос в topic Apache Kafka, который будет считан компонентом и обработан.

  • На ящике получателя проверить, что письмо поступило. Если сообщение-запрос содержал вложения, то проверить, что вложения приложены к письму, а также корректно открываются.

  • Проверить, что в ответный topic Apache Kafka поступило сообщение-ответ с результатом обработки запроса.

  • В UI компонента проверить, что отправленное письмо отображается без ошибок.

  • Если сообщение-запрос содержал вложения, то проверить, что они удалены из bucket S3 CEPH.

Чек-лист проверки механизмов безопасности#

Для проверки механизмов безопасности необходимо выполнить следующие инструкции:

  1. При открытии формы login на UI компонента через браузер должен быть запрошен сертификат клиента.

  2. В UI компонента можно произвести login только под доменной учетной записью ActiveDirectory, права на которую выданы в программном компоненте.

  3. Обработка запроса на отправку письма происходит только в случае добавленного в «белый список» DN клиентского сертификата.

  4. Если запрос на отправку содержит неверный ID почтового ящика, то вернется ошибка.

  5. Использование добавленного в UI компонента почтового ящика возможно только при наличии корректного пароля для него.

  6. Пароли почтовых ящиков в хранилище секретов зашифрованы.

  7. Логины учетных записей в СУБД компонента зашифрованы.

  8. Пароли почтовых ящиков в СУБД компонента отсутствуют.

  9. В секретах среды оркестрации существует секрет с ключом шифрования/дешифрования паролей с именем crypt-key-secret.

  10. На UI существует вкладка Аудит

  11. После добавления/изменения почтовых ящиков или команд на UI все изменения отображаться на вкладке Аудит

Чек-лист проверки работоспособности интеграций#

При интеграции сервиса с платформенными компонентами, работоспособность проверяется по следующим инструкциям:

  1. Pod mail-secman-adapter в статусе RUNNING и не перезапускается. При запуске сервис проверяет соединение с сервером хранения секретов.

  2. Pod mail-db в статусе RUNNING и не перезапускается. При запуске сервис проверяет соединение с сервером СУБД, а также запускает процедуру миграции.

  3. Для проверки подключения к LDAP необходимо выполнить login на UI компонента через браузер, процедура должна пройти успешно.

  4. Для проверки подключения к серверам Exchange необходимо отправить запрос на отправку письма. В UI компонента ошибок отправки быть не должно, в ящик получателя пришло направленное письмо.

  5. Для проверки подключения к S3 CEPH необходимо отправить запрос на отправку письма с вложением. В UI компонента ошибок отправки быть не должно, файл из bucket S3 CEPH должен быть удален, в ящик получателя пришло направленное письмо с вложением к нему.

  6. Pod mail-kafka-gateway в статусе RUNNING и не перезапускается. При запуске сервис проверяет соединение с сервером.

  7. Pod mail-fsgw в статусе RUNNING и не перезапускается. При запуске сервис проверяет соединение с сервером.

  8. Для проверки интеграции с LOGA все pod, содержащие sidecar fluentbit-kafka-sidecar в статусе RUNNING и не перезапускаются. В Kafka topic, указанном в конфигурации fluentbit-kafka-sidecar содержатся logs, считанные с прикладного контейнера pod.

  9. Pod mail-audit-adapter должен быть в статусе Running и в логах pod mail-audit-adapter не должно быть ошибок.

  10. Side-car OTT на pod egress должен быть в статусе Running.