Step 1. Configure Syslog Streaming on Barracuda NG Firewalls
Configure and enable syslog streaming for every Barracuda NG Firewall you want to include in the Splunk App.
Step 1.1. Enable Syslog Streaming
Open the Syslog Streaming page (Config > Full Config > Box > Infrastructure Services).
Click Lock.
Set Enable the Syslog service to yes.
splunk_syslog01.png
Click Send Changes and Activate.
Step 1.2. Configure Logdata Filters
Define profiles specifying the log file types to be transferred / streamed.
Open the Syslog Streaming page (Config > Full Config > Box > Infrastructure Services).
In the left menu, select Logdata Filters .
Click Lock.
Click the + icon to add a new filter.
Enter a Name and click OK. The Filters window opens.
Click + in the Data Selection table and select Firewall_Audit_Log.
Fatal_log and Panic_log data can also be streamed to the Splunk server, but are currently not processed by the Barracuda NG Firewall Splunk app.
Select Selection from the Affected Box Logdata dropdown and click +. The Data Selection window opens.
Enter a Name and click OK.
In the Log Groups table, click + and select Firewall-Activity-Only from the list.
splunk_syslog01a.png
Click OK.
Select All from the Data Selector dropdown menu.
Click OK.
splunk_syslog02.png
Click Send Changes and Activate.
Step 1.3. Configure the Logstream Destinations
Configure the data transfer settings for the Splunk server. You can optionally choose to send all syslog data via an SSL-encrypted connection.
Open the Syslog Streaming page (Config > Full Config > Box > Infrastructure Services).
In the left menu, click Logstream Destinations.
Click Lock.
Click + in the Destinations table. The Destinations window opens.
Configure the Splunk server logstream destination:
Remote Loghost – Select explicit-IP .
Loghost IP Address – Enter the IP address of the Splunk server.
Loghost Port – Enter 5140 for plaintext or 5141 for SSL-encrypted connections.
The Barracuda NG Firewall app can only process syslog data that is received on port 5140 (not encrypted) or 5141 for SSL-encrypted connections.
Transmission Mode – Select TCP or UDP (only for unencrypted connections).
Sender IP – Enter the management IP address of the Barracuda NG Firewall.
(optional) Use SSL Encapsulation – Select yes to send the syslog stream over an SSL-encrypted connection.
(optional) Peer SSL Certificate – Import the SSL certificate configured on the Splunk server for this data import.
Configure the Splunk server to receive SSL-encrypted connections. For more information, see http://docs.splunk.com/Documentation/Splunk/latest/Admin/Inputsconf.
Override Node Name – Select no.
Click OK.
splunk_syslog03.png
Click Send Changes and Activate.
Step 1.4. Configure Logdata Streams
Create a logdata stream configuration combining the previously configured Log Destinations and Log Filters.
Open the Syslog Streaming page (Config > Full Config > Box > Infrastructure Services).
In the left menu, click Logstream Stream .
Click Lock.
Click + in the Streams table.
Enter a Name and click OK. The Streams window opens.
In the Log Destinations table, click + and select the Log Destination created in Step 1.3.
In the Log Filters table, click + and select the Log Filter created in Step 1.2.
splunk_syslog04.png
Click OK.
Click Send Changes and Activate.
All firewall log data is now being streamed to the Splunk server.
Step 2. Data Data Input on Splunk
The Splunk server must be configured to receive the syslog data. Verify that you have a Data input entry for TCP or UDP port 5140 or TCP port 5141 (SSL) that listens for the incoming syslog streaming connections. You must use port 5140/5141 because the Barracuda NG Firewall Splunk app can only process data received on these ports. For more information, see http://docs.splunk.com/Documentation/Splunk/6.2.0/Data/Monitornetworkports.
Step 3. (optional) Enable SSL Encryption for Barracuda NG Firewall Splunk App
If you want to SSL encrypt connections with Splunk, you must modify the inputs.conf configuration file for the Barracuda NG Firewall Splunk App.
Copy your SSL certificates to /opt/splunk-6.2/etc/auth/server.pem and /opt/splunk-6.2/etc/auth/box-cert.pem.
Login to the Splunk server via SSH.
Edit $SPLUNK_HOME/etc/apps/BarracudaNGFirewall/default/inputs.conf and add a section for SSL:
[SSL]
serverCert = /opt/splunk-6.2/etc/auth/server.pem
password = password
requireClientCert = true
rootCA = /opt/splunk-6.2/etc/box-cert.pem
Restart Splunk.
Certificate Troubleshooting
If you see log messages containing the string "alert bad certificate" in the bsyslog log file, the rootCA certificate is either missing or invalid. Set requireClientCert to false to disable the certificate check.
2014 12 16 09:43:34 Notice +01:00 Syslog connection established; fd='14', server='AF_INET(127.0.0.1:6224)', local='AF_INET(0.0.0.0:0)' 2014 12 16 09:43:34 Error +01:00 [18697:4146318224] SSL_connect:14094412: error:14094412:SSL outines:SSL3_READ_BYTES:sslv3 alert bad certificate
Step 4. Enable Application Logging in the Firewall
Application data is collected on a per-access rule basis. Set the Application Log Policy to Log All Applications in the Advanced Firewall Rule Settings for each access rule that matches traffic you want to include in the data collected on the Splunk server. For more information, see Advanced Firewall Rule Settings.
Updated. icons
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.