Установка Cortex на Ubuntu 22.04
Cortex — это бесплатный open-source движок для анализа наблюдаемых данных (observables) от TheHive Project. В этой инструкции показано, как установить Cortex на сервер с Ubuntu 22.04: обновить систему, установить Java, ElasticSearch, добавить репозиторий 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 от имени пользователя с правами администратора.
Список действий (краткий план)
- Обновить систему.
- Установить Java (OpenJDK 11).
- Установить и настроить ElasticSearch 7.x.
- Добавить репозитории Cortex/TheHive и установить Cortex.
- Сгенерировать секрет, прописать его в application.conf.
- Запустить службы и проверить доступ к веб-интерфейсу на порту 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
Откройте в браузере:
На странице может появиться кнопка «Update Database» — нажмите её, чтобы подготовить схему базы данных.

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

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

После входа вы увидите дашборд 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):
- apt update && apt upgrade.
- Установить Java, ElasticSearch, настроить JVM heap для ES.
- Установить Cortex из репозитория TheHive.
- Прописать play.http.secret.key в /etc/cortex/application.conf.
- systemctl enable –now cortex.
- Проверить доступ к порту 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.
- Для продакшна необходимы дополнительные меры безопасности и мониторинг.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента