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

    DDoS pfSense dies on XSYN and OVH scripts.

    Scheduled Pinned Locked Moved Firewalling
    93 Posts 11 Posters 27.3k 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.
    • S
      Supermule Banned
      last edited by

      I am, by the way, running stateless as a test since it doesnt have any impact running with SYN cookies enabled :)

      1 Reply Last reply Reply Quote 0
      • H
        Harvy66
        last edited by

        After re-reading the code this morning and looking at the packet dump, it seems "tot_len" is being set and used as the IP+TCP header size.

        iph->tot_len = sizeof(struct iphdr) + sizeof(struct tcphdr);

        No fragmented data wielding SYN packets here.

        1 Reply Last reply Reply Quote 0
        • marcellocM
          marcelloc
          last edited by

          I've stopped a ddos on my network setting advanced rules options to limit connections per second and total states per ip.
          Then I've reduced rule blocked time.

          My link dropped from 100% to 30% during attack.

          Treinamentos de Elite: http://sys-squad.com

          Help a community developer! ;D

          1 Reply Last reply Reply Quote 0
          • H
            Harvy66
            last edited by

            In this case, total states per IP won't help because they're spoofed.

            I don't see what's so special about these packets. They're all the standard 60 length IP+TCP, and 40 length IP. Both IP and TCP checksums are valid,  IP has no flags, TCP's only flag is SYN, random source ports, random Seq numbers. I must be missing something, but it looks like a normal SYN flood, but it isn't.

            1 Reply Last reply Reply Quote 0
            • S
              Supermule Banned
              last edited by

              Send me a PM with your ext. IP and pfsense behind looking at port80.

              Then I will flood it for 180 secs and then you will see how it responds.

              It just goes offline instantly…

              1 Reply Last reply Reply Quote 0
              • H
                Harvy66
                last edited by

                I don't know, sounds like a sure-fire way to get packet-loss on my quality graph. Almost up to a week of 0 packets lost and a 1.2ms avg ping. Maybe in a few days, once I take a picture  :-)

                I don't mean 0.0% packet-loss, I mean 0 packets in actual numbers. I already have 0.0%, but there's some red on that quality graph.

                1 Reply Last reply Reply Quote 0
                • S
                  Supermule Banned
                  last edited by

                  Chris would get back to us with testing IP but not heard anything yet.

                  1 Reply Last reply Reply Quote 0
                  • S
                    Supermule Banned
                    last edited by

                    Look at the ping to the LAN side of pfSense…

                    http://youtu.be/HoGQ_2sg0J0

                    LAN goes offline and tries to keep going. On the test server I see maybe 25mbit of traffic and nothing that renderes it useless at all.

                    Pf just dies completely. With this I can take down any site running pfSense if I want to.

                    If you run Windows FW on the server with no pfSense infront, no issues.

                    1 Reply Last reply Reply Quote 0
                    • H
                      Harvy66
                      last edited by

                      FYI, your public IP is shown on your interfaces widget.

                      Another FYI, I get a nice stable ping to your gateway. Nice upstream :-)

                      Ping statistics for 80.x.x.x:
                          Packets: Sent = 149, Received = 149, Lost = 0 (0% loss),
                      Approximate round trip times in milli-seconds:
                          Minimum = 138ms, Maximum = 141ms, Average = 139ms

                      4    15 ms    15 ms    16 ms  tengigabitethernet4-4.ar7.chi1.gblx.net [67.17.213.117]
                        5  108 ms  107 ms  108 ms  4.68.110.157
                        6  103 ms  103 ms  103 ms  ae-116-3502.edge3.London1.Level3.net [4.69.166.134]
                        7  103 ms  103 ms  103 ms  ae-116-3502.edge3.London1.Level3.net [4.69.166.134]
                        8  138 ms  138 ms  138 ms  tdcdenmark-level3-xe.london1.Level3.net [4.68.63.90]
                        9  139 ms  140 ms  140 ms  ae1-0.taanqe10.dk.ip.tdc.net [83.88.22.247]
                      10  140 ms  140 ms  141 ms  cpe.ae11-388.taanqe10.dk.customer.tdc.net [62.243.131.198]
                      11  139 ms  139 ms  140 ms  80.x.x.x

                      1 Reply Last reply Reply Quote 0
                      • S
                        Supermule Banned
                        last edited by

                        :D Its my home network so I dont care about that.

                        Just removed Squid to see if it handles traffic better…

                        Edit: It didnt.... :(

                        1 Reply Last reply Reply Quote 0
                        • S
                          Supermule Banned
                          last edited by

                          And the forum goes down at once as well.

                          Its the engine of PfSense thats the issue here. There is core functionality hit here and nothing done in the gui or elsewhere can prevent it.

                          1 Reply Last reply Reply Quote 0
                          • D
                            doktornotor Banned
                            last edited by

                            So what's up here? Anyone tested this on FreeBSD?

                            1 Reply Last reply Reply Quote 0
                            • S
                              Supermule Banned
                              last edited by

                              Spoofed packet attacks may be used to overload the kernel route cache. A

                              spoofed packet attack uses random source IPs to cause the kernel to generate

                              a temporary cached route in the route table, Route cache is an extraneous

                              caching layer mapping interfaces to routes to IPs and saves a lookup to the

                              Forward Information Base (FIB); a routing table within the network stack. The

                              IPv4 routing cache was intended to eliminate a FIB lookup and increase

                              performance. While a good idea in principle, unfortunately it provided a very

                              small performance boost in less than 10% of connections and opens up the

                              possibility of a DoS vector. Setting rtexpire and rtminexpire to two(2)

                              seconds should be sufficient to protect the route table from attack.

                              http://www.es.freebsd.org/doc/handbook/securing-freebsd.html

                              net.inet.ip.rtexpire=2      # (default 3600)
                              net.inet.ip.rtminexpire=2    # (default 10  )
                              #net.inet.ip.rtmaxcache=128  # (default 128 )

                              Anybody has any comments on this because it seems to be deep within the routing stack that this occurs.

                              1 Reply Last reply Reply Quote 0
                              • H
                                Harvy66
                                last edited by

                                Just out of curiosity, why would you want to store individual IP addresses in a routing table? Isn't that the whole point subnet masks and routing tables?

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Supermule Banned
                                  last edited by

                                  I dont know… its nowhere to be found in pfSense so I added it manually to get rid of it...

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    kejianshi
                                    last edited by

                                    So, is there progress being made in coming up with a set of safe defaults that mitigate this attack in 2.2.1?

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      Harvy66
                                      last edited by

                                      So the change helped?

                                      It sounds like the best thing might be to completely disable. Since that probably can't happen, I wonder if there are values smaller than 2 seconds that may be better. I could see low end boxes being much more sensitive to this issue. A lot of packets can come in a 2 second window with more and more people getting 100Mb+ connections.

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        Supermule Banned
                                        last edited by

                                        It didnt help. It takes this forum and store.netgate.com down as well easily.

                                        Throughput needs only to be about 20mbit before it dies and cant handle the traffic.

                                        Its no issue if you use windows firewall as the frontend and the webserver itself can easily handle the traffic both regarding backlog and overall traffic and packets.

                                        Its pfSense related and take it down instantly.

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          doktornotor Banned
                                          last edited by

                                          @Supermule:

                                          Its pfSense related and take it down instantly.

                                          So it does NOT happen on FreeBSD?

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            Supermule Banned
                                            last edited by

                                            I havent tested it on FreeBSD.

                                            So I cant relate to that. You are more than welcome to provide me with a FreeBSD target on PM, so we can test.

                                            @doktornotor:

                                            @Supermule:

                                            Its pfSense related and take it down instantly.

                                            So it does NOT happen on FreeBSD?

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