Установка KOMRAD Enterprise SIEM на Astra Linux Special Edition
Перед установкой ознакомьтесь с требованиями к системе
Аппаратные требования
Для установки KOMRAD на Astra Linux Special Edition необходимо наличие:
- 
установочного диска, диска с обновлением или развернутого сетевого репозитория
 - 
на ОС Astra Linux Special Edition (версия не ниже 1.6) должно быть установлено последнее обновление системы безопасности
 - 
установка KOMRAD должна производиться с выключенной функцией создания замкнутой программной среды (ЗПС)
 - 
необходимо наличие идентификационной информации для запуска из-под суперпользователя
 - 
для установки недостающих пакетов можно использовать терминал или воспользоваться графическим менеджером пакетов, например
Synaptic 
Все последующие действия (команды) необходимо выполнять в терминале.
Установка и настройка PostgreSQL 9.6 и ClickHouse
Порядок выполняемых действий:
- 
Распаковать архив, перейти в папку с дистрибутивом:
sudo bash ./komrad_v4.3.58_astra_1.6_amd64.run #Для Astra Linux 1.6
sudo bash ./komrad_v4.3.58_astra_1.7_amd64.run #Для Astra Linux 1.7
sudo chmod -R 755 komrad
cd komrad - 
Установить и настроить PostgreSQL 9.6/PostgreSQL 11.10:
sudo apt install postgresql ca-certificates -y - 
Установить ClickHouse:
sudo dpkg -i clickhouse-common-static_v22.9.3.18_amd64_signed.deb clickhouse-server_v22.9.3.18_amd64_signed.deb clickhouse-client_v22.9.3.18_amd64_signed.debосторожноЕсли ваш процессор поддерживает
BMIилиavx512, то установите соответствующие пакеты для увеличения производительности ClickHouse.Для сервера:
clickhouse-server-avx512-bmi_v22.9.3.18_amd64_signed.debилиclickhouse-server-avx512_v22.9.3.18_amd64_signed.debДля клиента:
clickhouse-client-avx512-bmi_v22.9.3.18_amd64_signed.debилиclickhouse-client-avx512_v22.9.3.18_amd64_signed.debВ процессе установки понадобится указать пароль для пользователя
default. - 
Запустить ClickHouse:
sudo systemctl start clickhouse-server - 
Создать пароль для ClickHouse, указав вместо pass ваш пароль:
echo -n "pass" | sha256sum | tr -d '-'В строке вывода появится соответствующий вашему паролю хэш
SHA256(pass_SHA256). - 
Создать и открыть на редактирование файл:
sudo nano /etc/clickhouse-server/users.d/komrad.xmlЗаполнить содержимое файла следующим фрагментом:
<yandex>
<users>
<komrad>
<password remove='1' />
<password_sha256_hex>pass_SHA256</password_sha256_hex>
</komrad>
</users>
</yandex>Где вместо pass_SHA256 необходимо вставить сгенерированный хэш, соответствующий вашему паролю.
подсказкаДля сохранения файла используйте Ctrl+o ⇒ Enter ⇒ Ctrl+x.
 - 
Открыть файл:
sudo nano /etc/clickhouse-server/users.xmlДобавить пользователя
komradв группу пользователей, для чего необходимо привести фрагмент файла к виду:<!-- Users and ACL. -->
<users>
<komrad>
<password></password>
<access_management>1</access_management>
</komrad>
<!-- If user name was not specified, 'default' user is used. -->
<default>подсказкаДля сохранения файла используйте ctrl+o ⇒ Enter ⇒ Ctrl+x.
 - 
Перезапустить сервер ClickHouse:
sudo systemctl restart clickhouse-server.service 
Настроить горячее/холодное хранение событий в ClickHouse
При установке KOMRAD необходимо выбрать разделение хранилища на горячее/холодное. В блоке ClickHouse при установке выбрать:
- Указать TTL для таблицы событий? [Y/n]: y
 - Создать хранилище событий 'hot/cold'? [Y/n]: y
 
