Руководство оператора#
Термины и сокращения#
Термин/Аббревиатура |
Определение |
|---|---|
УЦ |
Удостоверяющий центр |
Jenkins |
Программная система для обеспечения процесса непрерывной интеграции программного обеспечения |
mTLS |
Mutual Transport Layer Security — криптографический протокол взаимной (двусторонней) аутентификацией клиента и брокера, который обеспечивает безопасность транспортного уровня (Transport Layer Security) |
TLS-сертификат |
Transport Layer Security — криптографический протокол защиты транспортного уровня, предназначенный для защиты обмена данными в сети |
CLI |
Command Line Interface — интерфейс командной строки |
Доступ к приложению#
Доступ к приложению осуществляется через CLI либо с помощью Jenkins.
Оператору необходимо самостоятельно определить методы защиты информации исходя из уровня ее конфиденциальности и рекомендаций информационной безопасности.
Использование приложения оператором#
Сценарии использования#
Предусловия
Наличие сертификатов TLS для администратора доступа. Перед началом действий поместить сертификаты в домашнюю директорию на сервере, где расположен продукт EVTD.
На сервере, где расположен EVTD, создать файл ssl_adm.properties. Наполнить рекомендуемыми значениями:
security.protocol = SSL;
ssl.keystore.location — полный путь до хранилища ключа.jks;
ssl.truststore.location — полный путь до хранилища ключа.jks;
ssl.keystore.password — пароль хранилища ключа;
ssl.truststore.password — пароль хранилища сертификата ЦС;
ssl.enabled.protocols=TLSv1.2;
ssl.key.password — пароль закрытого ключа;
ssl.endpoint.dentification.algorithm.
Создание новых потоков событий#
На сервере, где расположен EVTD, выполнить команду:
/opt/Apache/kafka/bin/kafka-topics.sh --bootstrap-server hostname -f:<порт> --create --command-config ~/ssl_adm.properties --topic <наименование потока> --partitions <количество партиций> --replication-factor <фактор репликации> --config retention.ms=<сколько хранить события> --config retention.bytes=<максимальный размер партиции> --config max.message.bytes=<максимальный размер сообщения>
где
topic - Наименование потока событий в соответствии с правилом наименования:
<индентификатор системы-поставщика>.<тип события>EVENT.V<версия формата события>
Например: AS1.ENTITYCHANGEDEVENT.V1
partitions - Количество партиций, рассчитывается исходя из предполагаемой нагрузки;
replication-factor - Фактор репликации, отвечает за отказоустойчивость потока, обычно указывается как количество брокеров Apache Kafka - 1;
config retention.ms - Время хранения событий в потоке в миллисекундах, по истечении данного времени события будут удалены;
config retention.bytes - Максимальный размер партиции в байтах, при его превышении самые старые события будут удалены;
config max.message.bytes - Максимальный размер события в потоке в байтах. При попытке публикации события, превышающего данное значение, будет выдана ошибка.
Назначение прав на публикацию событий#
На сервере, где расположен EVTD, выполнить команду:
/opt/Apache/kafka/bin/kafka-acls.sh --bootstrap-server hostname -f:9093 --add --allow-principal <User:полное наименование сертификата (DN) без пробелов при разделении категорий> --producer --topic <наименование потока> --command-config ~/ssl_adm.properties
Назначение прав на подписку на события#
На сервере, где расположен EVTD, выполнить команду:
/opt/Apache/kafka/bin/kafka-acls.sh --bootstrap-server \hostname -f:9093 --add --allow-principal <User:полное наименование сертификата (DN) без пробелов при разделении категорий> --consumer --topic <наименование потока> --group <наименование consumerGroup потребителя> --command-config ~/ssl_adm.properties
Часто встречающиеся проблемы и пути их устранения#
Тип ошибки |
Причина |
Возможное решение |
|---|---|---|
Ошибка аутентификации - SSL handshake failed |
1. Не корректно сформировано хранилище сертификатов |
1. Получить вывод команды keytool -v -list -keystore <имя файла кейстора>, проверить в выводе, что в keystore есть PrivateKeyEntry и это именно тот сертификат, для которого выдавались права, а также что данный private key entry подписан правильным Удостоверяющим центром (далее - УЦ) (issuer) |
Ошибка авторизации - Not authorized to access topics |
1. Используется некорректный Distinguished Name (далее - DN) сертификата |
1. Необходимо сверить DN сертификата с которым производится подключение, с тем который указывали при выдаче прав. Проверить отсутствие пробелов, русских букв |
Ошибка авторизации - Not authorized to access group |
Используется некорректная группа консьюмеров. |
Необходимо сверить наименование consumer group в настройках с той, для которой выдавались права |
Topic < |
Топик не существует |
Проверить наименование топика и корректность указанных брокеров Kafka |
Connection to node … terminated during authentication |
Некорректная настройка окружения |
1. Проверить настройки Firewall |
Group coordinator … is unavailable or invalid, will attempt rediscovery |
Не доступен координатор группы |
1. Проверить что брокер-координатор не остановился |
Параметры настройки#
Настройки продукта задаются администратором и указаны в руководстве по установке.
Правила эксплуатации#
Дополнительные правила эксплуатации отсутствуют.