Гид по технологиям

Установка Cortex на Ubuntu 22.04

5 min read Инструкции Обновлено 27 Nov 2025
Установка Cortex на Ubuntu 22.04
Установка Cortex на Ubuntu 22.04

Cortex — это бесплатный open-source движок для анализа наблюдаемых данных (observables) от TheHive Project. В этой инструкции показано, как установить Cortex на сервер с Ubuntu 22.04: обновить систему, установить Java, ElasticSearch, добавить репозиторий Cortex, настроить секрет и запустить сервис. Включены проверки, план действий при проблемах и рекомендации по безопасности.

Введение

Логотип или интерфейс Cortex при запуске установщика

Cortex используется аналитиками SOC и специалистами по безопасности для автоматизированного анализа IP, email, URL, доменов, файлов и хешей. Он интегрируется с сотнями анализаторов (VirusTotal, Joe Sandbox, DomainTools, Google Safe Browsing, Shodan и др.). Эта инструкция пошагово проведёт вас через установку и базовую настройку на Ubuntu 22.04.

Важно: для продуктивных установок используйте выделённый сервер с минимум 16 ГБ ОЗУ и корректной стратегией бэкапов.

Что понадобится

  • Сервер под управлением Ubuntu 22.04 (минимум 16 ГБ RAM). Промежуточные тесты можно делать на меньших конфигурациях, но производительность будет ограничена.
  • Настроенный root-пароль или доступ по sudo от имени пользователя с правами администратора.

Список действий (краткий план)

  1. Обновить систему.
  2. Установить Java (OpenJDK 11).
  3. Установить и настроить ElasticSearch 7.x.
  4. Добавить репозитории Cortex/TheHive и установить Cortex.
  5. Сгенерировать секрет, прописать его в application.conf.
  6. Запустить службы и проверить доступ к веб-интерфейсу на порту 9001.

Обновление системы

Обновите индексы пакетов и пакеты системой.

apt update -y  
apt upgrade -y

Важно: после крупных обновлений ядра перезагрузите систему.

Установка Java

Cortex требует Java. Установите OpenJDK 11:

apt install openjdk-11-jre-headless -y

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

java --version

Ожидаемый вывод (пример):

openjdk 11.0.17 2022-10-18
OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu222.04)
OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu222.04, mixed mode, sharing)

Задайте переменную окружения JAVA_HOME:

echo JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64" | tee -a /etc/environment

Активируйте её в текущей сессии:

source /etc/environment

Установка и настройка ElasticSearch

Cortex использует ElasticSearch 7.x. Установите зависимости и добавьте репозиторий Elastic:

apt install wget gnupg2 apt-transport-https git ca-certificates curl jq software-properties-common lsb-release python3-pip iproute2 -y

Добавьте GPG-ключ Elastic:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor > /etc/apt/trusted.gpg.d/elasticsearch-keyring.gpg

Добавьте репозиторий:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-7.x.list

Установите ElasticSearch:

apt update -y  
apt install elasticsearch -y

Отредактируйте /etc/elasticsearch/elasticsearch.yml и задайте имя кластера:

nano /etc/elasticsearch/elasticsearch.yml

Измените или добавьте строку:

cluster.name: my-application

Создайте файл с настройками JVM, чтобы ограничить потребление памяти (пример 1 ГБ):

nano /etc/elasticsearch/jvm.options.d/jvm.options

Добавьте:

-Xms1g
-Xmx1g
-Dlog4j2.formatMsgNoLookups=true

Перезапустите сервис и проверьте статус:

systemctl restart elasticsearch
systemctl status elasticsearch

Ожидаемый вывод (обрезанный пример):

? elasticsearch.service - Elasticsearch
     Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-02-06 15:35:54 UTC; 2s ago
       Docs: https://www.elastic.co
   Main PID: 10788 (java)

Важно: на продакшн-кластере ElasticSearch требуется дополнительная настройка безопасности, heap sizing, и мониторинг.

Установка Cortex на Ubuntu 22.04

Добавьте ключи TheHive/Cortex и репозиторий, затем установите пакет:

wget -qO- "https://raw.githubusercontent.com/TheHive-Project/Cortex/master/PGP-PUBLIC-KEY" | gpg --dearmor -o /etc/apt/trusted.gpg.d/cortex.gpg  
wget -qO- https://raw.githubusercontent.com/TheHive-Project/Cortex/master/PGP-PUBLIC-KEY | gpg --dearmor -o /etc/apt/trusted.gpg.d/thehive.gpg

Добавьте репозиторий:

echo 'deb https://deb.thehive-project.org release main' | tee -a /etc/apt/sources.list.d/thehive-project.list

Установите Cortex:

apt update -y  
apt install cortex -y

Конфигурация Cortex

Сгенерируйте сильный секрет для play.http.secret.key. Пример команды для генерации случайной строки длиной 64 символа:

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1

Пример вывода:

LkSc1rXTf4mx8TWEdmQJytdrJYunwiLwHSaDS7gUR6g4P8B07JKuLWgMNIxI9bcm

Отредактируйте файл конфигурации Cortex:

nano /etc/cortex/application.conf

Добавьте или замените значение секретного ключа:

play.http.secret.key="LkSc1rXTf4mx8TWEdmQJytdrJYunwiLwHSaDS7gUR6g4P8B07JKuLWgMNIxI9bcm"

Запустите и включите сервис Cortex:

systemctl enable --now cortex
systemctl status cortex

Ожидаемый вывод (обрезанный):

