NEW – Suricata 1.4.6 pkg v0.1 BETA package released
-
Can Snort and Suricata run concurrently? (mainly just while we are in the testing phase)
Bad things going to happen?
-
Can Snort and Suricata run concurrently? (mainly just while we are in the testing phase)
Bad things going to happen?
No, and in fact that could be a good idea. Run Snort on the WAN and Suricata on the LAN. That way you can see what Snort might miss. This would be a good way to compare rule sets as well. Just remember the caveat that Suricata does not recognize all the Snort VRT keywords and options in their rules, so you will get some Snort rules thrown out by Suricata. All things considered, I recommend folks use Emerging Threats rules with Suricata.
Suricata can be your IDS and grab a bunch of stuff for logging and later analysis. For example, you can enable several of the rules in files.rules on the RULES tab. These will sense and capture and store certain downloaded file types Suricata sees in the stream. By default, all the rules in files.rules are disabled. But you could try some and see what happens. You will also need to enable the file logging features under the INTERFACES tab. I have not tested this personally, so I'm curious how well it works.
Bill
-
Did as you stated Bill, only using ET rulesets and checked them all off for testing purposes.
Saw a false positive so I initiated your "new" force-disable feature of a rule and the ruleset did a Live Rule Swap/Reload successfully. Looking good!
I have 16GB of RAM on this box and I was noticing that with the Max Pending Packets set to 32768, my memory climbed and maxed out and then started swapping out to failure. Something is definitely up with that setting. Only 2 settings not at default were the Max Pending Packets and Detect Engine Profile which I set at High.
The Logs Browser tab isnt showing anything and Instance to View does not list any interface, WAN is the only interface I've setup.
-
Thanks Bill!! I have both Snort and Suricata running with no issues so far. I have Snort setup on all my interfaces and twice for the WAN (One for Blocking and another for Alerting). I'm running Suricata on the WAN and using the same rules I have for my Snort Blocking setup. For the most part, they are alerting the same but Snort is catching more because of the extra rules its able to read… I'll have to get more familiar with Suricata since I've never used it before...
P.S I know this if off topic, but if you can; copy the barnyard2 page/code over to the snort package ;-)
Thanks again for all your work you have done
-
Did as you stated Bill, only using ET rulesets and checked them all off for testing purposes.
Saw a false positive so I initiated your "new" force-disable feature of a rule and the ruleset did a Live Rule Swap/Reload successfully. Looking good!
I have 16GB of RAM on this box and I was noticing that with the Max Pending Packets set to 32768, my memory climbed and maxed out and then started swapping out to failure. Something is definitely up with that setting. Only 2 settings not at default were the Max Pending Packets and Detect Engine Profile which I set at High.
The Logs Browser tab isnt showing anything and Instance to View does not list any interface, WAN is the only interface I've setup.
I will check on the Logs Browser problem. It has worked for me fine, but I use Internet Explorer. Have not tested with another browser yet. Are you using IE or something else?
I will also check into the memory use. I did some early following of Suricata bug reports (for the binary) some time back, but have not visited those threads in a while since I've been working on the package.
Bill
-
Thanks Bill!! I have both Snort and Suricata running with no issues so far. I have Snort setup on all my interfaces and twice for the WAN (One for Blocking and another for Alerting). I'm running Suricata on the WAN and using the same rules I have for my Snort Blocking setup. For the most part, they are alerting the same but Snort is catching more because of the extra rules its able to read… I'll have to get more familiar with Suricata since I've never used it before...
P.S I know this if off topic, but if you can; copy the barnyard2 page/code over to the snort package ;-)
Thanks again for all your work you have done
Thank you Cino for the kind words.
I do indeed intend to copy the Suricata barnyard2 page and capabilities over to the Snort package. My goal is to do that in the next Snort update when the binary moves to 2.9.6.0. That should be later in March if my plans hold.
Bill
-
I have 16GB of RAM on this box and I was noticing that with the Max Pending Packets set to 32768, my memory climbed and maxed out and then started swapping out to failure. Something is definitely up with that setting. Only 2 settings not at default were the Max Pending Packets and Detect Engine Profile which I set at High.
Just noticed the detail about the Detect Engine Profile being set to "High". I think I do recall seeing that can just gobble up memory (like it will go right up beyond 64 GB). I'm not a Suricata expert. Just started toying with it around this past Christmas. There are a couple of Suricata sites that you can find via Google.
One of the primary project leads from the Suricata project volunteered back in late January to help beta test the package and provide some suggested tuning parameters for pfSense. I sent him an e-mail just after the package was posted, so hopefully he and his team will get some time to do some testing and suggesting.
Bill
-
I will check on the Logs Browser problem. It has worked for me fine, but I use Internet Explorer. Have not tested with another browser yet. Are you using IE or something else?
I will also check into the memory use. I did some early following of Suricata bug reports (for the binary) some time back, but have not visited those threads in a while since I've been working on the package.
I use Chrome, but just swapped over to IE to test and I'm still not getting an Interface in the Logs Browser Tab.
I left Detect Engine Profile on High but brought the Max Pending Packets down to default of 1024 and its running fine so its not the Detect Engine Profile but the combination of the two settings on my setup.
-
I will check on the Logs Browser problem. It has worked for me fine, but I use Internet Explorer. Have not tested with another browser yet. Are you using IE or something else?
I will also check into the memory use. I did some early following of Suricata bug reports (for the binary) some time back, but have not visited those threads in a while since I've been working on the package.
I use Chrome, but just swapped over to IE to test and I'm still not getting an Interface in the Logs Browser Tab.
I left Detect Engine Profile on High but brought the Max Pending Packets down to default of 1024 and its running fine so its not the Detect Engine Profile but the combination of the two settings on my setup.
That Logs Browser problem bugs me. I can't for the life of me understand what may be wrong with it. It should show at least the one configured interface in the top drop-down. The Log drop-down is blank initially until you select a log. I never had that crop up during development testing. Is the interface name something common like WAN or LAN? Just wondering if it might have any special characters in it.
Bill
-
That Logs Browser problem bugs me. I can't for the life of me understand what may be wrong with it. It should show at least the one configured interface in the top drop-down. The Log drop-down is blank initially until you select a log. I never had that crop up during development testing. Is the interface name something common like WAN or LAN? Just wondering if it might have any special characters in it.
LAN and WAN are both labeled as such, no fancy names here. Switched over from WAN interface to LAN and still no change. Maybe someone else will comment and say its working for them and its just some strange scenario with what I've setup.
-
That Logs Browser problem bugs me. I can't for the life of me understand what may be wrong with it. It should show at least the one configured interface in the top drop-down. The Log drop-down is blank initially until you select a log. I never had that crop up during development testing. Is the interface name something common like WAN or LAN? Just wondering if it might have any special characters in it.
LAN and WAN are both labeled as such, no fancy names here. Switched over from WAN interface to LAN and still no change. Maybe someone else will comment and say its working for them and its just some strange scenario with what I've setup.
Oops! Egg on face many times over :-[ :-[
Just realized that in a last minute rush yesterday to incorporate some comments from Ermal into the package code that I messed up on the LOGS BROWSER page. My copy from the repository is not showing any interfaces. I will get a fix posted for this, but it may be a day or two before I can get the Core Team devs to merge it. They have been quite busy.
In the meantime, if you are quasi-proficient with the [b]Diagnostics…Edit File feature in pfSense, you can fix it yourself as follows:
Open /usr/local/www/suricata/suricata_logs_browser.php
Scroll down and find this line in the file:echo " <option value="{$id}" {$selected}="">(" . convert_friendly_interface_to_friendly_descre($instance['interface']) . "){$instance['descr']}</option>\n";
The problem is an incomplete copy-and-paste that failed to overwrite the "e" on the end of "_descre". It should read as follows:
echo " <option value="{$id}" {$selected}="">(" . convert_friendly_interface_to_friendly_descr($instance['interface']) . "){$instance['descr']}</option>\n";
Make that change and save the file to fix the problem until a package update is merged.
Bill
-
Easily fixed and confirmed working properly now 8)
Many thanks as always.
-
If anyone is going to run both Snort and Suricata together at the same time, make sure that the UPDATE Interval is staggered or you will get an update error from Snort and ET as you can't poll twice within a 15-20 mins interval.
-
** Wishlist Item **
The ability to click on an object within an alert and have that download the pcap file that contains the data.
-
All the "emerging-*" ET rules show under the Categories. However, the following are in suricata.yaml but are not there:
- botcc.rules
- ciarmy.rules
- compromised.rules
- drop.rules
- dshield.rules
- rbn-malvertisers.rules
- rbn.rules
- tor.rules
http://rules.emergingthreats.net/open/suricata/rules/
…. should they be?
-
All the "emerging-*" ET rules show under the Categories. However, the following are in suricata.yaml but are not there:
- botcc.rules
- ciarmy.rules
- compromised.rules
- drop.rules
- dshield.rules
- rbn-malvertisers.rules
- rbn.rules
- tor.rules
http://rules.emergingthreats.net/open/suricata/rules/
…. should they be?
To keep the various rule sets separated (since the names duplicate within ET and VRT), each enabled vendor rule set is prefixed with a label to identify the source. So for example, the "drop.rules" in ET-Pro rules would be listed under CATEGORIES as "etpro-drop.rules" while the ET-Open version would be "emerging-drop.rules". You should see them listed that way under the CATEGORIES tab.
Both the Suricata and Snort packages on pfSense gather up all your enabled rules and writes them to a single file on disk called "suricata.rules" (or "snort.rules" on the Snort package). This file is the one actually specified in the suricata.yaml file used by each configured interface.
Bill
-
All the "emerging-*" ET rules show under the Categories. However, the following are in suricata.yaml but are not there:
- botcc.rules
- ciarmy.rules
- compromised.rules
- drop.rules
- dshield.rules
- rbn-malvertisers.rules
- rbn.rules
- tor.rules
http://rules.emergingthreats.net/open/suricata/rules/
…. should they be?
You shouldn't actually be using those rules, that's pfblocker's job. see https://forum.pfsense.org/index.php/topic,64674.0.html
I really like this suggestion:
@priller:** Wishlist Item **
The ability to click on an object within an alert and have that download the pcap file that contains the data.
looks into the crystal ball I foresee spending a lot of time to create a new suricata+pfblocker blueprint :P
Special thanks to Bill for all the work he is doing on pfsense's IDS/IPS functionality. -
** Wishlist Item **
The ability to click on an object within an alert and have that download the pcap file that contains the data.
I agree that would be a cool feature, but I don't know at the moment how to tie the two together. In other words, how to know out of the several of on-disk rotated pcap files which particular one contains a specific alert. If there is some hidden index or key you know about, please share and I will see if I can implement the feature.
Bill
-
To keep the various rule sets separated (since the names duplicate within ET and VRT), each enabled vendor rule set is prefixed with a label to identify the source. So for example, the "drop.rules" in ET-Pro rules would be listed under CATEGORIES as "etpro-drop.rules" while the ET-Open version would be "emerging-drop.rules". You should see them listed that way under the CATEGORIES tab.
They are there in Snort, but not in Suricata. Due to having both running?
-
How about adding the unix epoch timestamp to the alert? Not visible (to reduce clutter), but a clickable button to take you to the file. That should be directly related to the file that is created by the alert. If that's not possible, there should be a direct relation to the alert time and the file creation.Haven't tested the package yet, I'm super busy this weekend, so can't really say how the pcaps are related to the alerts.