Параметр TTL можно задать тремя способами:
- 
Через
komrad-processor.yaml(параметрыttlиttl-hot-to-cold, задаются только в днях). Конфигурация:ttl:
# Время хранения событий и событий таблиц индексов по сработавшим фильтрам в БД. (в днях)
ttl-days: 190
# Использовать горячее/холодное хранилище событий"
# Должны быть настроены хранилища ('hot_volume' и 'cold_volume')
use-hot-cold-storage: false
# Время хранения событий в горячем хранилище перед переносом в холодное хранилище (в днях)
ttl-hot-to-cold-days: 190
tls:
disable: true
ServerName: ""
TrustedCA: /var/lib/echelon/komrad/certs/ca.pem
Cert: /var/lib/echelon/komrad/certs/client.pem
CertKey: /var/lib/echelon/komrad/certs/client-key.pem
system-pool: false
min-version: "1.3"
client-auth: require-and-verify-client-certСохранить файл и выйти (
Ctrl+O,Ctrl+X).После изменений необходимо перезапустить
komrad-processor:systemctl restart komrad-processorРаботает только для изменения в большую сторону.
 - 
Через утилиту
komrad-cli:komrad-cli db clickhouse events-volumes-ttl --ttl 190 --ttlCold 30 --user komrad --pass passРаботает для изменений в большую и меньшую стороны. После выполнения команды необходимо вручную обновить параметры в
komrad-processor.yaml(п.1)Команды по работе с TTL ClickHouse:
- events-ttl - изменения TTL у таблицы событий 
events - events-index-ttl - изменение TTL у индексных таблиц
 - events-volumes-ttl - изменение TTL у таблицы событий 
eventsи указание времени переноса событий из горячего в холодное хранилище 
Флаги к командам по смене TTL:
- --tls bool - использовать TLS
 - --ca-cert string - путь к сертификату CA
 - --client-cert string - путь к сертификату
 - --client-key-cert string - путь к ключу сертификата
 
 - events-ttl - изменения TTL у таблицы событий 
 - 
Через
ClickHouse:Войти в
ClickHouseкомандой:clickhouse-client --user=komrad --password=passВвести запрос с необходимыми значениями интервалов
ALTER TABLE komrad_events.events MODIFY TTL FROM_UNIXTIME(key_time) TO VOLUME 'hot_volume', FROM_UNIXTIME(key_time) + INTERVAL 10 minute TO VOLUME 'cold_volume', FROM_UNIXTIME(key_time) + INTERVAL 10 day 
Задание прав пользователя на создание баз данных и создание базы данных
Порядок выполняемых действий:
- 
Открыть аккаунт стандартного пользователя:
sudo su - postgres - 
Наделить пользователя правами на создание новых баз данных, где вместо pass установить пароль для пользователя
postgres:psql -c "ALTER USER postgres WITH CREATEDB LOGIN PASSWORD 'pass';" - 
Установить расширение:
psql -c "CREATE EXTENSION pg_trgm;" - 
Создать базы данных:
createdb -O postgres komrad-preferences
createdb -O postgres pauth-preferences
createdb -O postgres scanner
exit - 
Запустить клиент ClickHouse, используя данные пользователя
komrad:clickhouse-client --user=komrad --password=pass - 
Создать базу данных:
CREATE DATABASE komrad_events
exit 
Установка модуля сканирования сети Nmap
Установить Nmap:
sudo dpkg -i nmap_v7.92_amd64_signed.deb
Установка KOMRAD
Выполнить установку пакетов KOMRAD:
- Astra Linux 1.6
 - Astra Linux 1.7
 