? cortex.service - cortex
     Loaded: loaded (/etc/systemd/system/cortex.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-02-06 15:40:21 UTC; 12s ago
       Docs: https://thehive-project.org
   Main PID: 12544 (java)

Проверьте, что Cortex слушает порт 9001:

ss -antpl | grep 9001

Ожидаемый вывод:

LISTEN 0      100                     *:9001            *:*    users:(("java",pid=12544,fd=293)) 

Доступ к веб-интерфейсу Cortex

Откройте в браузере:

http://your-server-ip:9001

На странице может появиться кнопка «Update Database» — нажмите её, чтобы подготовить схему базы данных.

Кнопка обновления базы данных Cortex

Затем создайте первую учётную запись администратора. Заполните имя пользователя, отображаемое имя и пароль, затем нажмите «Create».

Экран создания аккаунта Cortex

Войдите в систему, используя новые учётные данные.

Экран входа в Cortex

После входа вы увидите дашборд Cortex.

Дашборд Cortex

Добавьте вашу организацию и пользователей:

Экран добавления организации

Укажите имя организации и сохраните. Затем зайдите в неё и добавьте пользователей с нужными ролями.

Список организаций в Cortex

Экран организации с возможностью добавления пользователя

Форма добавления пользователя в организации

Список пользователей организации

Критерии приёмки

  • Cortex сервис запущен и активен: systemctl status cortex показывает Active: active (running).
  • Порт 9001 слушается: ss -antpl | grep 9001 возвращает запись LISTEN.
  • Веб-интерфейс доступен и работает: можно создать организацию и пользователя.
  • ElasticSearch отвечает и доступен для запросов (локально/по сети в зависимости от конфигурации).

Проверки и тесты (короткий чеклист)

  • Проверить связь Cortex → ElasticSearch (логи Cortex не должны содержать ошибок подключения).
  • Выполнить тест-анализатор на любом observable (например, IP), убедиться, что запросы уходят и приходят ответы.
  • Убедиться в работоспособности SSL/Reverse proxy, если вы используете Nginx/Traefik перед Cortex.

Плейбук: запуск и откат

Шаги запуска (быстрый playbook):

  1. apt update && apt upgrade.
  2. Установить Java, ElasticSearch, настроить JVM heap для ES.
  3. Установить Cortex из репозитория TheHive.
  4. Прописать play.http.secret.key в /etc/cortex/application.conf.
  5. systemctl enable –now cortex.
  6. Проверить доступ к порту 9001 и веб-интерфейсу.

Простой откат (rollback):

  • Если установка Cortex приводит к проблемам, остановите сервис: systemctl stop cortex.
  • Удалите пакет: apt remove –purge cortex && apt autoremove.
  • Верните конфигурации ElasticSearch из бэкапа и перезапустите ES.

Важно: перед откатом всегда делайте бэкап данных и конфигурационных файлов.

Частые проблемы и решения

  • ElasticSearch не стартует — проверьте /var/log/elasticsearch/ и настройки heap в jvm.options. Не выделяйте ES больше 50% RAM системы.
  • Cortex не подключается к ElasticSearch — проверьте network.host/cluster.name и права доступа. Проверяйте логи /var/log/cortex/*.
  • Порт 9001 занят — найдите процесс: ss -antpl | grep 9001, завершите/перенастройте.

Безопасность и соответствие (рекомендации)

  • Не экспонируйте Cortex/ElasticSearch непосредственно в интернет без reverse proxy и SSL.
  • Используйте TLS перед фронтом (nginx/traefik) и включите базовую аутентификацию на уровне прокси, если нужно.
  • Защитите ElasticSearch с помощью X-Pack или внешней сети; не храните production-данные в открытом виде.
  • Следите за хранением секретов: не кладите секреты в репозиторий, используйте Vault или другой секрет-менеджер.

Примечание: Если обрабатываются персональные данные, проверьте соответствие GDPR/локальному законодательству.

Роли и обязанности (шаблон)

  • Системный администратор: подготовка сервера, установка Java и ElasticSearch, мониторинг ресурсов.
  • DevOps/инженер безопасности: настройка reverse-proxy, TLS, управление секретами, hardening ElasticSearch.
  • SOC-аналитик: настройка анализаторов, проверка результатов, работа с инцидентами через Cortex.

Шпаргалка команд (cheat sheet)

  • Обновление системы: apt update -y && apt upgrade -y
  • Установка Java: apt install openjdk-11-jre-headless -y
  • Перезапуск ES: systemctl restart elasticsearch
  • Статус Cortex: systemctl status cortex
  • Проверить порт: ss -antpl | grep 9001
  • Сгенерировать секрет: cat /dev/urandom | tr -dc ‘a-zA-Z0-9’ | fold -w 64 | head -n 1

Критические рекомендации перед вводом в эксплуатацию

  • Настройте регулярные бэкапы ElasticSearch и конфигурационных файлов (/etc/cortex, /etc/elasticsearch).
  • Организуйте логирование и ротацию логов (logrotate).
  • План мониторинга: CPU, RAM, disk IO и latency запросов к ElasticSearch.

Заключение

Поздравляем — Cortex установлен и запущен. Далее рекомендуется подключить нужные анализаторы, протестировать рабочие сценарии и интегрировать Cortex в текущие процессы SOC. Если возникнут вопросы — опишите симптомы и логи, чтобы ускорить диагностику.

Ключевые выводы:

  • Cortex требует Java и ElasticSearch 7.x.
  • Порт по умолчанию — 9001.
  • Для продакшна необходимы дополнительные меры безопасности и мониторинг.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро