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

    Taming the beasts… aka suricata blueprint

    IDS/IPS
    64
    504
    296.8k
    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.
    • N
      n3by
      last edited by

      Hello,

      On my home I use pfsense 2.1.5 and now I switched from Snort to Suricata, set it as recommended by jflsakfja instructions in this thread….

      Looking at alert logs yesterday I found that China people try to probe/hack my home network ( probably they found that Lenovo tablet can't report home and want to see whats wrong... ) so I put them in an alias blocked and set them in firewall as permanent blocked traffic In ( WAN ) and Out ( LAN ) but I still get alert in Suricata from there IP.

      And by the way I still have Pfblocker set up to block all incoming traffic from Asia, and other sources.

      Isn't pfsense firewall blocking traffic before it arriving at Suricata  ?

      Thank you.

      edit:
      security by obscurity ( pictures removed )

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

        @jflsakfja:

        Patience is a virtue we all need  ;)

        After reading https://forum.pfsense.org/index.php?topic=88244 , I think we will need more then patience. I understand what you're doing/asking for.. I've seen many pfsense guides on the internet, and none of them have gotten in trouble.. They just put the standard trademark disclaimer.

        I'll wait and see

        1 Reply Last reply Reply Quote 0
        • ?
          A Former User
          last edited by

          @n3by:

          Hello,

          On my home I use pfsense 2.1.5 and now I switched from Snort to Suricata, set it as recommended by jflsakfja instructions in this thread….

          Looking at alert logs yesterday I found that China people try to probe/hack my home network ( probably they found that Lenovo tablet can't report home and want to see whats wrong... ) so I put them in an alias blocked and set them in firewall as permanent blocked traffic In ( WAN ) and Out ( LAN ) but I still get alert in Suricata from there IP.

          And by the way I still have Pfblocker set up to block all incoming traffic from Asia, and other sources.

          Isn't pfsense firewall blocking traffic before it arriving at Suricata  ?

          Thank you.

          edit:
          security by obscurity ( pictures removed )

          Short answer is nope  :).
          Long answer is: Think of the way packets are processed as a realtime copy of the packet stream. pf processes the actual packets, while at the same time copying them and sending them to suricata (actually logging the stream as is, and suricata sniffing that copy, but that's contrary to my stupidly simple explanations, so ignore it).

          Here's what happens and why you still get alerts:
          A packet arrives from IP 1.1.1.1. That packet is copied and processed, sent on its way to your computer. At the exact time (relative, play along) that the packet is copied, suricata picks it up and starts processing the copy. The actual packet has long reached your computer, suricata is munching on a copy. After it decides that IP 1.1.1.1 is bad, it adds it to the blocked hosts. The next time a packet from that IP arrives, both pf and suricata will pick it up (original+copy). While pf is still deciding what to do with the packet (it will drop it, since the IP is known bad), suricata will still process a copy of it, and generate an alert.

          The downside: wasted processing. I tried working around with it with suricata's BPF (an exercise for the extremely stubborn out there) but could not, not without significant performance penalties. Basically BPF says "ignore packets from these IPs". There is no reason to analyze a packet that's known to be blocked anyway.

          The upside: each time the bad IP generates an alert, the alert timestamp is updated. If it keeps doing it while being inside the ban timeframe, then the IP is perpetually kept on blocked hosts (well, until something like a reboot kicks it (temporarily) out).

          All in all, don't worry if you are still seeing alerts from blocked IPs. As long as your rules are set up correctly (easy to test) then you are set  :)

          1 Reply Last reply Reply Quote 0
          • F
            fsansfil
            last edited by

            @n3by:

            On my home I use pfsense 2.1.5 and now I switched from Snort to Suricata, set it as recommended by jflsakfja instructions in this thread….

            Unless you are writing your own rules or you are an ISP dealing with 30k users, right now you are better with Snort than Suricata. Using ET open and Snort VRT rulesets, youll get more coverage of threat protection with Snort (All VRT rules compatible with the engine)

            I personnaly prefer Suricata for a few reasons. IP protocol detection is better tuned…it will actually alert on some IPv6, Hop-by-Hop, etc... And when writing rules and outputting to syslog, I get more info on why the rules didnt load... Plus, the loggin is more detailed with Suricata.

            But the Snort OpenAppID is promising and give you a good overlook of apps on your network/ports -do you know whats on your port TCP 443 ?- And the IP reputation with Snort is alot more user friendly than Suricata. Also, the host attribute table feature of Snort can be usefull depending on the size of your network and uniqueness of your users. Again, I find Snort better at detecting packet overlapping, while you could spend days fine tuning Surita Stream engine and end up just disabling the Stream rules ;)

            30$/year VRT with Snort is a great deal of protection for the money. ET Pro is more expensive…which they had a home user pricing...

            Then again, if you have time up your sleeve, try them both Suricata/Snort and find out for yourself their strengths. But honestly, on pfSense, for protecting a home or SOHO network w/o getting too much into technical stuff; go with the Snort package.

            F.

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

              @jflsakfja:

              …
              The upside: each time the bad IP generates an alert, the alert timestamp is updated. If it keeps doing it while being inside the ban timeframe, then the IP is perpetually kept on blocked hosts (well, until something like a reboot kicks it (temporarily) out).

              All in all, don't worry if you are still seeing alerts from blocked IPs. As long as your rules are set up correctly (easy to test) then you are set  :)

              Hi to all and thanks for creating this thread !
              I'm following your suggestion to set up a suricata ids,
              Can someone explain how can I check the list of "blocked hosts" and their timers?

              Thanks,
              Chris

              –-
              I figured it out: services -> suricata -> blocks gives me all the info I need.

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

                @fsansfil:

                Unless you are writing your own rules or you are an ISP dealing with 30k users, right now you are better with Snort than Suricata. Using ET open and Snort VRT rulesets, youll get more coverage of threat protection with Snort (All VRT rules compatible with the engine)

                There was talk (here and elsewhere) many months back that Snort as a long term product was dead… or dying... in the wake of Suricata and its resources.  Has there been a change to that thought?  New people involved?

                Just curious?

                Rick

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

                  @Ramosel:

                  There was talk (here and elsewhere) many months back that Snort as a long term product was dead… or dying... in the wake of Suricata and its resources.  Has there been a change to that thought?  New people involved?

                  Just curious?

                  Rick

                  I think a couple of things have happened.  First, thus far the Cisco purchase of Snort has not resulted in the open source project side being squashed.  That was a fear early on after the purchase.  Second, Snort 3.0-BETA supports multi-threading.  So once v3.0 goes from BETA to RELEASE, the argument about Suricata's performance advantages will lose some steam.

                  I think both systems are fine.  Each has its own unique features.  Suricata can grab and log a lot more information than Snort can at the moment (all the JSON stuff, TLS cert exchanges, etc.), but Snort sports the new OpenAppID functionality.

                  Bill

                  1 Reply Last reply Reply Quote 0
                  • J
                    jim82
                    last edited by

                    New user here, bear with me.

                    Following the first post and reading it over and over, I don't understand the part about floating rules.

                    Here's what I did(also see screenshots)

                    1. Created new interface called DMZ(did this to test on my current system)
                    2. Created Floating Rule, as described, but ONLY for the interface DMZ
                    3. Created allow rule for everything on the interface tab for DMZ(started out with DNS only, but nothing went through, so I changed it to any)

                    Testing with ping = failed
                    Testing NSLOOKUP = failed

                    When disabling the floating rule, all traffic pass, as expected.

                    I'm sure it's me messing this up in some way, but I don't see how/why.

                    Assistance greatly appreciated.
                    BR Jim

                    interface_tab.png
                    interface_tab.png_thumb
                    floating.png
                    floating.png_thumb
                    host_timeout.png
                    host_timeout.png_thumb
                    floating_DISABLED.png
                    floating_DISABLED.png_thumb
                    logs.png
                    logs.png_thumb

                    Best regards
                    Jim

                    Still learning, correct me if I'm wrong please.

                    1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User
                      last edited by

                      Can I see a screenshot of the floating rule in question?

                      If you are talking about the "block all" floating rule, it should only apply to traffic destined for pfsense's ports (that's why there is a giant red warning under it).

                      1 Reply Last reply Reply Quote 0
                      • A
                        awsiemieniec
                        last edited by

                        Thank you for the post - I've been walking through it and adjusting as necessary.  I have a server at a colo accessed via a tunnel so some adjustment is necessary.

                        About that floating rule, the first one your mention where you write in large red "DON'T CHANGE DESTINATION PORT RANGE!!!".  If I follow that example EXACTLY as you write it, rule #1  :P, then I end up blocking all outgoing traffic.  Here is  the float rule: (attached)  Do you really intend to block ALL?  I'm corn-fused?!  Maybe I missed a step?

                        Thx.

                        Floating.png
                        Floating.png_thumb

                        1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User
                          last edited by

                          Most common question I had to answer so far  ;D

                          The rule you show will block all traffic.

                          The rule you want will block all traffic destined for pfsense's ports!. That's where the "don't change ports" part comes in.

                          Adjust that rule to destination pfsense's ports and it will be OK  ;)

                          1 Reply Last reply Reply Quote 0
                          • J
                            jim82
                            last edited by

                            @jflsakfja:

                            Can I see a screenshot of the floating rule in question?

                            If you are talking about the "block all" floating rule, it should only apply to traffic destined for pfsense's ports (that's why there is a giant red warning under it).

                            Thanks for your reply. I guess the post above concerns the same confusion. Don't get me wrong, but you write the following:

                            Next up Floating tab:
                            Set up a rule but make these changes:
                            Action  Block
                            Quick  TICKED!!!
                            Interface  Hold CTRL and click on all interfaces EXCEPT LAN(admin) and SYNC
                            Direction  any
                            Source  any
                            Destination  any

                            If you read this directly(as I did, since I'm absolute beginner), your rule will block everything in/out on all interfaces, except "LAN".

                            I did this, and got confused. I could not wrap my head around, how on earth a Floating block ANY ANY ANY to all interfaces would possibly allow any traffic to pass through.

                            My suggestion is to clarify(maybe more red big letters) that this floating block rule is ONLY for the ports you specify as being web interface and SSH(which makes good sense).

                            Thanks for your guide, I'm looking forward to following the next steps.

                            BR Jim

                            Best regards
                            Jim

                            Still learning, correct me if I'm wrong please.

                            1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User
                              last edited by

                              I agree, the text is a bit confusing, but it was meant to say "you created the rule, now head over to the floating tab and set up an identical rule to it, making these changes".

                              It's getting changed in the next version anyways (since I can't edit old posts) when I finally find the time to finish it. Caught up with work (a LOT of it) these days, and the guide is pushed back on my priorities list.

                              1 Reply Last reply Reply Quote 0
                              • J
                                jim82
                                last edited by

                                Sounds great, thanks for the clarification. Couldn't wrap my head around that weird floating rule :)

                                Looking forward to Version2  8)

                                Best regards
                                Jim

                                Still learning, correct me if I'm wrong please.

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

                                  Ok – reading through 28(!) pages is not my idea of fun. Is there a good summary for current (May, 2015) setups from scratch on 2.2.2 of PFSense, and using Suricata and any other helpful stuff for a colo'd LAN offering services to folks on the Internet?

                                  1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User
                                    last edited by

                                    Not currently, something is being worked on  :)

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

                                      @jflsakfja:

                                      Not currently, something is being worked on  :)

                                      Cant wait!

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        pfcode
                                        last edited by

                                        Hi, jflaskfja

                                        Thanks for offering the ruleset settings, I got them from https://github.com/jflsakfja/suricata-rules/blob/master/list.txt,  But I have 2 questions:

                                        Question1: when I go to setup (enable/disable) the rules, I saw some of them have been disabled ORIGINALLY,  Should I enable them all first before following your instructions in the list?  or Should I keep them as is then disable what were mentioned in the list?

                                        Question2: I can't find some rule#, like:

                                        emerging-attack_response > all except:
                                        2100498 GPL ATTACK_RESPONSE id check returned root <<< Based on plaintext value. False positive on http://planet.suricata-ids.org/

                                        DISABLED:1

                                        is that because I used Balanced Policy?

                                        Release: pfSense 2.4.3(amd64)
                                        M/B: Supermicro A1SRi-2558F
                                        HDD: Intel X25-M 160G
                                        RAM: 2x8Gb Kingston ECC ValueRAM
                                        AP: Netgear R7000 (XWRT), Unifi AC Pro

                                        1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User
                                          last edited by

                                          Apologies for the late reply, but I was involved in a double car accident. Almost snapped my neck, spent two weeks immobilized in a hospital bed.

                                          @all: don't expect me to be active these days. I'm mostly in and out of bed recovering from a series of injuries throughout my body.

                                          @pfcode:

                                          1. Yes, enable all, even originally disabled rules. Then go through the list and disable those mentioned.

                                          2. Rules that cannot be found are rules that were deleted upstream (ET). In that case, please ignore them.

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            pfcode
                                            last edited by

                                            @jflsakfja:

                                            Thanks much,  Sorry about your car accident,  Feel better!

                                            Release: pfSense 2.4.3(amd64)
                                            M/B: Supermicro A1SRi-2558F
                                            HDD: Intel X25-M 160G
                                            RAM: 2x8Gb Kingston ECC ValueRAM
                                            AP: Netgear R7000 (XWRT), Unifi AC Pro

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