Подготовка окружения SOWA#

Подготовка элементов развертывания#

Аппаратные требования#

Для развертывания СПО SOWA требуется следующая минимальная конфигурация аппаратного обеспечения:

  • Архитектура процессора: x86-64.

  • Количество ядер: 4.

  • ОЗУ: 2-24 ГБ.

Для установки компонента/продукта на контуре в промышленной эксплуатации рекомендуется следующая конфигурация аппаратного обеспечения:

Название модуля

ПО среды функционирования

Количество

Список контейнеров

CPU, ядро

ОЗУ, Гбайт

HDD, Гбайт

Горизонтальное масштабирование

sowa

RHEL 8.7
SBEL 8.7
SBEL 9.6

2

—

8

16

128

Да

Параметры точек монтирования для СПО SOWA приведены в таблице:

Точка монтирования

Значение по умолчанию

Опции подключения

/usr/

6 ГБ

-

/usr/local/sowa

2 ГБ

Владелец 755, root, root, аналогично всем другим системным директориям

/opt

2 ГБ

Владелец 755, root, root, аналогично всем другим системным директориям

/sowa

10 ГБ

Владелец 770, sowacfg:sowacfg

/sowalogs

50 ГБ

Владелец 775, sowacfg:sowacfg

/sowarun

10 ГБ

Владелец 770, sowacfg:sowacfg

/tmp

4 ГБ

-

/var

12 ГБ

Swap не менее 4 ГБ

Состав дистрибутива#

Элемент

Описание

