Проверка работоспособности#
Предварительные этапы подготовки#
Для проверки работоспособности компонента необходимо:
Подготовить TLS сертификат клиента для отправки запроса на отправку письма.
Получить почтовый ящик для использования в системе в качестве ящика отправителя.
Получить доступ к почтовому ящику, который будет использоваться в качестве ящика получателя для проверки полученного получателем письма.
Создать bucket в S3 CEPH для проверки отправки письма с вложением.
Чек-лист проверки работоспособности#
Для проверки работоспособности компонента необходимо:
Все pods в среде оркестрации должны быть в статусе RUNNING и не должны перезапускаться.
В логах pod mail-db успешно прошла миграция БД.
Выполнить вход в систему на UI компонента через браузер:
Не должно быть ошибки TLS сертификата.
Если ошибка существует, то необходимо добавить корневой и промежуточный сертификаты в локальную систему, с которой осуществляется вход.
Если ошибка сохраняется, то, вероятнее всего, включены не все DNS адреса в Subject alt names (SAN) серверного сертификата.
Выполнить вход в UI компонента от любого пользователя. Этому пользователю будут присвоены права SUPERADMIN. Вход в UI компонента должен пройти успешно.
Добавить через UI компонента команду, в процессе добавления установить лимиты, назначить администратора и присвоить ему роль. Добавление команды должно пройти успешно.
Выполнить вход в UI компонента от имени назначенного администратора команды. Вход должен пройти успешно, в UI компонента отображается название команды, права на которую есть у текущего пользователя.
Добавить почтовый ящик отправителя, где указать common name клиентского сертификата. Добавление ящика должно пройти успешно. Секрет почтового ящика для отправки запроса будет сгенерирован автоматически.
Проверить в UI хранилища секретов созданный секрет в формате «адрес_почтового ящика: зашифрованный_пароль_почтового ящика».
Отправка письма без вложения:
Подготовить REST запрос на отправку письма по заданному формату без вложений с необходимыми заголовками, использовать секрет почтового ящика, сгенерированный в процессе его добавления. В качестве адреса получателя письма использовать доступный для проверки полученного письма. Использовать для отправки клиентский сертификат с указанным на добавленном в UI ящике common name.
Отправить REST запрос на отправку письма. Должен вернуться ответ с HTTP-кодом 200.
В UI компонента проверить, что отправленное письмо отображается без ошибок.
На ящике получателя проверить, что письмо поступило.
Отправка письма с вложением:
Открыть настройки ранее добавленного почтового ящика, установить checkbox «Отправка с вложениями», указать S3 CEPH url с bucket в формате «http://host:port/bucketName».
Разместить любой файл в bucket S3 CEPH.
Подготовить REST-запрос на отправку письма по заданному формату с вложением с необходимыми заголовками, использовать секрет почтового ящика, сгенерированный в процессе его добавления. В качестве адреса получателя письма использовать доступный для проверки полученного письма. Использовать для отправки клиентский сертификат с указанным на ящике common name.
Отправить REST-запрос на отправку письма. Должен вернуться ответ с HTTP-кодом 200.
В UI компонента проверить, что отправленное письмо отображается без ошибок.
На ящике получателя проверить, что письмо с вложением поступило. Открыть вложение к письму, ошибок быть не должно.
Проверить в bucket S3 CEPH, что размещенный файл не существует.
Отправка письма с применением шаблона:
Подготовить шаблон почтового письма и разместить его в почтовый ящик отправителя.
Подготовить REST-запрос на отправку письма по заданному формату с шаблоном, использовать секрет почтового ящика, сгенерированный в процессе его добавления. В качестве адреса получателя письма использовать доступный для проверки полученного письма. Использовать для отправки клиентский сертификат с указанным на ящике common name.
Отправить REST-запрос на отправку письма. Должен вернуться ответ с HTTP-кодом 200.
В UI компонента проверить, что отправленное письмо отображается без ошибок.
На ящике получателя проверить, что шаблонизированное письмо поступило.
Обработка запроса на отправку из Apache Kafka:
Подготовить сообщение-запрос на отправку письма по заданному формату с необходимыми заголовками, использовать секрет почтового ящика, сгенерированный в процессе его добавления. В качестве адреса получателя письма использовать доступный для проверки полученного письма.
Если сообщение-запрос содержит вложения, то разместить их в bucket S3 CEPH.
Отправить сообщение-запрос в topic Apache Kafka, который будет считан компонентом и обработан.
На ящике получателя проверить, что письмо поступило. Если сообщение-запрос содержал вложения, то проверить, что вложения приложены к письму, а также корректно открываются.
Проверить, что в ответный topic Apache Kafka поступило сообщение-ответ с результатом обработки запроса.
В UI компонента проверить, что отправленное письмо отображается без ошибок.
Если сообщение-запрос содержал вложения, то проверить, что они удалены из bucket S3 CEPH.
Чек-лист проверки механизмов безопасности#
Для проверки механизмов безопасности необходимо выполнить следующие инструкции:
При открытии формы login на UI компонента через браузер должен быть запрошен сертификат клиента.
В UI компонента можно произвести login только под доменной учетной записью ActiveDirectory, права на которую выданы в программном компоненте.
Обработка запроса на отправку письма происходит только в случае добавленного в «белый список» DN клиентского сертификата.
Если запрос на отправку содержит неверный ID почтового ящика, то вернется ошибка.
Использование добавленного в UI компонента почтового ящика возможно только при наличии корректного пароля для него.
Пароли почтовых ящиков в хранилище секретов зашифрованы.
Логины учетных записей в СУБД компонента зашифрованы.
Пароли почтовых ящиков в СУБД компонента отсутствуют.
В секретах среды оркестрации существует секрет с ключом шифрования/дешифрования паролей с именем crypt-key-secret.
На UI существует вкладка Аудит
После добавления/изменения почтовых ящиков или команд на UI все изменения отображаться на вкладке Аудит
Чек-лист проверки работоспособности интеграций#
При интеграции сервиса с платформенными компонентами, работоспособность проверяется по следующим инструкциям:
Pod mail-secman-adapter в статусе RUNNING и не перезапускается. При запуске сервис проверяет соединение с сервером хранения секретов.
Pod mail-db в статусе RUNNING и не перезапускается. При запуске сервис проверяет соединение с сервером СУБД, а также запускает процедуру миграции.
Для проверки подключения к LDAP необходимо выполнить login на UI компонента через браузер, процедура должна пройти успешно.
Для проверки подключения к серверам Exchange необходимо отправить запрос на отправку письма. В UI компонента ошибок отправки быть не должно, в ящик получателя пришло направленное письмо.
Для проверки подключения к S3 CEPH необходимо отправить запрос на отправку письма с вложением. В UI компонента ошибок отправки быть не должно, файл из bucket S3 CEPH должен быть удален, в ящик получателя пришло направленное письмо с вложением к нему.
Pod mail-kafka-gateway в статусе RUNNING и не перезапускается. При запуске сервис проверяет соединение с сервером.
Pod mail-fsgw в статусе RUNNING и не перезапускается. При запуске сервис проверяет соединение с сервером.
Для проверки интеграции с LOGA все pod, содержащие sidecar fluentbit-kafka-sidecar в статусе RUNNING и не перезапускаются. В Kafka topic, указанном в конфигурации fluentbit-kafka-sidecar содержатся logs, считанные с прикладного контейнера pod.
Pod mail-audit-adapter должен быть в статусе Running и в логах pod mail-audit-adapter не должно быть ошибок.
Side-car OTT на pod egress должен быть в статусе Running.