Security Onion (http://securityonion.blogspot.com/) is a Linux distribution for intrusion detection and network security monitoring. Security Onion for Splunk is designed to run on a Security Onion server, providing an alternative method for correlating events and incorporating field extractions and reporting for Sguil, Bro IDS and OSSEC. (For a detailed description of the application with screenshots: http://eyeis.net/2012/04/splunking-the-onion/.)
Splunk for Security Onion provides several dashboards and search interfaces for correlating Sguil, OSSEC and Bro IDS log events.
A Security Onion server and a Splunk 5.x installation. (Note: when installing Splunk on a Security Onion system there will likely be a port conflict for the Splunk web server. Port 81 as an alternate port should be a safe alternative.)
Download from www.splunk.com. Install via terminal command:
sudo dpkg -i splunk-5.*.deb
When install completes, we need to start Splunk for the first time:
cd /opt/splunk/bin
sudo ./splunk start
After accepting the agreement, you'll have to pick an alternate port for the Splunk web interface since the default is in use. You'll see the following and when prompted to change, choose yes, then specify port 81:
Checking prerequisites...
Checking http port [8000](http://splunkbase.splunk.com/wiki/8000): already bound
ERROR: The http port [8000](http://splunkbase.splunk.com/wiki/8000) is already bound. Splunk needs to use this port.
Would you like to change ports? [y/n](http://splunkbase.splunk.com/wiki/y:n): y
Enter a new http port: 81
Setting http to port: 81
Checking http port [81](http://splunkbase.splunk.com/wiki/81): open
Checking mgmt port [8089](http://splunkbase.splunk.com/wiki/8089): open
Checking configuration... Done.
Splunk's built-in way to run at boot time is (as root): $SPLUNK_HOME/bin/splunk enable boot-start with an optional user=foo at the end to run as a certain user. It installs proper boot scripts for your OS so you don't need to worry about editing /etc/rc.* files:
/opt/splunk/bin/splunk enable boot-start
Open Firefox and browse to http://localhost:81 (or if you used an alternate port change accordingly). Change your password, then click App > Find More Apps from the menu in the upper right corner. Find the following apps and install them.
Depending on how much traffic your sensor monitors, you may need to leave some of the Bro inputs disabled to avoid maxing out your license. The following are the sourcetypes configured for each Bro IDS log data input:
I've standardized the source and destination IP fields in the Bro IDS and Sguil log field extractions so "src_ip" and "dest_ip" are consistent across events.
Log file data inputs are file specific (as opposed to monitoring the entire /nsm/bro/logs/current/ directory) primarily for granular control over what gets splunked. Depending on your licensing you may need to scale back certain logs and this provides an easy way to do so.
The SOstat monitoring scripts are configured to run at various intervals (in seconds). The default settings are very conservative,
executing most scripts once a day and status scripts 3 times a day. The default configuration is:
Sourcetype - Script - Interval (seconds)
The default settings can be modified via Splunk Manager > Data Inputs > Scripts. Click on the script name in the "Command" column to increase/decrease the interval. You can also disable/enable scripts.
For comments, suggestions or questions, feel free to drop me an e-mail: brad@eyeis.net
Hope you enjoy the app!
Brad Shoop
http://eyeis.net
@bradshoop
IMPORTANT - Security Onion for Splunk 2.0 supports the latest release of Security Onion 12.04. If you are running the older version, Security Onion 10.04, please continue to use version 1.1.7.
Sideview Utils is now a required app, available from Splunkbase.
2.0 contains updated log sources and field extractions for Security Onion 12.04, includes several updated/enhanced dashboards including Overview, IR Search and SOstat, and introduces the new dashboard "Bro(wser)" for reviewing Bro IDS logs.
1.1.7 - Tweaked Sguil indexing to prevent Bro URL data from being duplicated into Splunk via sguild.log. - Monitors dashboard field name drop down selections added to all panels. - General Mining dashboard added panels for Bro SSH logs and Bro HTTP TLDs (top level domains). Also added drop down options for Bro FTP and IRC panels. - Squil Mining has been updated and improved. - Syslog Mining dashboard added for Bro Syslog. - An Event Workflow was added for searching Splunk for events by src_ip.…and last but not least: - CIF Dashboards! See README for details on how to configure CIF integration.
1.1.6 - Sguil mining - added ability to drilldown on source or destinations to timechart of activty by sourcetype for selected IP.
1.1.5 - Performance improvements on several dashboards and fixed a bug in Sguil mining.
1.1.4 - Minor bug fix to IDS rule reference full document lookup.
1.1.3 - Added SOstat IDS Rules: indexes /etc/nsm/rules/*.rules and provides an easy to use interface for referencing rules for tuning. Sort by classtype, category, enabled status, and/or rule source and drilldown on a rule to see it's activity history and the full rule entry complete with Splunk event workflow lookups by BugtraqID, CVE ID and URL.
Added VRT reference workflow lookup. For Sguil events with a sig_id, you can now use the Events view workflow menu to view the Snort signature reference document in a new window, when available.
Added SOstat ability to sort by sensor to provide
better monitoring of a distributed deployment.
See README and http://eyeis.net/2012/07/security-onion-for-splunk-1-1-3-ids-rule-reference/ for full details.
Workflow field and event search items added for CIF, DShield and Robtex. Most panel
drilldowns have been changed from table views to event listing views. The primary reason
(while less aesthetic) is accessibility to the workflow queries, which will allow you to
efficiently query domains, IPs, and hashes without disrupting your workflow and visiblity
(i.e., results spawn in new windows/tabs).
1.1.1 - Minor update to get src_ip into Known Knowns and fix a typo. Also tweaked sguild inputs to better support non-standard timezone setting environments.
http://eyeis.net/2012/06/security-onion-1-1-for-splunk/
I've added an input for Bro's capture_loss.log which now displays on the SOstat Security Onion monitor in a time chart paired with Snort packet loss. To enable this log in Bro edit:
/usr/local/share/bro/site/local.bro
and add the following:
@load misc/capture-loss
You'll have to check and install Bro for the change to get loaded.
sudo broctl
check
install
exit
and you're done. It takes a few before the first logged event will show so give it a bit before you worry if it's working.
I also tweaked the sguild inputs to exclude "{URL" events. This data is already being consumed via bro_http so it should cut down on the licensing volume.
Monitors Dashboard
- Returned misc-activity to the Sguil panel.
- Added date/time and raw event to drill down display for the FTP Args panel.
GeoIP
- A drop down list has been added to GeoIP allowing you to search GeoIP by sourcetype which should reduce query times for more targeted views. The map also now includes drill down capabilities with results appearing below the map when selected.
Mining
- Added drill down to the time chart panels for HTTP and SMTP mining
- Added a PADS dashboard (similar to HTTP and SMTP mining) searchable by Name, Classification, Source IP, Source Port, Destination IP, Destination Port, Protocol, and Severity.
- Added a Known Knowns dashboard. Includes: Known Services; Known Software searchable by Name and Type; and Known Certs searchable by Country, Common Name, Certificate Issuer Subject, Location, Organization, Organizational Unit, Port Number, State, and Certificate Subject.
PADS
- Created an event type for PADS in addition to the PADS Mining dashboard.
SOstat
- Updated SOstat SO to include Bro capture loss in addition to Snort packet loss.
See README or check http://eyeis.net/2012/05/security-onion-1-0-for-splunk/
Bro's http.log will be using a log file per interface in mutli-interface sensors. This update adds a data input to capture them.
Added CIF (Collective Intelligence Framework: http://code.google.com/p/collective-intelligence-framework/) query capability to the field and event menus in Splunk. For the links to work you will need to update the workflow actions for your CIF server and a valid API key. Edit the workflow via Splunk Manager > Fields > Workflow action from the Security Onion app context and you should see two CIF entries.
SOstat update to include folder sizes. Mining menu additions: HTTP mining and SMTP mining.
Added Bro stats.log monitoring to SOstat Server/Service Status panel (sourcetype = bro_stats). Added Bro irc.log monitoring to Mining dashboard (sourcteype = bro_irc). Added Bro smtp_entities filename monitoring to Mining dashboard (sourcetype = bro_smtp_entites)
As a Splunkbase app developer, you will have access to all Splunk development resources and receive a 10GB license to build an app that will help solve use cases for customers all over the world. Splunkbase has 1000+ apps from Splunk, our partners and our community. Find an app for most any data source and user need, or simply create your own with help from our developer portal.