owned-distrib/bin/{osName}/*

Инсталляционные скрипты (описание приведено в разделе Процесс развертывания дистрибутива).

owned-distrib/conf/*

Скрипты настройки ротации логов.

owned-distrib/im/{osName}/im-sowa-*.rpm

Install manager sowa (описание приведено в разделе SOWA Install manager (im-sowa)).

owned-distrib/monitoring/sowa_zbt_template.yml

Базовый шаблон настройки zabbix агента.

owned-distrib/rpm/{osName}/*

Rpm библиотеки SOWA.

owned-distrib/systemd/*

Конфигурационные файлы SOWA.

party-distrib/bin/{osName}/*

Инсталляционные скрипты party зависимостей SOWA.

party-distrib/coreLibs/*

Сторонние библиотеки, необходимые для работы java модулей SOWA.

party-distrib/libs/clojure*

Сторонняя библиотека для обеспечения вызова java модулей в nginx.

party-distrib/rpm/*

Сторонние библиотеки, необходимые для работы nginx модулей SOWA.

Настройка окружения#

Настройки окружения для ОС SberLinux, RHEL и РЕД ОС аналогичны.

Важно

По умолчанию настройка local_port_range предписывает использовать диапазон 11000-65535 для исходящих соединений.
local_port_range - системный параметр, устанавливается при инсталляции SOWA.

Для обработки сообщений Platform V SOWA имеет возможность интеграции с внешними системами (приложение-клиент, приложение-сервер) по протоколам MQ, Kafka, HTTP(s), WebSocket. Версии брокеров MQ и Kafka не имеют значения.

Для осуществления функции логирования событий интеграции в системы управления событиями безопасности (SIEM) и сервисы логирования используется системный сервис syslog, а также протоколы MQ, Kafka и HTTP. Наличие каких-либо компонентов для поддержки данных протоколов кроме указанных в системных требованиях отсутствует. Интеграция с SIEM осуществляется с помощью системного сервиса rsyslog. Использование данной функциональности опционально.

В Platform V SOWA возможна интеграция с любыми АВПО (например, Kaspersky SE) и DLP с поддержкой протокола ICAP. Процесс настройки взаимодействия с данными системами подробно описан в разделе «Настройка антивируса в SOWA» в Руководстве администратора.

В Platform V SOWA возможна работа с любыми системами управления секретами, осуществляющими интеграцию по API, подобному HashiCorp Vault.

Для мониторинга событий возможна интеграция с сервисом мониторинга Zabbix. Подробное описание интеграции с Zabbix приведено в разделе Интеграция с Zabbix Руководства администратора.

Выпуск и подготовка сертификатов#

Для возможности использования TLS/SSL-соединения необходимо создать или подготовить сертификаты.

TLS и его предшественник SSL — это криптографические протоколы, которые обеспечивают защищенную передачу данных между узлами в интернете. TLS и SSL используют асимметричное шифрование для аутентификации, симметричное шифрование для конфиденциальности и коды аутентичности сообщений для сохранения их целостности.

Platform V SOWA поддерживает следующие TLS/SSL-соединения:

  • Клиент — SOWA;

  • SOWA — backend;

  • SOWA — kafka;

  • SOWA — MQ.

Для установления двустороннего TLS/SSL соединения с клиентом потребуется 2 сертификата:

  • клиентский сертификат;

  • серверный сертификат.

Процесс получения клиентского сертификата#

Клиентский сертификат можно получить путем обращения к администраторам СПО, которые будут взаимодействовать с SOWA. Клиентский сертификат должен содержать в себе всю цепочку сертификатов. Проверка клиентского сертификата, уровень вложенности и указание имени клиентского сертификата объявляются в файле конфигурирования профиля.

В поле client_certificate необходимо указать:

  1. Сконвертировать клиентский .pem сертификат в формат .cer.

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

  3. Полученные сертификаты конвертировать в .pem и объединить их в один файл, используя команду:

    cat ***.pem ***.pem csbapigwift.pem > client_certificate.pem
    

    Значением параметра verify_depth будет являться уровень вложенности полученного сертификата.

    service:
      service_<type>_proxy
        - id: <name>
          ...
          listen:
            - port: <port>
              ssl:
                ...
                verify_client: 'on'
                verify_depth: 3
                client_certificate: client_certificate.pem
          ...
    
    

Процесс создания серверного сертификата#

Важно!

Все сертификаты должны быть типа PEM и не содержать пароли для их открытия.

Ниже приведены примеры команд и настроек для создания сертификатов. При создании сертификатов необходимо использовать актуальные для окружения данные.

Для того чтобы использовать TLS/SSL-соединение, необходимо подготовить сертификаты следующим образом:

  1. Сгенерировать закрытый ключ:

    cd ~
    mkdir sowa_nonproduction
    cd sowa_nonproduction
    openssl genrsa -out SOWA_NONPRODUCTION.key 2048 
    
  2. Проверить консистентность ключа:

    openssl rsa -in SOWA_NONPRODUCTION.key -check
    
  3. Создать пустой файл и поместить в него параметры сертификата:

    touch req.cfg
    
  4. Наполнить файл req.cfg:

    distinguished_name = req_distinguished_name
    
    [req_distinguished_name]
    
    O = CompanyName
    OU = 00CA
    CN = SOWA_NONPRODUCTION
    
    [v3_req]
    
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    extendedKeyUsage = serverAuth, clientAuth
    subjectAltName = @alt_names
    
    [alt_names]
    
    DNS.1 = *.sigma.example.ru
    DNS.2 = *.ca.example.ru
    DNS.3 = *.vm.test.cloud.example.ru
    DNS.4 = *.vm.test.cloud.example.ru
    DNS.5 = SOWA_NONPRODUCTION
    DNS.6 = *.testonline.example.ru
    
  5. Создать запрос на подпись открытого ключа:

    openssl req -new -key \
    SOWA_NONPRODUCTION.key -config req.cfg -out \
    SOWA_NONPRODUCTION.csr
    
  6. Просмотреть содержимое запроса на подпись:

    openssl req -in SOWA_NONPRODUCTION.csr -noout -text
    
  7. Подписать сертификат. Это можно сделать через УЦ или самостоятельно:

    openssl x509 -req -days 365 -in \
    SOWA_NONPRODUCTION.csr -signkey \
    SOWA_NONPRODUCTION.key -out \
    SOWA_NONPRODUCTION_cert.pem
    
  8. Если по какой-либо причине сертификат оказался в формате DER, необходимо сконвертировать его в формат PEM следующей командой:

    openssl x509 -in \
    SOWA_NONPRODUCTION_cert.cer -inform DER -out \
    SOWA_NONPRODUCTION_cert.pem -outform PEM
    
  9. Содержимое получившегося сертификата можно посмотреть с помощью команды:

    openssl x509 -in SOWA_NONPRODUCTION_cert.pem -text -noout
    
  10. Серверный сертификат готов. Его необходимо указать в конфигурационном файле:

service:
  service_<type>_proxy
   - id: <name>
   ...
   listen:
    - port: <port>
    ssl:
     ...
     certificate: SOWA_NONPRODUCTION_cert.pem
     certificate_key: SOWA_NONPRODUCTION.key
   ...