@priller:
@bmeeks:
Based on my testing, either the patched binary or turning off the delayed-detect feature worked. Translated, that means you need the new binary if you want to leave "delayed-detect" set to "on", but if you don't have the new binary yet, you can just set "delayed-detect" to off and should still not see the bug.
It seems to be OK with that set to "off".
We tried that previously ( https://forum.pfsense.org/index.php?topic=74778.msg410720#msg410720 ) and still had a problem. Other than having multiple interfaces then vs. a single one now, I'm not sure what else is different in the config .. or the sequence of events to trigger it. Anyway, looking much better today.
From my understanding of the bug and the Suricata binary code, the call to load the Suppress List entries was made and the list successfully loaded before the rule signatures had been loaded. So there were, at that moment, no rules in the memory table for the Suppress List to match and thus the flag to "not alert" was not set for any Suppress List rules. Delayed-Detect is an option designed for inline IPS operation that allows Suricata to go ahead and come up and start passing traffic even before all the rule signatures (detection) are loaded and enabled. So in this mode, there is a time where traffic will pass uninspected. In the current quasi-IPS/IDS mode Suricata uses, this parameter has no meaning but I had defaulted it to "on" for the future. When you disable Delayed-Detect, the rules load earlier and thus are in memory when the Suppress List is loaded and parsed. So this means rules can match up.
The reason this worked using the icons on the Alerts tab is those add the entry to the list and then initiate a "live rule swap" within Suricata. This is not the same as a restart, thus the rules are in memory and can be matched up against the Suppress List when it loads as part of the "live rule swap". Restarting the service, however, does trigger the bug when Delayed-Detect is enabled.
I've done two things to address this in the upcoming release. First, I back-ported a patch from 1.4.7 to the 1.4.6 version used on FreeBSD that makes sure the Suppress List is loaded after the rules have been processed. Second, I added a checkbox on the INTERFACES tab to allow the Delayed-Detect feature to be manually enabled or disabled by the user. It will default to disabled.
Bill