sudo dpkg -i komrad-cli_v4.3.58_astra_1.6_amd64.deb komrad-bus_v4.3.58_astra_1.6_amd64.deb pauth-server_v4.3.58_astra_1.6_amd64.deb komrad-s3_v4.3.58_astra_1.6_amd64.deb komrad-s3-admin_v4.3.58_astra_1.6_amd64.deb komrad-server_v4.3.58_astra_1.6_amd64.deb komrad-processor_v4.3.58_astra_1.6_amd64.deb komrad-scanner_v4.3.58_astra_1.6_amd64.deb komrad-reactor_v4.3.58_astra_1.6_amd64.deb komrad-correlation-dispatcher_v4.3.58_astra_1.6_amd64.deb komrad-incident-manager_v4.3.58_astra_1.6_amd64.deb komrad-syslog-collector_v4.3.58_astra_1.6_amd64.deb komrad-file-collector_v4.3.58_astra_1.6_amd64.deb komrad-snmp-collector_v4.3.58_astra_1.6_amd64.deb komrad-sql-collector_v4.3.58_astra_1.6_amd64.deb komrad-xflow-collector_v4.3.58_astra_1.6_amd64.deb komrad-http-collector_v4.3.58_astra_1.6_amd64.deb komrad-backup_v4.3.58_astra_1.6_amd64.deb komrad-waf-proxy_v4.3.58_astra_1.6_amd64.deb
sudo dpkg -i komrad-cli_v4.3.58_astra_1.7_amd64.deb komrad-bus_v4.3.58_astra_1.7_amd64.deb pauth-server_v4.3.58_astra_1.7_amd64.deb komrad-s3_v4.3.58_astra_1.7_amd64.deb komrad-s3-admin_v4.3.58_astra_1.7_amd64.deb komrad-server_v4.3.58_astra_1.7_amd64.deb komrad-processor_v4.3.58_astra_1.7_amd64.deb komrad-scanner_v4.3.58_astra_1.7_amd64.deb komrad-reactor_v4.3.58_astra_1.7_amd64.deb komrad-correlation-dispatcher_v4.3.58_astra_1.7_amd64.deb  komrad-incident-manager_v4.3.58_astra_1.7_amd64.deb komrad-syslog-collector_v4.3.58_astra_1.7_amd64.deb komrad-file-collector_v4.3.58_astra_1.7_amd64.deb komrad-snmp-collector_v4.3.58_astra_1.7_amd64.deb komrad-sql-collector_v4.3.58_astra_1.7_amd64.deb komrad-xflow-collector_v4.3.58_astra_1.7_amd64.deb komrad-http-collector_v4.3.58_astra_1.7_amd64.deb komrad-backup_v4.3.58_astra_1.7_amd64.deb komrad-waf-proxy_v4.3.58_astra_1.7_amd64.deb
Добавить запуск следующих сервисов:
sudo systemctl enable komrad-bus.service pauth-server.service komrad-s3.service komrad-server komrad-processor.service komrad-scanner.service komrad-reactor.service komrad-correlation-dispatcher.service komrad-incident-manager.service komrad-syslog-collector.service komrad-file-collector.service komrad-snmp-collector.service komrad-sql-collector.service komrad-xflow-collector.service komrad-http-collector.service
Создание ролей
Создание ролей администратора и пользователя.
Порядок действий (каждая отдельная команда пишется в одну строчку):
Создать роль администратора:
sudo pauthctl role add admin --migrate --conn "postgresql://postgres:pass@localhost:5432/pauth-preferences"
Об успешном добавлении роли admin в строке сервиса будет строка:
INFO roles added {"role_names": ["admin"], "status": "success"}
Создать роль пользователя:
sudo pauthctl role add user --conn "postgresql://postgres:pass@localhost:5432/pauth-preferences"
Об успешном добавлении роли user в строке сервиса будет строка:
INFO roles added {"role_names": ["user"], "status": "success"}
Создать учетную запись администратора:
sudo pauthctl user add --email name@domain.com --login admin --roles admin --password admin --conn "postgresql://postgres:pass@localhost:5432/pauth-preferences"
Где вместо:
- 
postgres:pass – указать пароль пользователя
postgres(PostgreSQL) - 
e-mail
name@domain.com– указать e-mail администратора - 
login admin – указать логин администратора
 - 
password admin – указать пароль администратора
 
