Инструкция по установке On-Premise версии SECURITM в локальной инфраструктуре.

Подготовка

Настройка сервера

В базовой комплектации SECURITM устанавливается на 1 Linux сервер.
Для подготовки сервера нужно: 
1. Установить на сервер дистрибутив Linux (Ubuntu, CentOS, Astra Linux и т.п.)
2. Рекомендуется выделить под SECURITM отдельный виртуальный сервер
3. Характеристики сервера:
  • 4-6 ядер ЦП 
  • 8-12 ГБ ОЗУ
  • 100GB SSD
4. Если разбивка на разделы Linux серверов является обязательной в соответствии с корпоративными стандартами, то нужно оставить для разделов /opt и /var минимум по 50 GB.
5. Создать локальную учетную запись с root правами, из под которой будет установлено приложение.
6. Авторизоваться, перейти в привилегированный режим и обновить систему
apt-get update
apt-get upgrade
7. Установить приложения Docker и Docker Compose
 sudo curl -sS https://get.docker.com/ | sh
sudo usermod -aG docker ubuntu

# Для Astra Linux: 
apt-get install docker.io
apt-get install docker-compose
7. Настроить прокси
Если для доступа в интернет используется прокси-сервер, то следует провести его настройку и на уровне Linux сервера и на уровне Docker.
Инструкция по настройке прокси для Docker: https://docs.docker.com/network/proxy/ .
Для прямого доступа SECURITM к локальной инфраструктуре в настройках прокси для Docker (~/.docker/config.json) следует указать исключения для работы через прокси с локальными узлами (параметр noProxy).

Настройка сети

Если для сервера, на котором устанавливается SECURITM, интернет по умолчанию заблокирован, то нужно разрешить доступ к следующим узлам:
  1. hub.securitm.ru (217.25.93.157) - для установки и обновлений приложения
  2. git.securitm.ru (217.25.93.157) - для установки и обновлений приложения
  3. service.securitm.ru (188.225.86.7) - для первичной установки и обновлений базы данных
  4. lic.securitm.ru (87.249.53.99) - для активации и проверки лицензии

Настройка доменной инфраструктуры

  1. Создайте на корпоративном DNS сервере A запись ведущую на сервер SECURITM.
    например securitm.mycorp.local
  2. Создайте на корпоративном удостоверяющем центре сертификат для сервера SECURITM. Файлы key и cer. Файл ключа нужно сделать без пароля.
  3. Создайте адрес электронной почты для интеграции SECURITM с корпоративным почтовым сервером. В паролях не должно быть кавычек.
  4. Создайте доменную учетную запись в корпоративном домене (доменах) для интеграции SECURITM с доменной инфраструктурой. Нужна учетная запись без прав администратора.
  5. Создайте в домене группу, в которой будут пользователи, которым разрешена доменная аутентификация в SECURITM. Вложенность групп работает. Это может быть уже существующая группа, например группа подразделения по информационной безопасности.
    Примечание: у пользователей, входящих в группу, должен быть указан уникальный email, т.к. в SECURITM пользователи привязываются к email.

Установка приложения

1. Скачайте и запустите установочный скрипт SECURITM
sudo bash -c "$(curl -sSL [URL])"
Или:
curl -SL [URL] -o securitm.sh
chmod +x securitm.sh
./securitm.sh

[URL] - адрес для скачивания скрипта установки, предоставляется после приобретения лицензии.

2. В соответствии с инструкциями скрипта потребуется:
  1. Установить Docker, если он не был установлен ранее
  2. Указать адрес прокси-сервера, если используется
  3. Ввести логин/пароль для доступа к GIT репозиторию (предоставляется после приобретения лицензии)
  4. Указать доменное имя сервера, по которому SECURITM будет доступен в локальной инфраструктуре
Все последующие настройки, кроме импорта сертификата, осуществляются из интерфейса приложения.

