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

    Suricata inline whitelisting

    Scheduled Pinned Locked Moved IDS/IPS
    8 Posts 3 Posters 5.4k 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.
    • B
      btspce
      last edited by

      Is there a way to whitelist a specific rule for a specific ip in inline mode?

      I tried using a supression list for wan like below to disable the rule for that source ip (example ip)

      suppress gen_id 1, sig_id 2220006, track by_src, ip 8.8.8.8
      

      The alert still shows up and traffic is blocked. (Suricata is restarted on wan)

      Is IP reputation list the only way. Would prefer to not whitelist a host on all rules.

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

        I'm not sure about this.  You will probably get a better answer over on the Suricata Redmine site.  It would depend on where in the packet processing chain within Suricata a "suppress" action is checked versus where the "inline drop" action is taken.  Logically you would assume suppress would be evaluated first, but I don't know.  All this happens within the Suricata binary and that is not something maintained on the pfSense side.  It is just a loaded dependency in the package for pfSense.  The package on pfSense is really just a GUI that generates the suricata.yaml file used by the suricata binary as its configuration.

        Bill

        1 Reply Last reply Reply Quote 0
        • B
          btspce
          last edited by

          I've been reading here: http://suricata.readthedocs.io/en/latest/performance/ignoring-traffic.html

          When reading the above I get the impression that a suppressed rule should never result in a drop?
          So the suppression lists is only to "hide" the alert? not stopping a potential drop?
          Can we use pass rules in pfsense? where do I put them?
          Use modifysid ?

          Thanks for your work bmeeks!

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

            @btspce:

            I've been reading here: http://suricata.readthedocs.io/en/latest/performance/ignoring-traffic.html

            When reading the above I get the impression that a suppressed rule should never result in a drop?
            So the suppression lists is only to "hide" the alert? not stopping a potential drop?
            Can we use pass rules in pfsense? where do I put them?
            Use modifysid ?

            Thanks for your work bmeeks!

            You found a key piece of info that I had not seen before (admittedly I had not gone looking for it either …  :().  Here it is:

            Suppress rules can be used to make sure no alerts are generated for a host. This is not efficient however, as the suppression is only considered post-matching. In other words, Suricata first inspects a rule, and only then will it consider per-host suppressions.

            This means to me that the pass, drop, reject, etc., decision is made first and then the suppress list is checked to see whether or not to suppress the alert in the logs.  I need to dive into the source code for the Suricata binary and see if I can precisely determine how suppression affects dropping.

            I can read the linked information to mean if the rule was "drop" but was suppressed, the packet is still dropped but would not alert.  This is different than what happens in Legacy Mode with the package on pfSense.  Legacy mode actually uses the "alert" action to know what to block, so when a rule is suppressed it generates no alert and thus no block can happen.

            Inline IPS mode is different and may require a paradigm shift in how we use the Suricata package on pfSense.  I must admit I had not thoroughly researched this before, but now I see a potential issue.  Suppress Lists may no longer have the same action as they did in Legacy Mode.  Namely, simply putting in a suppress rule might not prevent a drop of a packet even though it will prevent the alert from showing up on the ALERTS tab.

            I need to dig into this some more before I can post a definitive answer.

            Bill

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

              A fix for Suricata inline IPS mode whitelisting will be in the next GUI package release which is coming soon.  The update will restore the old PASS LIST functionality from the Legacy Mode GUI, but will actually implement the pass list by automatically creating appropriate PASS rules for you and adding them to the rule set.  Since the default priority mode in the package for rules is PASS, DROP, REJECT and then ALERT, these pass rules will let the traffic for pass list hosts pass without ever being blocked.

              Bill

              1 Reply Last reply Reply Quote 0
              • B
                btspce
                last edited by

                Thanks. Updated now. Is there a way in the new version to whitelist a specific rule on a specific host like when writing the suppress rules?
                As I understand it we can now whitelist all traffic from a host or no whitelist at all?

                1 Reply Last reply Reply Quote 0
                • B
                  btspce
                  last edited by

                  Just found your thread: https://forum.pfsense.org/index.php?topic=124270.msg686427#msg686427

                  what is the better way of protecting hosts from being blocked (or having their traffic dropped)?  You might want to consider using the Suppress List feature to selectively bypass only the rules giving you trouble for specific hosts.  You can use the icons on the ALERTS tab to accomplish this.  Hover over the plus signs (+) in the alert rows to see a tooltip popup describing what clicking the icon does.  A Suppress List entry bypasses a single rule GID:SID.  It can be bypassed for all hosts, or only select hosts by either source IP or destination IP.  A Pass List entry, on the other hand, will bypass all rules for the host IP addresses in the list.
                  

                  So suricata is not just hiding the alert anymore as in the previous version?

                  1 Reply Last reply Reply Quote 0
                  • S
                    SteveITS Galactic Empire @bmeeks
                    last edited by SteveITS

                    @bmeeks said in Suricata inline whitelisting:

                    Suppress rules can be used to make sure no alerts are generated for a host. This is not efficient however, as the suppression is only considered post-matching. In other words, Suricata first inspects a rule, and only then will it consider per-host suppressions.

                    This means to me that the pass, drop, reject, etc., decision is made first and then the suppress list is checked to see whether or not to suppress the alert in the logs.  I need to dive into the source code for the Suricata binary and see if I can precisely determine how suppression affects dropping.

                    I need to dig into this some more before I can post a definitive answer.

                    Hi, did this get figured out/resolved? We may have run into this today on Suricata package v4.0.4_1...I suppressed an alert but the behavior didn't seem to change until I disabled the rule.
                    (FWIW it was rule 1:2013744 "ET INFO DYNAMIC_DNS HTTP Request to a no-ip Domain" which would make sense for dynamic domains but was for cdn.no-ip.com which is their actual domain. The rule only excludes www.no-ip.com.)

                    Pre-2.7.2/23.09: Only install packages for your version, or risk breaking it. Select your branch in System/Update/Update Settings.
                    When upgrading, allow 10-15 minutes to restart, or more depending on packages and device speed.
                    Upvote 👍 helpful posts!

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