Перейти к основному содержимому
Версия: 4.5.X

Установка KOMRAD Enterprise SIEM на Astra Linux Special Edition

Перед установкой ознакомьтесь с требованиями к системе

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

Для установки KOMRAD на Astra Linux Special Edition необходимо наличие:

  • установочного диска, диска с обновлением или развернутого сетевого репозитория

  • на ОС Astra Linux Special Edition (версия не ниже 1.6) должно быть установлено последнее обновление системы безопасности

  • установка KOMRAD должна производиться с выключенной функцией создания замкнутой программной среды (ЗПС)

  • необходимо наличие идентификационной информации для запуска из-под суперпользователя

  • для установки недостающих пакетов можно использовать терминал или воспользоваться графическим менеджером пакетов, например Synaptic

Все последующие действия (команды) необходимо выполнять в терминале.

Установка и настройка PostgreSQL 9.6 и ClickHouse

Порядок выполняемых действий:

  1. Распаковать архив, перейти в папку с дистрибутивом:

    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
  2. Установить и настроить PostgreSQL 9.6/PostgreSQL 11.10:

    sudo apt install postgresql ca-certificates -y
  3. Установить 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.

  4. Запустить ClickHouse:

    sudo systemctl start  clickhouse-server
  5. Создать пароль для ClickHouse, указав вместо pass ваш пароль:

    echo -n "pass" | sha256sum | tr -d '-'

    В строке вывода появится соответствующий вашему паролю хэш SHA256 (pass_SHA256).

  6. Создать и открыть на редактирование файл:

    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.

  7. Открыть файл:

    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.

  8. Перезапустить сервер ClickHouse:

    sudo systemctl restart clickhouse-server.service

Настроить горячее/холодное хранение событий в ClickHouse

При установке KOMRAD необходимо выбрать разделение хранилища на горячее/холодное. В блоке ClickHouse при установке выбрать:

  • Указать TTL для таблицы событий? [Y/n]: y
  • Создать хранилище событий 'hot/cold'? [Y/n]: y

Параметр TTL можно задать тремя способами:

  1. Через 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

    Работает только для изменения в большую сторону.

  2. Через утилиту 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 - путь к ключу сертификата
  3. Через 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

Задание прав пользователя на создание баз данных и создание базы данных

Порядок выполняемых действий:

  1. Открыть аккаунт стандартного пользователя:

    sudo su - postgres
  2. Наделить пользователя правами на создание новых баз данных, где вместо pass установить пароль для пользователя postgres:

    psql -c "ALTER USER postgres WITH CREATEDB LOGIN PASSWORD 'pass';"
  3. Установить расширение:

    psql -c "CREATE EXTENSION pg_trgm;"
  4. Создать базы данных:

    createdb -O postgres komrad-preferences 
    createdb -O postgres pauth-preferences
    createdb -O postgres scanner
    exit
  5. Запустить клиент ClickHouse, используя данные пользователя komrad:

    clickhouse-client --user=komrad --password=pass
  6. Создать базу данных:

    CREATE DATABASE komrad_events
    exit

Установка модуля сканирования сети Nmap

Установить Nmap:

sudo dpkg -i nmap_v7.92_amd64_signed.deb

Установка KOMRAD

Выполнить установку пакетов KOMRAD:

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 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"

Где вместо:

  1. postgres:pass – указать пароль пользователя postgres (PostgreSQL)

  2. e-mail name@domain.com – указать e-mail администратора

  3. login admin – указать логин администратора

  4. 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

Установка корневого сертификата в браузере

Порядок выполняемых действий:

  1. Скопировать сертификат ca.pem из папки и перенесите на целевую машину командой

    sudo cp /var/lib/echelon/komrad/certs/ca.pem ./

  2. Импортировать ca.pem в «Доверенные корневые центры сертификации» вашего браузера

  3. Перезапустить браузер

подсказка

Вы можете выполнить вход без импорта сертификатов, но это будет менее безопасно

Установка завершена

KOMRAD установлен и доступен по адресу https://localhost

Проверьте работоспособность системы

О том, как активировать лицензию, прочесть можно здесь

Информация об изменении паролей для ClickHouse и PostgreSQL