Security Onion is a powerful open-source platform for network security monitoring, intrusion detection, and log management. This guide provides a detailed overview, quick-reference cheat sheet, and best practices to help you deploy, operate, and troubleshoot Security Onion effectively.
Security Onion is designed for both small labs and large enterprise environments. Its architecture is modular and scalable, supporting several deployment modes:
Import Node: For importing pcap/evtx files; standalone, no live traffic.
Evaluation Mode: For temporary testing with live traffic sniffing.
Standalone Deployment: For labs or low-throughput environments; logs flow through Logstash → Redis → Elasticsearch.
Distributed Deployment: Recommended for production; includes manager, forward, and search nodes for scalability.
Heavy Nodes: For special cases requiring high resources .
Security Onion Desktop Environment
Network Security Monitoring (NSM)
Intrusion Detection (NIDS/HIDS)
Full Packet Capture
Log Management & SIEM
Dashboards & Visualization
Threat Hunting & Forensics
Alerting & Playbooks
Integration with open-source tools (Suricata, Zeek, Elastic Stack, etc.)
CPU: 2+ cores (4–8 recommended)
RAM: 16GB minimum (32GB+ for larger deployments)
Disk: 200GB–1TB+ (depends on retention and traffic)
Network: Dedicated TAP or SPAN port for monitoring
Home Lab: For learning and personal device protection.
Enterprise: Master server with 8+ cores, 16–128GB RAM, multi-TB storage.
Medium Network: 16–128GB RAM, 100Mbps–1Gbps throughput.
Download Security Onion ISO from the official website.
Create a VM (VirtualBox/VMware) or use dedicated hardware.
Allocate Resources: 16GB+ RAM, 2–4+ CPU cores, 200GB+ disk.
Configure Network: Add a management interface and a sniffing interface (TAP/SPAN).
Boot from ISO and follow the installation prompts:
Set hostname, IP, and domain.
Choose deployment mode (Standalone, Distributed, etc.).
Configure management and sniffing interfaces.
Complete Setup: Set up user accounts, passwords, and ensure internet access .
Suricata
Network IDS/IPS, signature-based detection
Zeek (Bro)
Network analysis, protocol/file analysis
OSSEC
Host-based IDS (HIDS)
netsniff-ng
Full packet capture
Logstash
Log parsing and processing
Elasticsearch
Log indexing and search
Kibana
Dashboards and visualization
Sguil/Squert
Alert review and investigation
Playbooks
Guided alert triage and response
Redis
Log queuing
Network Traffic: Monitored via Suricata and Zeek.
Host Activity: Monitored via OSSEC.
Packet Capture: All traffic is captured for forensic analysis.
IDS Alerts: Generated by Suricata/Zeek based on signatures and heuristics.
Playbooks & Guided Analysis: Help triage and respond to alerts efficiently.
Pivoting: Move from alert review to threat hunting seamlessly .
Dashboards: Kibana provides customizable dashboards for visualizing events.
Hunt Menu: Enables proactive threat hunting.
Log Search: Elasticsearch allows fast querying of logs and events .
APIs & Connectors: Security Onion and its components (Elastic Stack, Zeek, Suricata) support APIs for integration.
SIEM Integration: Can forward logs to external SIEMs.
Threat Intelligence: Integrate with platforms like MISP for threat sharing.
Best Practices: Use standards-based integration, secure APIs, and follow access control best practices .
Use dedicated hardware for production; avoid resource contention in VMs.
Allocate sufficient resources (RAM, CPU, disk).
Use local storage over network storage for performance.
Set hostname/IP correctly during install; avoid changes post-install.
Avoid third-party software that may conflict with Security Onion.
Use TAPs instead of SPAN ports for reliable traffic capture.
Regularly update Security Onion; test updates in non-production first.
Engage with the community for support and shared knowledge .
Service Status: Use sudo so-status
to check all services.
Log Flow: Use tcpdump
and check logs for issues in Syslog-ng, Logstash, Elasticsearch.
Network Connectivity: Use ping
and nc
to verify node communication.
Resource Contention: Ensure VMs have dedicated resources.
File Permissions: Avoid manual changes; test hardening guidelines before applying.
Third-Party Conflicts: Do not install conflicting security agents or software .
Official Documentation: Security Onion Docs
Forums & Community: Engage on official forums, Reddit, and Stack Overflow.
Case Studies & Use Cases: Search for real-world deployments and success stories.
User Groups: Join community-driven groups for shared learning .
Check service status
sudo so-status
Start/stop services
sudo so-* start/stop
Update Security Onion
sudo soup
View logs
sudo tail -f /var/log/syslog
Packet capture (CLI)
sudo tcpdump -i <interface>
Check Elasticsearch status
curl -XGET 'localhost:9200/_cluster/health?pretty'
Access Kibana dashboard
https://<SO-IP>:5601
Access Sguil
sguil-client
Access Squert
https://<SO-IP>/squert
Restart node
sudo reboot
Kibana
https://<SO-IP>:5601
Squert
https://<SO-IP>/squert
Security Onion Console
https://<SO-IP>
Suricata
/nsm/sensor_data/<hostname>/suricata.log
Zeek
/nsm/sensor_data/<hostname>/zeek/
OSSEC
/var/ossec/logs/
Logstash
/var/log/logstash/
Elasticsearch
/var/log/elasticsearch/
Update regularly: sudo soup
Test in lab before production changes.
Monitor resource usage: htop
, free -m
, df -h
Backup configs before upgrades.
All information in this guide is based on the latest research and community best practices as of June 2025, and is supported by the provided research reports –.
For more details, always refer to the official Security Onion documentation.