Создание сертификатов
Дальнейшие действия желательно выполнять на отдельной ЭВМ, где будут храниться корневые сертификаты, необходимые для корректной работы компонентов KOMRAD.
Действия:
создать на жестком диске папку tls/:
sudo mkdir /home/tls/
Перейти в папку tls/ и сгенерировать корневой сертификат:
cd /home/tls/
sudo komrad-cli certificates create ca
В папке /tls сгенерируются два файла: ca.pem и ca-key.pem.
Сгенерировать серверный сертификат (команда в одну строчку):
sudo komrad-cli certificates create server --organization “Echelon” localhost 127.0.0.1 $(hostname -I) $(hostname)
Где вместо Echelon указать название своей организации.
В папке tls/ сгенерируются два файла: server.pem и server-key.pem.
Сгенерировать клиентский сертификат:
sudo komrad-cli certificates create client
В папке tls/ сгенерируются два файла: client.pem и client-key.pem.
Создать сертификат для браузера:
sudo komrad-cli certificates create p12 --force /home/tls/client-browser.p12
При генерации сертификата для браузера, утилита попросит задать пароль. Этот пароль потребуется при добавлении сертификата в браузер, поэтому необходимо его запомнить.
В папке /tls сгенерируется файл client-browser.p12.
Далее нужно скопировать сертификаты:
sudo cp /home/tls/* /var/lib/echelon/komrad/certs/
sudo cp /home/tls/ca.pem /var/lib/echelon/komrad/certs/CAs/
После необходимо провести изменение владельца файлов на komrad:komrad и предоставить права сертификатам.
Действия:
sudo chown -R komrad:komrad /var/lib/echelon/komrad/certs
sudo chmod -R 755 /var/lib/echelon/komrad/certs
sudo chmod 0640 /var/lib/echelon/komrad/certs/server-key.pem
sudo chown root:komrad /var/lib/echelon/komrad/certs/server-key.pem
sudo usermod -a -G komrad postgres
sudo chmod 755 client-browser.p12
Связь с базой
Добавьте связь с базой:
sudo nano /etc/echelon/.pgpass
Добавьте содержимое
127.0.0.1:5432:komrad-preferences:postgres:pass
localhost:5432:komrad-preferences:postgres:pass
127.0.0.1:5432:pauth-preferences:postgres:pass
localhost:5432:pauth-preferences:postgres:pass
127.0.0.1:5432:scanner:postgres:pass
localhost:5432:scanner:postgres:pass
Откройте postgresql.conf:
sudo nano /etc/postgresql/9.6/main/postgresql.conf
Для Astra Linux 1.7 введите:
sudo nano /etc/postgresql/11/main/postgresql.conf
Раскомментировать и добавить пути до сертификатов:
ssl = on
ssl_ca_file = '/var/lib/echelon/komrad/certs/ca.pem'
ssl_key_file = '/var/lib/echelon/komrad/certs/server-key.pem'
ssl_cert_file = '/var/lib/echelon/komrad/certs/server.pem'
Для сохранения файла используйте ctrl+o ⇒ Enter ⇒ Ctrl+x.
Добавьте возможность подключения с удалённого компьютера к интерфейсу KOMRAD Enterprise SIEM
Для этого укажите в файле komrad-server.yaml
sudo nano /etc/echelon/komrad/komrad-server.yaml
При возникновении ошибок с CORS возможный выход - небезопасная настройка `allowedorigins: ["*"]`
    allowedorigins: ["*"]
    allowedorigins:
    - https://localhost
    - https://localhost:443
    - https://localhost:9050
    - http://localhost:8080
    - https://localhost:3400
    - https://localhost:443
    - https://[ip_komrad]:443
    - http:// [ip_komrad]:8080
    - https:// [ip_komrad]:3400
    - https:// [ip_komrad]
    AllowedHosts:
    - localhost
    - localhost:443
    - localhost
    - localhost:3400
    - localhost:443
    - localhost:8080
    - [ip_komrad]:443
    - [ip_komrad]:8080
    - [ip_komrad]:3400
    - [ip_komrad]:8080
    - [ip_komrad]
Перезапуск машины
Выполните:
sudo reboot
Установка корневого сертификата в браузере
Порядок выполняемых действий:
- 
Скопировать сертификат
ca.pemиз папки и перенесите на целевую машину командойsudo cp /var/lib/echelon/komrad/certs/ca.pem ./ - 
Импортировать ca.pem в «Доверенные корневые центры сертификации» вашего браузера
 - 
Перезапустить браузер
 
Вы можете выполнить вход без импорта сертификатов, но это будет менее безопасно
Установка завершена
KOMRAD установлен и доступен по адресу https://localhost
Проверьте работоспособность системы
О том, как активировать лицензию, прочесть можно здесь
Информация об изменении паролей для ClickHouse и PostgreSQL