Полезные команды Docker (не нужны при эксплуатации системы, приведены для справки):
cd /opt/securitm/ # переход в каталог с контейнерами приложения
docker compose pull # обновление образов
docker compose up -d # установка образов
sudo docker logs -f securitm_app # просмотр событий в контейнере приложения
docker compose start/stop/restart securitm_app # перезапуск приложения
docker exec -it securitm_app sh # доступ в контейнер с приложением. Команды выполнять под su - www-data.
#docker compose down # Отключение/удаление контейнеров
#docker volume prune -a # Удаление хранилищ
docker stop $(docker ps -a -q) # остановка всех контейнеров
docker rm $(docker ps -a -q) # удаление всех контейнеров
#docker volume rm securitm_app-data securitm_app-src securitm_db-data securitm_nginx-data securitm_pg-data # удаление всех хранилищ
docker stats --no-stream # нагрузка на контейнеры

Установка сертификата

По умолчанию в процессе установки приложение создает самоподписанный сертификат соответствующий указанному при установке названию домена (securitm.mydomain.local) .
Если требуется установить сертификат с корпоративного удостоверяющего центра то нужно:
  1. Подготовить 2 файла с открытым/закрытым ключом и назвать их server.cer и server.key
    Примечание: частая ошибка при установке - использование файла server.crt вместо server.cer
  2. Скопировать созданные файлы в каталог с приложением в подкаталог certs (/opt/securitm/certs)
    Важно: файлы должны называться server.cer и server.key, без пароля
  3. Перезапустить контейнер с веб сервером
docker compose restart securitm_nginx

Совет: Если нужно создать самоподписанный сертификат это можно сделать командой:
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes -keyout securitm.key -out securitm.cer -subj "/CN=securitm.local" -addext subjectAltName="DNS:securitm.local,IP:192.168.1.1"

Первичная настройка приложения

  1. В браузере открыть приложение по доменному адресу сервера
  2. Действовать в соответствии с Мастером установки
    1. Указать электронную почту и пароль глобального администратора приложения
      Примечание: после установки приложения электронную почту глобального администратора можно поменять в глобальных настройках
    2. Указать название и URL приложения, соответствующий доменному имени сервера
    3. Настроить подключение к электронной почте
      Для серверов Exchange подключение настраивается по порту  587, для иных почтовых серверов по 25 или 2525.
    4. Указать название для общей команды (тенанта)
      Примечание: именно на эту команду будет активирована лицензия
    5. Активировать лицензию
    6. Обновить код и базу данных приложения, для этого:
      - указать логин/пароль для подключения к репозиторию и сохранить настройки
      - Проверить подключение и Обновить код приложения
      - Проверить подключение и Обновить базу данных
      Прим.: Обновление базы данных может занимать до 10 минут.
    7. Настроить интеграцию с Active Directory (не обязательно)
      - Поле Имя почтового домена нужно если учетная запись пользователя в домене отличается от его почтового адреса и поля userPrincipalName
      - В поле Команда для новых пользователей нужно указать название созданной команды (например, MyCorp)
      - Проверьте подключение и запустите Синхронизацию пользователей.
    8. Настроить импорт активов с Active Directory (не обязательно)
      Инструкция: https://service.securitm.ru/help/integrations#active-directory 
    9. Настроить интеграцию с Kaspersky (не обязательно)
    10. Настроить интеграцию с Zabbix (не обязательно)

Приложение готово к работе 🎉

Обновление и переустановка

Обновление кода и базы данных приложения происходит или автоматически или вручную, настраивается и запускается в Глобальных настройках приложения.
Периодически публикуются новые версии сборок контейнеров SECURITM, включающие обновленную среду окружения. 
О необходимости обновления сборок Docker контейнеров сообщает техническая поддержка.
Для обновления контейнеров SECURITM нужно подключиться по SSH к серверу, запустить свежий скрипт установки и следовать инструкциям.
sudo bash -c "$(curl -sSL [URL])"

Переустановка

В ряде ситуаций, когда приложение вышло из строя и пропал доступ к web консоли, может потребоваться переустановка приложения с сохранением базы данных, файлов и параметров. Сделать это можно следующим способом:
1. Подключитесь к серверу приложения по SSH
2. Скачайте и запустите свежий установочный скрипт SECURITM
curl -SL [URL] -o securitm.sh
chmod +x securitm.sh
3. Запустить скрипт установки в режиме переустановки приложения
./securitm.sh -m reinstall
Внимание: если вы вносили произвольные изменения в скрипты установки и конфигурационный файл docker-compose.yaml то их следует сохранить.
4. Скрипт переустановки проведет резервное копирование данных приложения, переустановит приложение и восстановит данные.