Настройка интеграций#

Secret Management (SecMan)#

Secret Management (SecMan) используется для управления доступом к конфиденциальным данным, таких как сертификаты, ключи, секреты, и их безопасного хранения и использования.

Интеграция c SecMan работает следующим образом:

  1. Загрузите необходимые секреты, например пароли, в систему SecMan в KV engine.

  2. Получите параметры для аутентификации в SecMan с использованием механизма AppRole (подробнее о нем написано ниже в разделе Предварительная настройка).

  3. Считайте секреты и сертификаты. Секреты не сохраняются на локальном диске узла.

Подробное описание интеграции приведено в документе Руководство по работе с SecMan.

Компонент «Единый коллектор телеметрии» (COTE) продукта Platform V Monitor#

Компонент COTE является внешней системой хранения событий, значимых для расследования инцидентов информационной безопасности.

Текущая реализация с компонентом COTE осуществляется с помощью подключения через REST API в соответствии с требованиями (смотрите документацию на компонент COTE).

Включение аудита#

  1. В конфигурационный файл KAFKA_DIR/config/server.properties добавьте строку:

    kafka.se.audit.enable=true
    

    где kafka.se.audit.enable — глобальное включение аудита;

  2. Для работы аудита через компонент COTE укажите провайдер аудита kafka.audit.provider.TsAuditProvider и задайте system.id в конфигурационном файле KAFKA_DIR/config/server.properties:

    system.id=Kafka SE
    kafka.se.audit.provider=kafka.audit.provider.TsAuditProvider
    kafka.se.audit.provider.tsaudit.model.url=MODEL_URL
    kafka.se.audit.provider.tsaudit.event.url=EVENT_URL
    

    где system.id — имя системы для идентификации в компоненте COTE.

  3. Для интеграции c UI в kafka-ui.properties укажите настройки для отправки событий через REST API в компонент COTE:

    • для подключения по HTTP:

      corax.ui.audit.enable=true
      corax.ui.audit.system.id=KafkaUI
      corax.ui.audit.model.url=http://{tsAuditHost}:{tsAuditPort}/v1/metamodel
      corax.ui.audit.event.url=http://{tsAuditHost}:{tsAuditPort}/v1/event
      
    • для подключения по HTTPs:

      corax.ui.audit.enable=true
      corax.ui.audit.system.id=KafkaUI
      corax.ui.audit.model.url=https://{tsAuditHost}:{tsAuditPort}/v1/metamodel
      corax.ui.audit.event.url=https://{tsAuditHost}:{tsAuditPort}/v1/event
      corax.ui.audit.ssl.keystore.location=/path/to/keystore.jks
      corax.ui.audit.ssl.keystore.password=password
      corax.ui.audit.ssl.truststore.location=/path/to/truststore.jks
      corax.ui.audit.ssl.truststore.password=password
      corax.ui.audit.ssl.endpoint.identification.algorithm=all
      
  4. Пример настройки включения logger в файле log4j.properties для записи в локальный audit-log файл:

    log4j.appender.auditFileAppender = ru.sbrf.kafka.log4j.RollingAndCompressFileAppender //включение режима записи rolling update
    log4j.appender.auditFileAppender.File = ${kafka.logs.dir}/kafka-audit.log //путь к лог-файлу
    log4j.appender.auditFileAppender.layout = org.apache.log4j.PatternLayout
    log4j.appender.auditFileAppender.layout.ConversionPattern = [%d] %p %m (%c)%n //формат даты и времени
    log4j.logger.kafka.audit.provider.LogAuditProvider = INFO, auditFileAppender //уровень логирования
    log4j.appender.auditFileAppender.MaxBackupIndex=10
    log4j.appender.auditFileAppender.MaxFileSize=100MB
    log4j.additivity.kafka.audit.provider.LogAuditProvider=false
    

    Внимание

    Для логирования ZooKeeper необходим отдельный файл настроек log4j.

Список всех полей настроек файла KAFKA_DIR/config/server.properties:

Название

Описание

Значения

kafka.se.audit.enable

Включение аудита

true

kafka.se.audit.provider

Список имен классов-обработчиков событий, разделенных запятыми

«className1,className2,className3,…»

system.id

Имя системы, которое будет указываться при возникновении события

«Kafka SE»

kafka.se.audit.provider.tsaudit.model.url

Параметр необходим для подключения TsAuditProvider, чтобы задать url для отправки метамоделей на сервер компонента COTE

http://localhost:8888/v1/metamodel

kafka.se.audit.provider.tsaudit.event.url

Параметр необходим, для подключения TsAuditProvider, чтобы задать url для отправки событий на сервер компонента COTE

http://localhost:8888/v1/event

kafka.se.audit.provider.tsaudit.ssl.truststore.location

Путь к хранилищу доверенных сертификатов

ssl/kafka.truststore.jks

kafka.se.audit.provider.tsaudit.ssl.truststore.password

Пароль к хранилища доверенных сертификатов

password

kafka.se.audit.provider.tsaudit.ssl.keystore.location

Путь к хранилищу ключей

ssl/client.keystore.jks

kafka.se.audit.provider.tsaudit.ssl.keystore.password

Пароль к хранилища ключей

password

kafka.se.audit.provider.tsaudit.ssl.endpoint.identification.algorithm

Алгоритм идентификации end-point для проверки имени хоста сервера с помощью сертификата сервера

all (или https)

При необходимости шифрования паролей к хранилищу доверенных сертификатов и хранилищу ключей добавьте поля (по аналогии с шифрованием паролей в конфигурации):

Название

Описание

Пример значения

kafka.se.audit.provider.tsaudit.security.encoding.class

Класс для расшифровки пароля

ru.sbrf.kafka.security.SimpleTextPasswordDecoder

kafka.se.audit.provider.tsaudit.security.encoding.key

Ключ шифрования

hello_world

kafka.se.audit.provider.tsaudit.security.encoding.salt

Соль-провайдер

ru.sbrf.kafka.security.FileSaltProvider

kafka.se.audit.provider.tsaudit.security.encoding.salt.location

Файл с солью

config/salt.txt

kafka.se.audit.provider.tsaudit.ssl.truststore.password.encrypted

Зашифрованный пароль

pass$2word

kafka.se.audit.provider.tsaudit.ssl.keystore.password.encrypted

Зашифрованный пароль

pass$2word

Для зашифровки пароля используйте утилиту crx-encoding.sh, которая находится в папке KAFKA_DIR/bin. Подробное описание приведено в документе «Руководство по безопасности», раздел «Шифрование паролей в конфигурациях».

Примечание

Если компонент COTE недоступен, то при включенном logger события аудита будут записаны в локальный audit-log файл на брокере.

Пример конфигурационного файла для включения аудита через компонент COTE:

#########################[ AUDIT ]#################################

kafka.se.audit.enable=true
system.id=Kafka SE

kafka.se.audit.provider=kafka.audit.provider.TsAuditProvider

kafka.se.audit.provider.tsaudit.model.url=http://localhost:8888/v1/metamodel
kafka.se.audit.provider.tsaudit.event.url=http://localhost:8888/v1/event

Внимание

Для отправки сообщений аудита одновременно в компонент COTE и в лог-файл, в качестве провайдера аудита в файле KAFKA_DIR/config/server.properties укажите kafka.se.audit.provider = kafka.audit.provider.TsAuditProvider,kafka.audit.provider.LogAuditProvider.

Подробное описание интеграции приведено в разделе Интеграция с компонентом «Единый коллектор телеметрии» (COTE) продукта Platform V Monitor.