The Chaos of Manual Alert Management
If you’re working in a SOC, you’re likely familiar with waking up to dozens of dashboards from SIEM, EDR, and email reports. The process is often a tiring loop: copy a suspicious IP, paste it into VirusTotal, and then manually record the results in Excel or report them on Slack.
Handling 5-10 cases a day is manageable. However, when that number jumps to 50 or 100, manual methods reveal fatal flaws. It becomes easy to miss critical Indicators of Compromise (IoCs). Furthermore, not knowing who is handling which case leads to overlapping work, wasted resources, and skyrocketing Mean Time to Respond (MTTR).
Why Excel or Jira Aren’t ‘Lifesavers’ for SOCs
Many organizations try to use Jira for security incident management to save costs. In reality, this often fails because standard task management tools lack security-specific ‘DNA’:
- No automatic data correlation: Jira can’t alert you if an IP address appeared in another attack three months ago.
- Context Switching nightmare: You have to jump between dozens of browser tabs to check IPs, domains, or file hashes. This can reduce analyst productivity by up to 40%.
- Fragmented Response Procedures (Playbooks): It’s difficult to force Tier 1 SOC analysts to follow Standard Operating Procedures (SOPs) using just dry notes in Excel.
TheHive + Cortex: The Ultimate Open-Source Power Duo
To solve these issues once and for all, the TheHive and Cortex combo is the top choice today. This is the most powerful open-source SOAR ecosystem available.
- TheHive: Acts as the command center (Case Management). It centralizes all alerts, manages investigations, and organizes task assignments scientifically.
- Cortex: The powerful analysis engine. Instead of manual checks, you just input an IP, and Cortex automatically queries over 100 third-party services (VirusTotal, Shodan, AbuseIPDB…) and returns results in less than 30 seconds.
Step-by-Step Guide: Installing TheHive 5 and Cortex with Docker Compose
Deploying via Docker is the fastest way to get this system up and running. It eliminates worries about Java library conflicts or complex database configurations on Linux.
Step 1: System Requirements
TheHive and Elasticsearch are quite RAM-intensive. You should prepare an Ubuntu 22.04 server with at least 8GB RAM (16GB is recommended for long-term stability).
Security from the start is a vital rule. Use tools like a password generator to create strong passwords for your databases. Prioritize tools that run entirely in the browser to ensure passwords aren’t transmitted over the network.
Step 2: Configuring docker-compose.yml
The TheHive 5 system consists of several components: Cassandra (storage), Elasticsearch (querying), Minio (file storage), and Cortex. Below is an optimized configuration file for quick deployment:
version: '3.8'
services:
cassandra:
image: cassandra:4
container_name: cassandra
environment:
- MAX_HEAP_SIZE=1G
- HEAP_NEWSIZE=200M
elasticsearch:
image: elasticsearch:7.17.9
container_name: elasticsearch
environment:
- discovery.type=single-node
- xpack.security.enabled=false
- "ES_JAVA_OPTS=-Xms2g -Xmx2g"
minio:
image: minio/minio
container_name: minio
command: server /data
environment:
- MINIO_ROOT_USER=thehive
- MINIO_ROOT_PASSWORD=your_strong_password
cortex:
image: thehiveproject/cortex:latest
container_name: cortex
depends_on:
- elasticsearch
ports:
- "9001:9001"
thehive:
image: thehiveproject/thehive:5.2
container_name: thehive
depends_on:
- cassandra
- elasticsearch
- minio
- cortex
ports:
- "9000:9000"
Important Note: Before running, execute the command sudo sysctl -w vm.max_map_count=262144 on the host machine. Without this, Elasticsearch will crash on startup.
Step 3: Launch and Verify
Everything is ready; activate the system with the command:
docker-compose up -d
Be patient and wait about 2-3 minutes. Then, access http://<Server-IP>:9000. The default credentials are admin/secret. The first thing you should do after logging in is change the password immediately.
Hard-Won Lessons from Real-World Operations
Deployment is just the beginning. To make the system truly effective, keep these four points in mind:
1. Curate Analyzers on Cortex: Don’t be greedy and install all hundreds of analyzers. Focus on high-quality ones like VirusTotal, AlienVault OTX, and AbuseIPDB. Installing too many just adds noise and consumes bandwidth.
2. Standardize Case Templates: Don’t make analysts type every title manually. Build templates for “Phishing,” “Brute Force,” or “Malware.” Pre-defining specific tasks helps Tier 1 SOC handle incidents accurately and minimizes human error.
3. Multi-layer Backup Strategy: TheHive’s data is spread across Cassandra, ES, and Minio. Don’t rely solely on Docker volumes. Set up periodic backup scripts and push them to an independent storage server (Off-site backup).
4. Automated Integration with SIEM: The true power of SOAR lies in automation. Configure Wazuh or your SIEM to automatically push alerts to TheHive via API. This allows the SOC team to focus on resolution rather than manual data collection.
Mastering TheHive and Cortex will completely transform your SOC team’s position from reactive incident chasing to proactive control. If you encounter any difficulties configuring application.conf, leave a comment below for support!

