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

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

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

  1. Подготовить TLS сертификат клиента для отправки запроса на отправку письма. Для IBM MQ на ingress proxy gateway должен быть прописан fingerprint sha256 сертификата.

  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. Обработка запроса на отправку из IBM MQ:

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

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

  • Отправить сообщение-запрос в очередь IBM MQ.

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

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

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

  • Проверить, что в ответную IBM MQ очередь поступило сообщение-ответ с результатом обработки запроса.

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

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

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

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

  3. Обработка запроса на отправку письма происходит только в случае добавленного fingerprint sha256 клиентского сертификата.

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

  5. Обработка запроса на отправку письма через IBM MQ разрешена только для ящиков из "белого списка", добавленных в конфигурацию конкретного адаптера IBM MQ.

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

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

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

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

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

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

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

  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-go-mq-gateway в статусе RUNNING и не перезапускается. При запуске сервис проверяет соединение с сервером.