Подготовка окружения SOWA#
Подготовка элементов развертывания#
Аппаратные требования#
Для развертывания СПО SOWA требуется следующая минимальная конфигурация аппаратного обеспечения:
Архитектура процессора: x86-64.
Количество ядер: 4.
ОЗУ: 2-24 ГБ.
Для установки компонента/продукта на контуре в промышленной эксплуатации рекомендуется следующая конфигурация аппаратного обеспечения:
Название модуля |
ПО среды функционирования |
Количество |
Список контейнеров |
CPU, ядро |
ОЗУ, Гбайт |
HDD, Гбайт |
Горизонтальное масштабирование |
|---|---|---|---|---|---|---|---|
sowa |
RHEL 8.7 |
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 необходимо указать:
Сконвертировать клиентский .pem сертификат в формат .cer.
Открыть получившийся файл (в нем находится вся цепочка сертификатов) и извлечь из цепочки рутовый сертификат и все промежуточные.
Полученные сертификаты конвертировать в .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-соединение, необходимо подготовить сертификаты следующим образом:
Сгенерировать закрытый ключ:
cd ~ mkdir sowa_nonproduction cd sowa_nonproduction openssl genrsa -out SOWA_NONPRODUCTION.key 2048Проверить консистентность ключа:
openssl rsa -in SOWA_NONPRODUCTION.key -checkСоздать пустой файл и поместить в него параметры сертификата:
touch req.cfgНаполнить файл 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Создать запрос на подпись открытого ключа:
openssl req -new -key \ SOWA_NONPRODUCTION.key -config req.cfg -out \ SOWA_NONPRODUCTION.csrПросмотреть содержимое запроса на подпись:
openssl req -in SOWA_NONPRODUCTION.csr -noout -textПодписать сертификат. Это можно сделать через УЦ или самостоятельно:
openssl x509 -req -days 365 -in \ SOWA_NONPRODUCTION.csr -signkey \ SOWA_NONPRODUCTION.key -out \ SOWA_NONPRODUCTION_cert.pemЕсли по какой-либо причине сертификат оказался в формате DER, необходимо сконвертировать его в формат PEM следующей командой:
openssl x509 -in \ SOWA_NONPRODUCTION_cert.cer -inform DER -out \ SOWA_NONPRODUCTION_cert.pem -outform PEMСодержимое получившегося сертификата можно посмотреть с помощью команды:
openssl x509 -in SOWA_NONPRODUCTION_cert.pem -text -nooutСерверный сертификат готов. Его необходимо указать в конфигурационном файле:
service:
service_<type>_proxy
- id: <name>
...
listen:
- port: <port>
ssl:
...
certificate: SOWA_NONPRODUCTION_cert.pem
certificate_key: SOWA_NONPRODUCTION.key
...