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

    Suricata/Snort master SID disablesid.conf

    Scheduled Pinned Locked Moved IDS/IPS
    96 Posts 38 Posters 105.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.
    • panzP
      panz
      last edited by

      @bmeeks:

      […] So look on the ALERTS tab and see what destination IP is associated with those fragmentation overlap alerts.  Create the new Frag3 engine configuration using that IP subnet (or single address) where you have been seeing the blocks inserted.

      Bill,

      The destination IP is always my WAN address (I'm on a ADSL line, so it changes sometimes). Inserting this address seems to me like disabling the Frag3 engine…

      I thought I had to build the Alias inserting the Source: the Source is always an AirVPN exit node IP address and I have a full list of them.

      pfSense 2.3.2-RELEASE-p1 (amd64)
      motherboard: MSI C847MS-E33 Micro ATX (with Intel Celeron CPU 847 @ 1.10 GHz) ~ PSU: Corsair VS350 ~ RAM: Kingston KVR1333D3E9S 4096 MB 240-pin DIMM DDR3 SDRAM 1.5 volt ~ NIC: Intel EXPI9301CTBLK (LAN) ~ NIC: D-Link DFE-528TX (CAM) ~ Hard Disk: Western Digital WD10JFCX Red ~ Case: Cooler Master HAF XB ~ power consumption: 21 Watts.

      1 Reply Last reply Reply Quote 0
      • bmeeksB
        bmeeks
        last edited by

        @panz:

        @bmeeks:

        […] So look on the ALERTS tab and see what destination IP is associated with those fragmentation overlap alerts.  Create the new Frag3 engine configuration using that IP subnet (or single address) where you have been seeing the blocks inserted.

        Bill,

        The destination IP is always my WAN address (I'm on a ADSL line, so it changes sometimes). Inserting this address seems to me like disabling the Frag3 engine…

        I thought I had to build the Alias inserting the Source: the Source is always an AirVPN exit node IP address and I have a full list of them.

        It's the nature of how the target-configurable engines work within Snort.  They are designed mainly for customizing the protection of public-facing servers, and thus key off the destination IP for inbound packets.  You can try setting up one using an Alias targeted to your AirVPN exit node addresses.  For that particular Frag3 setup, uncheck the "detect anomalies" checkbox and see if the alerts stop.

        In your case, are you getting Alerts on the inbound VPN packets (from your WAN back into the LAN), or on your outbound VPN packets (from the LAN out to the WAN)?  If the former, then the "destination" is most likely your AirVPN node and thus the customized Frag3 engine approach should work for you.

        Bill

        1 Reply Last reply Reply Quote 0
        • panzP
          panz
          last edited by

          @bmeeks:

          In your case, are you getting Alerts on the inbound VPN packets (from your WAN back into the LAN), or on your outbound VPN packets (from the LAN out to the WAN)?  If the former, then the "destination" is most likely your AirVPN node and thus the customized Frag3 engine approach should work for you.

          I'm getting the alerts with Source: the AirVPN exit node and Destination: the IP Address of my WAN interface.

          pfSense 2.3.2-RELEASE-p1 (amd64)
          motherboard: MSI C847MS-E33 Micro ATX (with Intel Celeron CPU 847 @ 1.10 GHz) ~ PSU: Corsair VS350 ~ RAM: Kingston KVR1333D3E9S 4096 MB 240-pin DIMM DDR3 SDRAM 1.5 volt ~ NIC: Intel EXPI9301CTBLK (LAN) ~ NIC: D-Link DFE-528TX (CAM) ~ Hard Disk: Western Digital WD10JFCX Red ~ Case: Cooler Master HAF XB ~ power consumption: 21 Watts.

          1 Reply Last reply Reply Quote 0
          • L
            lobotiger
            last edited by

            I'm just getting into playing with snort and this was an interesting thread.  :)  I have a question and I don't know if it's dumb to ask or not but….when you suppress a rule does that mean that further triggers of that rule will no longer be visible?  I know most of the ones in the lists here are false positives but what about if it's a real intrusion?  I guess another question is, if all of these generate so many false positives, why are they including in the rule sets to begin with?  Shouldn't the owners of those updates just remove them since everyone else seems to be doing so?

            LoboTiger

            1 Reply Last reply Reply Quote 0
            • bmeeksB
              bmeeks
              last edited by

              @lobotiger:

              I'm just getting into playing with snort and this was an interesting thread.  :)  I have a question and I don't know if it's dumb to ask or not but….when you suppress a rule does that mean that further triggers of that rule will no longer be visible?  I know most of the ones in the lists here are false positives but what about if it's a real intrusion?  I guess another question is, if all of these generate so many false positives, why are they including in the rule sets to begin with?  Shouldn't the owners of those updates just remove them since everyone else seems to be doing so?

              LoboTiger

              The answer to your first question is "yes, when suppressed you no longer get alerts from the rule or preprocessor".  So be sure it really is a false positive before you routinely suppress an alert.

              As for your second question, you have hit upon something that puzzles me as well.  The problem is caused, I believe, by the fact many software packages (servers and clients) do not follow all the various RFC standards to the letter.  Some deviations are due to mistakes or alternate interpretations of the RFC, and some may just be certain vendors trying to "one up or be one better" than their competition by "tweaking" how their software complies with an RFC.  No matter which is the true cause, the result is software than can generate false positives because Snort (and Suricata as well) inspect traffic according to the RFCs (well, most of the time).  There are also bugs from time to time in the detection code for Snort and Suricata.  For example, Snort today has a problem with parts of the SSL handshake (it loses track of the stream and sees client and server HELO messages out of order and then generates an alert).  The Snort VRT is working on fixing this bug.

              Bill

              1 Reply Last reply Reply Quote 0
              • L
                lobotiger
                last edited by

                Cool, thanks for the answers Bill.

                LoboTiger

                1 Reply Last reply Reply Quote 0
                • R
                  rcampbell
                  last edited by

                  I share the same concern as lobotiger and I want to try and understand the logic of a master supress list and whether it is good idea to use such a list.

                  I'll take one example from the list as posted, this is the first one with a description so I'll use this:

                  #(http_inspect) DOUBLE DECODING ATTACK
                  suppress gen_id 119, sig_id 2

                  Lets assume a 'Double Decoding Attack' is bad and you would want to block that type of traffic.  Lets assume you go to a trusted website and it is blocked by this rule… i.e. a false positive.  Doesn't it make sense to only supress the rule for that specific IP address only?  Why supress the rule as it is listed with no specific IP?  Am I correct in thinking the rule is now supressed for all IP's?  Isn't that a bad thing in the sense that you would now never detect any Double Decoding Attack from any source?

                  Can anyone please clarify?

                  1 Reply Last reply Reply Quote 0
                  • BBcan177B
                    BBcan177 Moderator
                    last edited by

                    The general consensus is to Disable (false positive) rules before adding suppression for False Positives. However, as you said, if the Alert is only generated from a few IPs than its best to use suppression for those particular IPs only.

                    What you don't want to do is add a suppression without the "track_by src/dst" in the suppression. So in these cases, using suppression is wasting processing power and its best to disable the rule.

                    As Bill Meeks stated above, some alerts are false positive due to non-compliance to RFCs etc.

                    For Alerts like HTTP Inspect, you can look at the HTTP Pre-Processor to see if you can tune it to your setup to avoid these false positives.

                    Some Alerts can't be disabled by the Rules and the Pre-Processors might not be configurable via the GUI, so for a few alerts, you might need to use Suppression. I believe that with each version of Snort, more of the Pre-Processors are being added, so we have more buttons to play with to help tune it. For Suricata, it has a "Wan App Parser" which you could take a look at or for Stream Alerts, the "Wan Flow/Stream".

                    These are Threads in the forum for what people are using as a Baseline for Disabling Rules.

                    https://forum.pfsense.org/index.php?topic=78062.0
                    https://forum.pfsense.org/index.php?topic=64674.0

                    "Experience is something you don't get until just after you need it."

                    Website: http://pfBlockerNG.com
                    Twitter: @BBcan177  #pfBlockerNG
                    Reddit: https://www.reddit.com/r/pfBlockerNG/new/

                    1 Reply Last reply Reply Quote 1
                    • panzP
                      panz
                      last edited by

                      I had this problem and tuning didn't solve anything; I had to disable the detection :(

                      https://forum.pfsense.org/index.php?topic=80068.msg436866#msg436866

                      pfSense 2.3.2-RELEASE-p1 (amd64)
                      motherboard: MSI C847MS-E33 Micro ATX (with Intel Celeron CPU 847 @ 1.10 GHz) ~ PSU: Corsair VS350 ~ RAM: Kingston KVR1333D3E9S 4096 MB 240-pin DIMM DDR3 SDRAM 1.5 volt ~ NIC: Intel EXPI9301CTBLK (LAN) ~ NIC: D-Link DFE-528TX (CAM) ~ Hard Disk: Western Digital WD10JFCX Red ~ Case: Cooler Master HAF XB ~ power consumption: 21 Watts.

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

                        I suggest if you're getting too many false positives and at a loss for how to configure around them, try this:

                        
                        event_filter gen_id 0, sig_id 0, type both, track by_src, count 10, seconds 600
                        
                        

                        This will filter events such that only offending IPs which create more than 10 events in 10 minutes will be blocked –- this seriously helps out when packets are fragmented oddly or a server just responds weirdly once in a while. You may change "count 10" and "seconds 600" to make it less restrictive or more restrictive.

                        1 Reply Last reply Reply Quote 0
                        • panzP
                          panz
                          last edited by

                          @Thrae:

                          I suggest if you're getting too many false positives and at a loss for how to configure around them, try this:

                          
                          event_filter gen_id 0, sig_id 0, type both, track by_src, count 10, seconds 600
                          
                          

                          This will filter events such that only offending IPs which create more than 10 events in 10 minutes will be blocked –- this seriously helps out when packets are fragmented oddly or a server just responds weirdly once in a while. You may change "count 10" and "seconds 600" to make it less restrictive or more restrictive.

                          How do I apply this method?

                          pfSense 2.3.2-RELEASE-p1 (amd64)
                          motherboard: MSI C847MS-E33 Micro ATX (with Intel Celeron CPU 847 @ 1.10 GHz) ~ PSU: Corsair VS350 ~ RAM: Kingston KVR1333D3E9S 4096 MB 240-pin DIMM DDR3 SDRAM 1.5 volt ~ NIC: Intel EXPI9301CTBLK (LAN) ~ NIC: D-Link DFE-528TX (CAM) ~ Hard Disk: Western Digital WD10JFCX Red ~ Case: Cooler Master HAF XB ~ power consumption: 21 Watts.

                          1 Reply Last reply Reply Quote 0
                          • BBcan177B
                            BBcan177 Moderator
                            last edited by

                            This is added to the interface suppression list. So for a particular suppression you change the gid and sid accordingly.

                            You will need to restart the interface to allow it to be enabled.

                            http://manual.snort.org/node19.html

                            http://books.msspace.net/mirrorbooks/snortids/0596006616/snortids-CHP-9-SECT-5.html

                            "Experience is something you don't get until just after you need it."

                            Website: http://pfBlockerNG.com
                            Twitter: @BBcan177  #pfBlockerNG
                            Reddit: https://www.reddit.com/r/pfBlockerNG/new/

                            1 Reply Last reply Reply Quote 0
                            • panzP
                              panz
                              last edited by

                              So, if I'm understanding right, I have to add this line to my Suppress List (both on LAN and WAN interfaces)

                              event_filter gen_id 123, sig_id 8, type both, track by_src, count 10, seconds 600
                              

                              gen_id 123, sig_id 8 corresponds to #(spp_frag3) Fragmentation overlap

                              panz

                              pfSense 2.3.2-RELEASE-p1 (amd64)
                              motherboard: MSI C847MS-E33 Micro ATX (with Intel Celeron CPU 847 @ 1.10 GHz) ~ PSU: Corsair VS350 ~ RAM: Kingston KVR1333D3E9S 4096 MB 240-pin DIMM DDR3 SDRAM 1.5 volt ~ NIC: Intel EXPI9301CTBLK (LAN) ~ NIC: D-Link DFE-528TX (CAM) ~ Hard Disk: Western Digital WD10JFCX Red ~ Case: Cooler Master HAF XB ~ power consumption: 21 Watts.

                              1 Reply Last reply Reply Quote 0
                              • bmeeksB
                                bmeeks
                                last edited by

                                @panz:

                                So, if I'm understanding right, I have to add this line to my Suppress List (both on LAN and WAN interfaces)

                                event_filter gen_id 123, sig_id 8, type both, track by_src, count 10, seconds 600
                                

                                gen_id 123, sig_id 8 corresponds to #(spp_frag3) Fragmentation overlap

                                panz

                                Yes, that's correct.  Open the Suppress List in edit mode and paste in the line.  Save the list and then restart the affected Snort interface.  Make sure that the Suppress List you edit is the one currently used by the interface.  You can check this on the INTERFACE SETTINGS tab for the interface.

                                Bill

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

                                  Note that:

                                  
                                  event_filter gen_id 0, sig_id 0, type both, track by_src, count 10, seconds 600
                                  
                                  

                                  Will specifically filter ALL events to 10 per 10 minutes, a quick-and-dirty way to stop massive false-positives while still providing some protection. What I've been doing recently is slowly lowering the count –- now at 3 --- while making different event_filter rules for specific flowbits. Example:

                                  
                                  event_filter gen_id 0, sig_id 0, type both, track by_src, count 3, seconds 600
                                  
                                  ## False Positives ##
                                  ; (spp_sdf) SDF Combination Alert
                                  event_filter gen_id 139, sig_id 1, type both, track by_src, count 6, seconds 600
                                  ; (http_inspect) INVALID CONTENT-LENGTH OR CHUNK SIZE
                                  event_filter gen_id 120, sig_id 8, type both, track by_src, count 6, seconds 600
                                  ; (http_inspect) UNKNOWN METHOD
                                  event_filter gen_id 119, sig_id 31, type both, track by_src, count 6, seconds 600
                                  
                                  

                                  From my experience I'm not sure I actually agree with the idea of a master suppress list, since I've found false positives will be based on what sites you tend to visit, the quality of your connection with these sites (many false positives are simply malformed packets), etc. However, this filtering should provide at least a little more protection than simply suppressing the alert always.

                                  Also note these event filters are tracking by the source, it shouldn't really matter how many users you have (IE, you don't necessarily need to up "count" because you have more users).

                                  Next on my to-do is figure out how to do event filtering for certain IPs and IP ranges; I think it can be done using rate_filter set to at least "alert". I'm hoping to essentially disable the suppression for my servers.

                                  1 Reply Last reply Reply Quote 0
                                  • panzP
                                    panz
                                    last edited by

                                    @bmeeks:

                                    @panz:

                                    So, if I'm understanding right, I have to add this line to my Suppress List (both on LAN and WAN interfaces)

                                    event_filter gen_id 123, sig_id 8, type both, track by_src, count 10, seconds 600
                                    

                                    gen_id 123, sig_id 8 corresponds to #(spp_frag3) Fragmentation overlap

                                    panz

                                    Yes, that's correct.  Open the Suppress List in edit mode and paste in the line.  Save the list and then restart the affected Snort interface.  Make sure that the Suppress List you edit is the one currently used by the interface.  You can check this on the INTERFACE SETTINGS tab for the interface.

                                    Bill

                                    Could I force this to work only for a certain IP address? Is it possible to add the IP address I want to filter after the comma past the "track by_src"?

                                    pfSense 2.3.2-RELEASE-p1 (amd64)
                                    motherboard: MSI C847MS-E33 Micro ATX (with Intel Celeron CPU 847 @ 1.10 GHz) ~ PSU: Corsair VS350 ~ RAM: Kingston KVR1333D3E9S 4096 MB 240-pin DIMM DDR3 SDRAM 1.5 volt ~ NIC: Intel EXPI9301CTBLK (LAN) ~ NIC: D-Link DFE-528TX (CAM) ~ Hard Disk: Western Digital WD10JFCX Red ~ Case: Cooler Master HAF XB ~ power consumption: 21 Watts.

                                    1 Reply Last reply Reply Quote 0
                                    • BBcan177B
                                      BBcan177 Moderator
                                      last edited by

                                      Yes you can add an IP or CIDR and after that include additional other syntax as required.

                                      9.5.3 Suppression Rules

                                      Suppression rules are similar in syntax to standalone threshold rules. Suppression rules can suppress alerts by signature, by source or destination address, or by an entire CIDR network block. This flexibility has considerable power. Care must be taken to only suppress the correct alerts or addresses. An administrator could inadvertently suppress legitimate alerts.

                                      Suppression rules are written with the following syntax:

                                      suppress gen_id gen-id, sid_id sid-id, track [by_src|by_dst], ip IP/MASK-BITS

                                      Suppress this event completely:

                                      suppress gen_id 1, sig_id 114

                                      Suppress this event from this source IP address:

                                      suppress gen_id 1, sig_id 114, track by_src, ip 10.2.1.154

                                      Suppress this event to this destination CIDR block:

                                      suppress gen_id 1, sig_id 114, track by_dst, ip 10.2.1.0/24

                                      "Experience is something you don't get until just after you need it."

                                      Website: http://pfBlockerNG.com
                                      Twitter: @BBcan177  #pfBlockerNG
                                      Reddit: https://www.reddit.com/r/pfBlockerNG/new/

                                      1 Reply Last reply Reply Quote 0
                                      • panzP
                                        panz
                                        last edited by

                                        Thanks, this is for Suppress action. Am I able to use the track by_src with the event_filter?

                                        Panz

                                        pfSense 2.3.2-RELEASE-p1 (amd64)
                                        motherboard: MSI C847MS-E33 Micro ATX (with Intel Celeron CPU 847 @ 1.10 GHz) ~ PSU: Corsair VS350 ~ RAM: Kingston KVR1333D3E9S 4096 MB 240-pin DIMM DDR3 SDRAM 1.5 volt ~ NIC: Intel EXPI9301CTBLK (LAN) ~ NIC: D-Link DFE-528TX (CAM) ~ Hard Disk: Western Digital WD10JFCX Red ~ Case: Cooler Master HAF XB ~ power consumption: 21 Watts.

                                        1 Reply Last reply Reply Quote 0
                                        • BBcan177B
                                          BBcan177 Moderator
                                          last edited by

                                          Yes you can add other settings after the IP address.

                                          "Experience is something you don't get until just after you need it."

                                          Website: http://pfBlockerNG.com
                                          Twitter: @BBcan177  #pfBlockerNG
                                          Reddit: https://www.reddit.com/r/pfBlockerNG/new/

                                          1 Reply Last reply Reply Quote 0
                                          • panzP
                                            panz
                                            last edited by

                                            @BBcan177:

                                            Yes you can add other settings after the IP address.

                                            Sorry, I didn't explain my question well. Is this row ok? :

                                            event_filter gen_id 123, sig_id 8, type both, track by_src, 106.188.165.67, count 10, seconds 600
                                            

                                            I'm asking because – in the examples regarding the event_filter – I can't find the "track by_src" followed by an IP address, like in the examples regarding the suppress command.

                                            I hope that my question is clear now.

                                            pfSense 2.3.2-RELEASE-p1 (amd64)
                                            motherboard: MSI C847MS-E33 Micro ATX (with Intel Celeron CPU 847 @ 1.10 GHz) ~ PSU: Corsair VS350 ~ RAM: Kingston KVR1333D3E9S 4096 MB 240-pin DIMM DDR3 SDRAM 1.5 volt ~ NIC: Intel EXPI9301CTBLK (LAN) ~ NIC: D-Link DFE-528TX (CAM) ~ Hard Disk: Western Digital WD10JFCX Red ~ Case: Cooler Master HAF XB ~ power consumption: 21 Watts.

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