All pages
Powered by GitBook
1 of 1

Loading...

Security Onion

Security Onion Comprehensive Guide & Cheat Sheet

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.


Overview & Architecture

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


Key Features

  • 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.)


System Requirements & Deployment Scenarios

Minimum Requirements

  • 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

Deployment Scenarios

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


Installation & Initial Setup

  1. Download Security Onion ISO from the official website.

  2. Create a VM (VirtualBox/VMware) or use dedicated hardware.

  3. Allocate Resources: 16GB+ RAM, 2–4+ CPU cores, 200GB+ disk.

  4. Configure Network: Add a management interface and a sniffing interface (TAP/SPAN).

  5. Boot from ISO and follow the installation prompts:

    • Set hostname, IP, and domain.

    • Choose deployment mode (Standalone, Distributed, etc.).

    • Configure management and sniffing interfaces.

  6. Complete Setup: Set up user accounts, passwords, and ensure internet access .


Core Components & Tools

Component
Purpose

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


Monitoring, Alerting, & Analysis

Monitoring

  • Network Traffic: Monitored via Suricata and Zeek.

  • Host Activity: Monitored via OSSEC.

  • Packet Capture: All traffic is captured for forensic analysis.

Alerting

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

Analysis

  • Dashboards: Kibana provides customizable dashboards for visualizing events.

  • Hunt Menu: Enables proactive threat hunting.

  • Log Search: Elasticsearch allows fast querying of logs and events .


Integration & Extensibility

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


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 .


Troubleshooting & Common Issues

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


Community & Documentation

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


Cheat Sheet

Common Commands

Task
Command/Action

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

Web Interfaces

Tool
URL/Port

Kibana

https://<SO-IP>:5601

Squert

https://<SO-IP>/squert

Security Onion Console

https://<SO-IP>

Log Locations

Component
Log Path

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/

Useful Tips

  • Update regularly: sudo soup

  • Test in lab before production changes.

  • Monitor resource usage: htop, free -m, df -h

  • Backup configs before upgrades.


References

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.