Snort 2.9.4.1 pkg v.2.5.8
-
If I load some ET rules + IPS Security, Snort is using +2 GB RAM on my system with AC as memory performance option. So it could be that your system is running out of memory. Either for Snort process or PHP possibly.
-
I run AC-Sparsebands. Try that and see if it makes a difference.
-
In my case it doesn't matter how much memory Snort uses, I just thought of mentioning it to remind that Snort is a resource hog with a lot of rules loaded up. My box has 8 GB RAM and I run AMD64 version of Snort, so memory usage isn't really a problem :)
-
Thanks for all of the hard work on this. I just updated today. All went well so far and i am loving the new features! Just gotta wait and see if auto updates run ok. ;)
-
I have 2 GB Ram on a 32bit system. I have 1 snort sensor and Dashboard says that I use 67% Ram. I tested on a VM and upped it to 4 GB of Ram. Dashboard says 49% of Ram used, but I get the same crash report.
Sorry to continue with questions, but I need one more answered to help me reproduce. Besides the Snort VRT rules, what others are you running?
Emerging Threats (if yes, how many categories are selected)?
Snort GPLv2 Community Rules?
I will send you a PM with my e-mail address, and if you don't mind I would like for you to send me a copy of your config.xml (or at least the sections for Snort). I want to reproduce your setup and see if I can force the same problem.
Bill
-
[02-Jun-2013 11:33:13 Europe/Amsterdam] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 12488260 bytes) in /usr/local/www/csrf/csrf-magic.php on line 157
This is related to a 128Mb php memory limit set on conf files.
In some packages I use this code to set a larger memory limit.
$uname=posix_uname(); if ($uname['machine']=='amd64') ini_set('memory_limit', '250M');
-
@jflsakfja:
Only security gives me the blank page, as previously stated. I'm using iceweasel (for all intents and purposes it's identical to firefox).
/usr/pbi/snort_i386/etc/snort/snort_xxxx_em1/snort.rules does not exist
/usr/local/etc/snort/snort_7104_em1/rules/snort.rules on the other hand exists and contains:
#some comments
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"EXPLOIT-KIT Nuclear exploit kit Spoofed Host Header .com- requests"; flow:to_server,established; content:".com-"; http_header; pcre:"/\r\nHost\x3a\x20[a-z0-9\x2d\x2e]+.com\x2d[a-z0-9\x2d\x2e]+(\x3a\d{1,5})?\r\n/Hi"; content:"|0D 0A|Accept|3A 20|text/html, image/gif, image/jpeg, *|3B| q=.2, /|3B| q=.2|0D 0A|"; fast_pattern:only; http_header; metadata:impact_flag red, policy balanced-ips drop, policy security-ips drop, ruleset community, service http; classtype:trojan-activity; sid:26562; rev:1;)
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"MALWARE-CNC Harakit botnet traffic"; flow:to_server,established; urilen:10; content:"sousi.extasix.com|0D 0A|"; fast_pattern:only; http_header; content:"/genst.htm"; http_uri; metadata:impact_flag red, policy balanced-ips drop, policy security-ips drop, ruleset community, service http; reference:url,www.symantec.com/security_response/attacksignatures/detail.jsp?asid=23239; reference:url,www.virustotal.com/en/file/3df72fe102fddc74de2da518ea16948bd2c8c0e910c28c4358367e10723ba21f/analysis/; classtype:trojan-activity; sid:26563; rev:1;)
and so on and so forth…
As you can see it shows security-ips. It's not that security is not used, it's just not displayed properly. As I said above it was working fine just before the update, updated and now both systems show that behaviour (security selected, enabled,used, but rule edit page is completely blank). Is that the only file that gets parsed to display the results on the IPS Policy Security rule edit page (the one that comes up blank)?
I can't remember if system B (slave) displayed this behaviour before the first post-update sync. But system B definitely shows blank page now, maybe something got messed up on system A (master) and got replicated to B.Same question for you as for gogol:
How much RAM is installed in your firewall and are you running 32-bit or 64-bit pfSense?
Can you list for me the exact sequence of steps you go through to get the blank page? Where do you click and in what order? I want to try and reproduce this by configuring a VM with the same specs and then duplicating your steps precisely.
Oh, and the "xxxx" in my previous post was referring to that "7104" number. That is an unique identifier (UUID) generated by the system for each configured Snort interface. Each one will be different, hence I just said "xxxx" in my post.
Bill
Please re-read my post. /usr/pbi/snort_i386/ is miles away from /usr/local/etc/snort. UUID has nothing to do with it.
I'm running 2GB of RAM in a 32 bit pfsense. Just selecting Security shows the blank page. Running GPLv2 rules (ALL), emerging threats (ALL) and VRT rules (guessed it right, ALL). AC-BNFA. I have never run out of memory during all the previous years running this setup,as previously mentioned RAM usage never goes above 40% and that's on the days that clients are downloading, webservers get hammered and so on and so forth (WORST CASE SCENARIO), so it's not the memory that's the problem. The problem lies within a change introduced in the last package version.
Not meaning to sound rude or anything, but once it happens, twice is a coincidence, third time something's wrong.Install a 32 bit pfsense in a vm, install snort package and select everything I mentioned above. I bet you'll get the blank page.
-
Another user in the thread topic you linked was also having a problem with a newer Intel NIC (using the fxp0) driver.
He swapped out his card and his problems also went away.Unless something changed very recently, the fxp(4) FreeBSD driver is used for ancient (mid-1990s) 100Mbps Intel NICs.
For best results it is recommended to use relatively recent (less than 10 years old) Intel GbE NICs such as those supported by the em(4) driver, and IMHO avoid wasting developers' time troubleshooting 20 year old hardware …
PS: bmeeks keep up your fine work !!!
I wonder why my 82574L Intel NIC doesn't work and an old Realtek 8139 does with Snort version 2.5.8. Anyway I am going to replace the Realtek NIC with an Intel Pro 1000 GT card. Let us see what happens then.
-
I have it running no issues in a VM using E1000 driver on Dual port Intel Server NIC's.
-
I have it running no issues in a VM using E1000 driver on Dual port Intel Server NIC's.
Even on a VM on a MAC with the em0 driver I have the same issues (alert -> check_reload_status -> high cpu -> filter reset). Still wondering ;)
-
@jflsakfja:
Please re-read my post. /usr/pbi/snort_i386/ is miles away from /usr/local/etc/snort. UUID has nothing to do with it.
I'm running 2GB of RAM in a 32 bit pfsense. Just selecting Security shows the blank page. Running GPLv2 rules (ALL), emerging threats (ALL) and VRT rules (guessed it right, ALL). AC-BNFA. I have never run out of memory during all the previous years running this setup,as previously mentioned RAM usage never goes above 40% and that's on the days that clients are downloading, webservers get hammered and so on and so forth (WORST CASE SCENARIO), so it's not the memory that's the problem. The problem lies within a change introduced in the last package version.
Not meaning to sound rude or anything, but once it happens, twice is a coincidence, third time something's wrong.Install a 32 bit pfsense in a vm, install snort package and select everything I mentioned above. I bet you'll get the blank page.
Sorry about giving you the wrong path. I am confusing different users' environments. Hard to keep the posts with similar problems separated sometimes. From your path, you are on 2.0.x and not 2.1. Users on 2.1 will have the /usr/pbi/ path. Both paths will have a UUID as part of the snort interface sub-directory name.
I am testing this scenario.
Bill
-
Yea, I publicly apologize for not providing more specific info. I'm running 2.0.3 (latest stable?), 32 bit, 2GB RAM, 3.4HT p4 cpu, supermicro p4sci motherboard (2 onboard intel nics) and a pci-x dual intel card. Install is on a gmirror with 2 40GB sata drives running off the board. Don't forget that there are 2 systems arranged in a CARP cluster. Running AC-BNFA.
If you need more info please let me know. I'm not able to access the systems for a couple of days (out of town) but I'll try my best to answer from memory. As far I can say it's not that it's running out of memory, it's not reading/parsing a file needed for the rule edit page, hence the blank page. There are no out of memory errors or cannot access file or anything, on my installs, just the blank security page. I can verify this by looking at the various logs. I'll repeat myself, balanced works ok, other edit pages work ok (GPL, all ET categories) and I can disable/enable rules, but when security is selected the page is blank. I can still edit GPL and all ET categories, just not IPS Policy Security.
The same problem is replicated to the slave/backup system. -
@jflsakfja:
Yea, I publicly apologize for not providing more specific info. I'm running 2.0.3 (latest stable?), 32 bit, 2GB RAM, 3.4HT p4 cpu, supermicro p4sci motherboard (2 onboard intel nics) and a pci-x dual intel card. Install is on a gmirror with 2 40GB sata drives running off the board. Don't forget that there are 2 systems arranged in a CARP cluster. Running AC-BNFA.
If you need more info please let me know. I'm not able to access the systems for a couple of days (out of town) but I'll try my best to answer from memory. As far I can say it's not that it's running out of memory, it's not reading/parsing a file needed for the rule edit page, hence the blank page. There are no out of memory errors or cannot access file or anything, on my installs, just the blank security page. I can verify this by looking at the various logs. I'll repeat myself, balanced works ok, other edit pages work ok (GPL, all ET categories) and I can disable/enable rules, but when security is selected the page is blank. I can still edit GPL and all ET categories, just not IPS Policy Security.
The same problem is replicated to the slave/backup system.I was able to reliably reproduce the problem. It is caused by the way a global array was being "released" in the new code. In an attempt to use less memory overall, the 2.5.8 package was tweaked so that an initial list of all the rules was loaded once as a global array and then used several times during the enforcing rules building process. This same trick is also a part of the IPS Policy rule selection. Ironically, the new "optimization" was the cause of the memory problem. The new code was not properly releasing this global array when it was finished with it. Thus the PHP process itself would run up against the default 128 MB limit set in the php.ini file on pfSense and crash. This caused the blank page. Bumping that value up to 250 MB as marcelloc suggested was a workaround, but it did not really get at the root of the problem. I tried his suggestion first in testing and it worked, but then some Google research turned up the proper (and not well documented, by the way) procedure for deleting or releasing global variables. Instead of unset($my_var), you must use unset($GLOBALS['my_var']).
The problem is not running out of RAM on the firewall itself, but rather the PHP process that is running the current web page you are viewing runs up against the 128 MB process limit set for an individual PHP process. Once that happens, HTML page construction stops and you get the blank page. You should be able to look in /tmp/PHP_errors.log and see messages in that file about PHP not being able to allocate additional memory.
After making the change for releasing global variables, I no longer get the blank page even when leaving the PHP process memory limit at the default of 128 MB. I will submit a fix for this error later today for review and approval by the Core Team. Once they approve, it will be posted in the Packages repository.
To cause this problem, you have to select a large number of Rule Categories. If using just the Snort VRT policy with either none or very few ET rule categories enabled, you don't see it. It manifests itself when you really load up with all the Rule Categories as you suggested. Thanks for reporting this problem. Solving it helped me learn something new about PHP coding.. ;D
Bill
-
successfully installed snort, but to start, back the following error in system.log > "FATAL ERROR: /usr/local/etc/snort/snort_61463_msk0/snort.conf(87) Unknown config directive: enable_gtp"
tryed uncheck the option "Enable GTP Detection" in preprocessor, but dont start.
anyone experiencing this problem?
Thx
-
successfully installed snort, but to start, back the following error in system.log > "FATAL ERROR: /usr/local/etc/snort/snort_61463_msk0/snort.conf(87) Unknown config directive: enable_gtp"
tryed uncheck the option "Enable GTP Detection" in preprocessor, but dont start.
anyone experiencing this problem?
Thx
You are missing a required Preprocessor. Instead of "unchecking" the Enable GTP Detection preprocessor, "check it". In fact, you generally should enable ALL of the Preprocessors except for Sensitive Data and two SCADA ones.
This post has some general tips for getting Snort up and running. Proper matching of enabled Preprocessors and selected rules is key to getting Snort to run.
http://forum.pfsense.org/index.php/topic,61018.msg328717.html#msg328717
Bill
-
successfully installed snort, but to start, back the following error in system.log > "FATAL ERROR: /usr/local/etc/snort/snort_61463_msk0/snort.conf(87) Unknown config directive: enable_gtp"
tryed uncheck the option "Enable GTP Detection" in preprocessor, but dont start.
anyone experiencing this problem?
Thx
You are missing a required Preprocessor. Instead of "unchecking" the Enable GTP Detection preprocessor, "check it". In fact, you generally should enable ALL of the Preprocessors except for Sensitive Data and two SCADA ones.
This post has some general tips for getting Snort up and running. Proper matching of enabled Preprocessors and selected rules is key to getting Snort to run.
http://forum.pfsense.org/index.php/topic,61018.msg328717.html#msg328717
Bill
thx Bill, but I tried with the box checked and gave the same error, tried with the box unchecked and had the same error.
I read your post, very good post, the only difference is why not use snort VRT and tried to enable but I had the same error…
:(
-
thx Bill, but I tried with the box checked and gave the same error, tried with the box unchecked and had the same error.
I read your post, very good post, the only difference is why not use snort VRT and tried to enable but I had the same error…
:(
Oops…misread your original error message. It is not liking a value in the snort.conf file. I initially thought it said "rule option", but it says config directive in snort.conf. Tell me what rule categories you have enabled, and the version of pfSense. From the path given in your error message, I am guessing 2.0.3. Is it 32-bit or 64-bit?
Bill
-
thx Bill, but I tried with the box checked and gave the same error, tried with the box unchecked and had the same error.
I read your post, very good post, the only difference is why not use snort VRT and tried to enable but I had the same error…
:(
Oops…misread your original error message. It is not liking a value in the snort.conf file. I initially thought it said "rule option", but it says config directive in snort.conf. Tell me what rule categories you have enabled, and the version of pfSense. From the path given in your error message, I am guessing 2.0.3. Is it 32-bit or 64-bit?
Bill
Yes, my version is pfsense 2.0.3 64-bit.
My rules catagories :
snort_botnet-cnc.rules
snort_ddos.rules
snort_scan.rules
snort_virus.rulesother testes:
-Checked only snort_ddos.rules in rules catagories
-tested too with "Use IPS Policy" checked box and "IPS Policy" checkedBut same erro
-
Yes, my version is pfsense 2.0.3 64-bit.
Would you mind posting the contents of /usr/local/etc/snort/snort_61463_msk0/snort.conf for me? You can obscure IP addresses in it if you wish. I am thus far unable to replicate this problem, so I need a look at your snort.conf file.
Thanks,
Bill -
Hey Bill,
thanks for this great package!
The alert tab in this version overlaps the IPv6 addresses over columns.
The fix for this is now posted. The Snort Package version number was not incremented, but you can pick up the fix by simply reinstalling the GUI components. Go to System…Packages and then the Installed Packages tab. Click the XML icon next to Snort to reinstall the GUI files. That should do it.
Bill