Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Snort Updated to 2.7

    Scheduled Pinned Locked Moved pfSense Packages
    65 Posts 17 Posters 48.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • AhnHELA
      AhnHEL
      last edited by

      Watched a blocked IP and noticed it was removed after around 87 minutes.  Performed a second test and this one went beyond 115 minutes before I gave up on babysitting the GUI so I can confirm your experiences Shaddow501.  One thing I noticed while tinkering around with this is that "top" doesnt show snort2c running when an IP is blocked.  I can verify that the IP is in fact blocked so I can only assume snort2c is doing its job but strange that I dont see it running when I know I've seen snort2c by running Top in the past.

      AhnHEL (Angel)

      1 Reply Last reply Reply Quote 0
      • S
        shaddow501
        last edited by

        Hi OnHel

        Well i do think that the reason because snort crash (i do see strange line in my log that refer to snort exited core dump , well something like that, i do thing it isnt a very stable release, any way i am working on snort.inc file to see if by removing some items it will make snort work better…  (like the SMTP check that i have added and FTP processor that i have added, so far i have removed the SMTP and will try to check it for a few days to see if it will make the release more stale.
        if you would like to "play" also with the file then it is located at /usr/local/pkg/snort.inc (just use edit file in snort gui)

        also i did modification in cron that will remove the blocked ip after 10 min, and i guess it does work...

        1 Reply Last reply Reply Quote 0
        • S
          shaddow501
          last edited by

          Hi Guys

          I have started to work with snort version-2.8.0.1, since I didnt like much the 2.7.0.1, i have made a new package based on the snort 2.7.0.1 but with files of the new last version i mention above.
          In the terminal ssh software i just pkg_delete the old version and did pkg_add to my version.

          the new version seem to work so far, but i still not have much information of how stable it is.
          It also require a change in the snort.inc file.

          anyone that wish to try it may contact me

          1 Reply Last reply Reply Quote 0
          • T
            trendchiller
            last edited by

            Perhaps give scott a link if it runs fine ;-)

            1 Reply Last reply Reply Quote 0
            • AhnHELA
              AhnHEL
              last edited by

              Shaddow501, I've been studying the snort.inc file, and trust me I'm not in your league at all in understanding it, nor would I have been able to fix it the way you did previously when the preprocessors were causing Snort to crash.

              But I did notice that some alerts werent properly being set off.  For instance, ICMP pings to my WAN IP werent setting off a Snort Alert even though I have the same ICMP rules enabled as I did with 2.6

              Then I noticed that you had the preprocessor flow enabled in the snort.inc file.  According to this site http://cvs.snort.org/viewcvs.cgi/snort/doc/README.stream5?rev=1.2

              The Stream5 preprocessor is a target-based TCP reassembly module
              for Snort.  It is intended to replace both the stream4 and flow
              preprocessors, and it is capable of tracking sessions for both
              TCP and UDP.  With Stream5, the rule 'flow' and 'flowbits' keywords
              are usable with TCP as well as UDP traffic.

              Since Stream5 replaces stream4, both cannot be used simultaneously.
              Remove the stream4 and flow configurations from snort.conf when the
              stream5 configuration is added.

              I commented out the flow preprocessor and I'm now seeing ICMP ping alerts again.

              AhnHEL (Angel)

              1 Reply Last reply Reply Quote 0
              • S
                shaddow501
                last edited by

                Hi OnHeL

                Well you are right, with the last version of snort 2.8.0.1 i did disable the flow preprocessor, i did compile the 2.8.0.1 that will also support stream4udp packets so it does work with both stream5 and stream4 configuration (but will not work together, you must select if you want to use stram4 or stream5 option)

                With the both versions (2.7.0.1 & 2.8.0.1) i still have a problem after some time  (could be hours and could be minutes) snort exit with this message:
                " (snort), uid 0: exited on signal 11 (core dumped)"  I havent got any clue what could cause it and looking into web (google and such) didnt resolved much information…

                I am curious if it is just me that get this error or some of you do get it as well, if someone have got any clue how to debug it and  see what cause this fault i could have a bit more progress, but as for now i am kinda stuck with lack of information.

                I did try snort with almost all the working methods but again i do get the message and snort stop doing what it should be doing (blocking :))

                anyone?

                1 Reply Last reply Reply Quote 0
                • C
                  chazers18
                  last edited by

                  i have a Similar problem that some of the others are having with Snort

                  version of PFsense

                  1.2-RC2
                  built on Fri Aug 17 17:46:06 EDT 2007

                  Some of the goofy errors that i am getting with snort

                  Dec 19 07:54:49 SnortStartup[63790]: Ram free BEFORE starting Snort: 73M – Ram free AFTER starting Snort: 73M -- Mode ac-std -- Snort memory usage:
                  Dec 19 07:54:43 kernel: xl0: promiscuous mode disabled
                  Dec 19 07:54:32 snort[63624]: Daemon parent exiting
                  Dec 19 07:54:32 snort[63624]: Daemon parent exiting
                  Dec 19 07:54:32 snort[63638]: Daemon initialized, signaled parent pid: 63624
                  Dec 19 07:54:32 snort[63638]: Daemon initialized, signaled parent pid: 63624
                  Dec 19 07:54:32 snort[63638]: Writing PID "63638" to file "/var/run//snort_xl0.pid"
                  Dec 19 07:54:32 snort[63638]: Writing PID "63638" to file "/var/run//snort_xl0.pid"
                  Dec 19 07:54:32 snort[63638]: PID path stat checked out ok, PID path set to /var/run/
                  Dec 19 07:54:32 snort[63638]: PID path stat checked out ok, PID path set to /var/run/
                  Dec 19 07:54:32 kernel: xl0: promiscuous mode enabled
                  Dec 19 07:54:32 snort[63624]: Initializing daemon mode
                  Dec 19 07:54:32 snort[63624]: Initializing daemon mode
                  Dec 19 07:54:32 kernel: xl0: promiscuous mode disabled
                  Dec 19 07:54:32 kernel: xl0: promiscuous mode enabled

                  also  it does not stop any thing or set off any alerts i am just useing default rules pulled in from snort. let me know what you are all thinking.

                  Thanks

                  1 Reply Last reply Reply Quote 0
                  • AhnHELA
                    AhnHEL
                    last edited by

                    Shaddow501

                    http://forum.pfsense.org/index.php/topic,2624.15.html

                    In the above thread, PC_Arcade was having that exact problem.  Personally I'm not experiencing this error at all.  Sending you a PM

                    Chazers18:

                    You're running Snort on your LAN interface, should be your WAN.  Go to Services/Snort/Settings, reselect WAN interface and then hit Save.  Sometimes deleting any currently blocked IPs and making sure the Snort logs are cleared and then going to the Categories tab and hitting Save again will stop this error and give you a successful initialization.  Read this entire thread and you'll see information on setting up Snort to use ac-bnfa mode, this is highly recommended.

                    AhnHEL (Angel)

                    1 Reply Last reply Reply Quote 0
                    • C
                      chazers18
                      last edited by

                      the funny thing is… that is not my lan. well atleast via the GUi i didnt select the lan i did both wans and then just one wan and that is what happpens the premicous starts and then after a while it kicks out.

                      this is a production device and i am gun shy on hacking the xml backup i will give it a shot and let you know what happens.

                      1 Reply Last reply Reply Quote 0
                      • AhnHELA
                        AhnHEL
                        last edited by

                        For some reason, when you select WAN, Snort tries to start on another interface.  Sometimes its necessary to hit Save twice on the Settings tab to make it stick.  Where it says in your logs:

                        Dec 19 07:54:32    snort[63638]: Writing PID "63638" to file "/var/run//snort_xl0.pid"
                        Dec 19 07:54:32    snort[63638]: Writing PID "63638" to file "/var/run//snort_xl0.pid"

                        It shouldnt say snort_xl0.pid.  It should say snort_(WAN interface name).pid

                        As of right now until the package is updated, its going to be necessary to edit /usr/local/pkg/snort.inc and commenting out the following line so Snort can work properly with certain rules.:

                        #Flow and stream
                        preprocessor flow: stats_interval 0 hash 2

                        Comment the above line out with a # before the word "preprocessor"

                        AhnHEL (Angel)

                        1 Reply Last reply Reply Quote 0
                        • M
                          morbus
                          last edited by

                          It shouldnt say snort_xl0.pid.  It should say snort_(WAN interface name).pid

                          That is exactly what it should say (assuming xl0 is your wan interface) I guess chazers18 is using 3com nics or something that uses the xl driver

                          Comment the above line out with a # before the word "preprocessor"

                          I don't see any reason why you can't use stream5 and flow on the same snort. Snort won't normally trigger for every ICMP packet it receives unless you add a rule for that eg```
                          alert icmp any any -> any any (msg:"ICMP test"; sid:1000005;)

                          1 Reply Last reply Reply Quote 0
                          • S
                            shaddow501
                            last edited by

                            Hello morbus

                            Well you are right the snort version 2.7.0.1 will work also with that line and will detect ICMP, also when using stream5.

                            But !!! in snort version 2.8.0.1 that i have created and implemented this package on my pfsense box (currently just testing its reliability) you will nor able to use the flow anymore when you use stream5 so you  will need to disable that line if you want that snort will work " preprocessor flow: stats_interval 0 hash 2"

                            are there others that would like to be testing the snort-2.8.0.1.tbz that i have compiled ?
                            i have compiled it so it will able to use stream4udp, and currently i am checking it with stream4, but i am one tester and i dont know how it will affect on others.

                            also i did some modifications in the last snort.inc file that i have created before…

                            currently the only problem that i have had with it and with the older version is that line " (snort), uid 0: exited on signal 11 (core dumped)"

                            so other didnt report that thay had this error, so maybe it is just my machine that doing something wrong.

                            1 Reply Last reply Reply Quote 0
                            • AhnHELA
                              AhnHEL
                              last edited by

                              @morbus:

                              It shouldnt say snort_xl0.pid.  It should say snort_(WAN interface name).pid

                              That is exactly what it should say (assuming xl0 is your wan interface) I guess chazers18 is using 3com nics or something that uses the xl driver

                              Comment the above line out with a # before the word "preprocessor"

                              I don't see any reason why you can't use stream5 and flow on the same snort. Snort won't normally trigger for every ICMP packet it receives unless you add a rule for that

                              xl0 would be his LAN interface would it not and his WAN would be xl1?  Common bug in Snort not using the correct interface with multiple posts here in pfSense documenting it and his exact error

                              A google search of stream5 gives numerous hits on disabling both stream4 AND flow when using stream5 ever since Stream5 was introduced with 2.7. I'm definitely seeing an improvement in rules detection/alerts (not just ICMP) since disabling flow

                              AhnHEL (Angel)

                              1 Reply Last reply Reply Quote 0
                              • M
                                morbus
                                last edited by

                                xl0 would be his LAN interface would it not and his WAN would be xl1?  Common bug in Snort not using the correct interface with multiple posts here in pfSense documenting it and his exact error

                                The WAN interface is only a name assigned in the webGUI to a network device. You can assign any nic in your system as WAN and you can also run snort on the lan if you wanted to detect threats from that side. I have Snort running on my WAN interface and that is bound to my xl0 interface. If you go to interfaces ->assign you will find you can bind any nic to any name

                                1 Reply Last reply Reply Quote 0
                                • C
                                  chazers18
                                  last edited by

                                  so let me get this straight

                                  uninstall snort…

                                  any way thats what i did yesterday i dont need it bringing my company down to a halt.

                                  so xl0 is the lan interface and yes 3coms are what are in my machine.

                                  i will try the install again and see what happens when i kick out some lines of code.

                                  did the reinstall and the edit to the files and here is what i get when i fire this pig up
                                  Dec 20 08:07:39 snort[15138]: FATAL ERROR: Failed to Lock PID File "/var/run//snort_xl1.pid" for PID "15138"
                                  Dec 20 08:07:39 snort[15138]: FATAL ERROR: Failed to Lock PID File "/var/run//snort_xl1.pid" for PID "15138"

                                  that is with only one interface started
                                  Dec 20 08:09:44 snort[15802]: Child exited unexpectedly
                                  Dec 20 08:09:44 snort[15802]: Child exited unexpectedly
                                  Dec 20 08:09:43 snort[15865]: FATAL ERROR: Failed to Lock PID File "/var/run//snort_xl2.pid" for PID "15865"
                                  Dec 20 08:09:43 snort[15865]: FATAL ERROR: Failed to Lock PID File "/var/run//snort_xl2.pid" for PID "15865"
                                  Dec 20 08:09:43 snort[15865]: PID path stat checked out ok, PID path set to /var/run/
                                  Dec 20 08:09:43 snort[15865]: PID path stat checked out ok, PID path set to /var/run/

                                  this is my other wan when just selected the thing.

                                  personally screw snort and the pig…

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    morbus
                                    last edited by

                                    so xl0 is the lan interface

                                    It depends xl0 is the interface name for the freeBSD part of pf in the webGUI you can assign any interface to any interface name in pf ie xl0 can be LAN, WAN, OPT1 or any other name you want.

                                    the same applies to xl1 xl2 xl…...  fxp0 em0, you get the idea

                                    In pf you have to have one interface assigned to LAN and one to WAN but after that it is up to you

                                    1 Reply Last reply Reply Quote 0
                                    • AhnHELA
                                      AhnHEL
                                      last edited by

                                      @shaddow501:

                                      With the both versions (2.7.0.1 & 2.8.0.1) i still have a problem after some time  (could be hours and could be minutes) snort exit with this message:
                                      " (snort), uid 0: exited on signal 11 (core dumped)"  I havent got any clue what could cause it and looking into web (google and such) didnt resolved much information…

                                      Just to keep everyone posted, Shaddow501 has gotten this problem resolved and has a stable, running Snort 2.8 on his system as well as mine.  Seems Sullrich is understandably very busy putting the finishing touches on the 1.2 Release so he cant assist in the package creation which to a FreeBSD noob is extremely daunting.  Any other takers out there who are familiar in packaging?

                                      AhnHEL (Angel)

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        shaddow501
                                        last edited by

                                        Hello

                                        As OnHel said
                                        we both have snort version 2.8.0.1 working stable and the new version have fixed some errors.

                                        I have added 2 files snort.inc that also works with 2.8.0.1 and 2.7.0.1 versions.

                                        and also added snort.xml that also give the users option to select ac-bnfa mode in snort.
                                        i must say though that the ac-bnfa option in the snort.xml file i got from OnHel.

                                        have a nice day.

                                        snort.inc.txt
                                        snort.xml.txt

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          David_W
                                          last edited by

                                          onhel was asking for help. What sort of help do you need?

                                          If you have got Snort 2.8.0.1 building correctly as a FreeBSD port - that is, you've updated the security/snort port to 2.8.0.1 and have managed to build a FreeBSD package that works correctly - you should seriously consider submitting a FreeBSD PR to bring the port up to date.

                                          To give you an idea of what this looks like, the PR with the 2.7.0.1 update is here. You can submit PRs on the web - you don't have to use the send-pr tool.

                                          David

                                          1 Reply Last reply Reply Quote 0
                                          • AhnHELA
                                            AhnHEL
                                            last edited by

                                            We dont have a package at all, which is what we need done.  The 2.7 package was modified by Shaddow501 to use 2.8 files.  While this isnt the obvious upgrade method, it allowed the testing of 2.8 to see what changes in the config file were necessary.  There are some serious flaws with the snort.inc file that comes with the pfSense 2.7 package.  These flaws have been worked out and as of now is very stable.  All we need is someone who is fluent in FreeBSD and package creation to properly package the 2.8 port and then use the snort.inc file that Shaddow501 has tweaked.

                                            AhnHEL (Angel)

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.