Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. AdGuard Home
  3. adguard on upcoming Cloudron v6 DDoS reflection/amplification

adguard on upcoming Cloudron v6 DDoS reflection/amplification

Scheduled Pinned Locked Moved AdGuard Home
34 Posts 14 Posters 5.0k Views 16 Watching
  • 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.
    • luckowL Offline
      luckowL Offline
      luckow
      translator
      wrote on last edited by
      #1

      I've installed adguard on the upcoming Cloudron v6. It is installed on a public available VPS. I know the "normal" intended use is for local networks. But because it's possible, I've clicked on install the app πŸ™‚

      I've added the public ip of the Cloudron instance as DNS in my local home router in order to use the adguard functions in my entire local network. BTW: It works perfect.

      One week later I got an email from the german Federal Office for Information Security (BSI)

      Dear Sir or Madam,
      
      open DNS resolvers are abused for conducting DDoS reflection / amplification attacks against third parties on a daily basis. [...]
      

      The moment I checked the dashboard of adguard, I realized that DDoS had already happened.

      e6742fd0-d0f9-4422-ba58-2a25424f255a-image.png

      All top clients in the figure above have made a DNS query for the same domain.

      So my question is: is there any chance to configure the Cloudron firewall/ proxy / whatever to use adguard in the way I want to use it (as a openDNS) without having a tool for attackers out in the wild?

      If not, I like to see a big red warning sign: do not use adguard on a public infrastructure without having a firewall rule in front of the Cloudron instance. IMHO we as Cloudron users have to be responsible not to have "weapons" for attackers out in the wild.

      Pronouns: he/him | Primary language: German

      mehdiM 1 Reply Last reply
      5
      • luckowL luckow

        I've installed adguard on the upcoming Cloudron v6. It is installed on a public available VPS. I know the "normal" intended use is for local networks. But because it's possible, I've clicked on install the app πŸ™‚

        I've added the public ip of the Cloudron instance as DNS in my local home router in order to use the adguard functions in my entire local network. BTW: It works perfect.

        One week later I got an email from the german Federal Office for Information Security (BSI)

        Dear Sir or Madam,
        
        open DNS resolvers are abused for conducting DDoS reflection / amplification attacks against third parties on a daily basis. [...]
        

        The moment I checked the dashboard of adguard, I realized that DDoS had already happened.

        e6742fd0-d0f9-4422-ba58-2a25424f255a-image.png

        All top clients in the figure above have made a DNS query for the same domain.

        So my question is: is there any chance to configure the Cloudron firewall/ proxy / whatever to use adguard in the way I want to use it (as a openDNS) without having a tool for attackers out in the wild?

        If not, I like to see a big red warning sign: do not use adguard on a public infrastructure without having a firewall rule in front of the Cloudron instance. IMHO we as Cloudron users have to be responsible not to have "weapons" for attackers out in the wild.

        mehdiM Offline
        mehdiM Offline
        mehdi
        App Dev
        wrote on last edited by
        #2

        @luckow 100% agree. There should be a port-level firewall config, that defaults to restricting access to local IPs only (RFC1918).

        BrutalBirdieB 1 Reply Last reply
        2
        • mehdiM mehdi

          @luckow 100% agree. There should be a port-level firewall config, that defaults to restricting access to local IPs only (RFC1918).

          BrutalBirdieB Offline
          BrutalBirdieB Offline
          BrutalBirdie
          Partner
          wrote on last edited by
          #3

          But I would like to keep that feature 😱
          My own Adguard which I can use even while being on the go via mobile data.

          Like my work? Consider donating a drink. Cheers!

          humptydumptyH BrutalBirdieB 2 Replies Last reply
          1
          • BrutalBirdieB BrutalBirdie

            But I would like to keep that feature 😱
            My own Adguard which I can use even while being on the go via mobile data.

            humptydumptyH Offline
            humptydumptyH Offline
            humptydumpty
            wrote on last edited by
            #4

            @brutalbirdie Wouldn't a raspberry pi with PiVPN and PiHole installed do the same thing for you?

            D 1 Reply Last reply
            0
            • imc67I Offline
              imc67I Offline
              imc67
              translator
              wrote on last edited by
              #5

              That’s why I suggested many many times to have Pi-Hole (preferred) together with a WireGuard VPN server. This app only on a VPS is dangerous!!!

              1 Reply Last reply
              2
              • BrutalBirdieB BrutalBirdie

                But I would like to keep that feature 😱
                My own Adguard which I can use even while being on the go via mobile data.

                BrutalBirdieB Offline
                BrutalBirdieB Offline
                BrutalBirdie
                Partner
                wrote on last edited by
                #6

                This could be usefull.

                https://wiki.opennic.org/opennic/tier2security

                Like my work? Consider donating a drink. Cheers!

                1 Reply Last reply
                0
                • luckowL Offline
                  luckowL Offline
                  luckow
                  translator
                  wrote on last edited by
                  #7

                  A background article on the DDoS problem can be found on the BSI website itself.

                  https://www.bsi.bund.de/EN/Topics/IT-Crisis-Management/CERT-Bund/CERT-Reports/HOWTOs/DNS-Open-Resolver/DNS-Open-Resolver_node.html

                  I have no idea what happens if we follow the

                  Solution
                  Disable recursion or limit recursion to trusted clients in the DNS server's configuration.

                  But maybe it's a/the solution πŸ˜‰

                  Pronouns: he/him | Primary language: German

                  mehdiM 1 Reply Last reply
                  1
                  • luckowL luckow

                    A background article on the DDoS problem can be found on the BSI website itself.

                    https://www.bsi.bund.de/EN/Topics/IT-Crisis-Management/CERT-Bund/CERT-Reports/HOWTOs/DNS-Open-Resolver/DNS-Open-Resolver_node.html

                    I have no idea what happens if we follow the

                    Solution
                    Disable recursion or limit recursion to trusted clients in the DNS server's configuration.

                    But maybe it's a/the solution πŸ˜‰

                    mehdiM Offline
                    mehdiM Offline
                    mehdi
                    App Dev
                    wrote on last edited by
                    #8

                    @luckow said in adguard on upcoming Cloudron v6 DDoS reflection/amplification:

                    I have no idea what happens if we follow the
                    Solution
                    Disable recursion or limit recursion to trusted clients in the DNS server's configuration.
                    But maybe it's a/the solution

                    It is not a solution. It means the DNS server of the app would be forbidden to ask an upstream DNS server when it does not know a domain, which would basically make it useless πŸ™‚

                    luckowL 1 Reply Last reply
                    2
                    • mehdiM mehdi

                      @luckow said in adguard on upcoming Cloudron v6 DDoS reflection/amplification:

                      I have no idea what happens if we follow the
                      Solution
                      Disable recursion or limit recursion to trusted clients in the DNS server's configuration.
                      But maybe it's a/the solution

                      It is not a solution. It means the DNS server of the app would be forbidden to ask an upstream DNS server when it does not know a domain, which would basically make it useless πŸ™‚

                      luckowL Offline
                      luckowL Offline
                      luckow
                      translator
                      wrote on last edited by
                      #9

                      @mehdi thanks for the clarification πŸ™‚ In that case there is no easy solution for that problem. IMHO we only have a chance to use adguard on cloudron in a public infrastructure, if we only allow the use of adguard from inside the openvpn-app. That is my understanding of @imc67 pi-hole / wireguard vpn solution.

                      Pronouns: he/him | Primary language: German

                      1 Reply Last reply
                      0
                      • girishG Offline
                        girishG Offline
                        girish
                        Staff
                        wrote on last edited by
                        #10

                        I agree we should have a big warning with information highlighting security issues and how to go about handling them. I will update the https://docs.cloudron.io/apps/adguard-home/#security section in the docs.

                        doodlemania2D 1 Reply Last reply
                        3
                        • humptydumptyH humptydumpty

                          @brutalbirdie Wouldn't a raspberry pi with PiVPN and PiHole installed do the same thing for you?

                          D Offline
                          D Offline
                          dylightful
                          wrote on last edited by
                          #11

                          @humptydumpty No, Pihole is installed locally on the pi attached to the local VPN adapter (wg0 if you're using wireguard). PiVPN internally handles DNS queries and is not publicly resolvable from the public IP/

                          Unless you install Pihole on your public facing adapter instead of your VPN adapter. Then you're in abit of trouble.....

                          1 Reply Last reply
                          1
                          • D Offline
                            D Offline
                            dylightful
                            wrote on last edited by
                            #12

                            I though ADGuard had an inbuilt feature to allow only whitelisted IP's through?

                            girishG 1 Reply Last reply
                            0
                            • girishG girish

                              I agree we should have a big warning with information highlighting security issues and how to go about handling them. I will update the https://docs.cloudron.io/apps/adguard-home/#security section in the docs.

                              doodlemania2D Offline
                              doodlemania2D Offline
                              doodlemania2
                              App Dev
                              wrote on last edited by
                              #13

                              @girish I can help with this doc when you're read sir - I've got a PiHole on the public internet and simply block all requests at the router except requests from my IP address. If I'm not mistaken, we'll have some sort of control in 6 to whitelist/blacklist access by IP address to an app?

                              1 Reply Last reply
                              2
                              • D dylightful

                                I though ADGuard had an inbuilt feature to allow only whitelisted IP's through?

                                girishG Offline
                                girishG Offline
                                girish
                                Staff
                                wrote on last edited by
                                #14

                                @dylightful said in adguard on upcoming Cloudron v6 DDoS reflection/amplification:

                                I though ADGuard had an inbuilt feature to allow only whitelisted IP's through?

                                Indeed, I will put this in the docs and the POSTINSTALL.

                                robiR 1 Reply Last reply
                                1
                                • girishG girish

                                  @dylightful said in adguard on upcoming Cloudron v6 DDoS reflection/amplification:

                                  I though ADGuard had an inbuilt feature to allow only whitelisted IP's through?

                                  Indeed, I will put this in the docs and the POSTINSTALL.

                                  robiR Offline
                                  robiR Offline
                                  robi
                                  wrote on last edited by
                                  #15

                                  @girish couldn't it just be limited to the VPN interface which you get once connected? That way it remains private and there's no issue with dynamic IPs from home.

                                  Conscious tech

                                  girishG 1 Reply Last reply
                                  1
                                  • robiR robi

                                    @girish couldn't it just be limited to the VPN interface which you get once connected? That way it remains private and there's no issue with dynamic IPs from home.

                                    girishG Offline
                                    girishG Offline
                                    girish
                                    Staff
                                    wrote on last edited by
                                    #16

                                    @robi If I understand correctly, you are suggesting that we restrict the app to only private IPs by default. Maybe the IP blocks in https://en.wikipedia.org/wiki/Reserved_IP_addresses ? Thing is I would say the most common deployment of Cloudron is on a VPS and with that as the default a big chunk of people won't be able to use the app out of the box.

                                    I think a good solution is to add a app level firewall to Cloudron. I think it's something we can easily add for next release.

                                    robiR 1 Reply Last reply
                                    1
                                    • girishG girish

                                      @robi If I understand correctly, you are suggesting that we restrict the app to only private IPs by default. Maybe the IP blocks in https://en.wikipedia.org/wiki/Reserved_IP_addresses ? Thing is I would say the most common deployment of Cloudron is on a VPS and with that as the default a big chunk of people won't be able to use the app out of the box.

                                      I think a good solution is to add a app level firewall to Cloudron. I think it's something we can easily add for next release.

                                      robiR Offline
                                      robiR Offline
                                      robi
                                      wrote on last edited by
                                      #17

                                      @girish
                                      Not what I said, but in effect yes.

                                      What I am suggesting is to limit it to an actual interface not an IP. Anything flowing through a VPN interface for example which is a higher abstraction.

                                      Since private networks use RFC1918 addressing that's what ends up flowing through those interfaces. Hence the effect.

                                      Having a by default secure install is the only option IMO.
                                      Anyone installing it will need to configure it properly, be it for VPN access and network interfaces, or by going lower into the networking stack and using IP:port settings.

                                      It's also a question of liability for you, allowing deployment for DDoS or not.

                                      Subsequent modification is the users responsibility.

                                      Even if you had an app level firewall, how will it dynamically configure itself for a new client IP every hour? (there are ways but beyond the scope of this discussion)

                                      Conscious tech

                                      1 Reply Last reply
                                      1
                                      • girishG Offline
                                        girishG Offline
                                        girish
                                        Staff
                                        wrote on last edited by girish
                                        #18

                                        I am reading up on what the upstream project recommends because IMO it's actually fairly easy to do an IP based rate limit in the app itself. There are several issues around this:

                                        • DNS amplification prevention
                                        • Automatically block IP when it reaches a configurable requests limit
                                        • Provide a smarter way to detect & block DNS amplification- Looks like they might add a setting for this
                                        • Allow the use of IP blocklists to reject DNS requests from the listed IPs
                                        D 1 Reply Last reply
                                        1
                                        • girishG girish

                                          I am reading up on what the upstream project recommends because IMO it's actually fairly easy to do an IP based rate limit in the app itself. There are several issues around this:

                                          • DNS amplification prevention
                                          • Automatically block IP when it reaches a configurable requests limit
                                          • Provide a smarter way to detect & block DNS amplification- Looks like they might add a setting for this
                                          • Allow the use of IP blocklists to reject DNS requests from the listed IPs
                                          D Offline
                                          D Offline
                                          dylightful
                                          wrote on last edited by
                                          #19

                                          @girish
                                          Playing around with ADGuard today. The inbuilt IP limiter works great and correctly blocks amp attacks.

                                          Only issue i found was the ability to use DDNS hostnames as a whitelist for dynamic IP nets. CIDR works just aswell i guess...

                                          robiR 1 Reply Last reply
                                          1
                                          • D dylightful

                                            @girish
                                            Playing around with ADGuard today. The inbuilt IP limiter works great and correctly blocks amp attacks.

                                            Only issue i found was the ability to use DDNS hostnames as a whitelist for dynamic IP nets. CIDR works just aswell i guess...

                                            robiR Offline
                                            robiR Offline
                                            robi
                                            wrote on last edited by
                                            #20

                                            @dylightful said in adguard on upcoming Cloudron v6 DDoS reflection/amplification:

                                            Playing around with ADGuard today. The inbuilt IP limiter works great and correctly blocks amp attacks.

                                            Do you mean the requests per second limit?
                                            Which setting blocks amp attacks?

                                            Only issue i found was the ability to use DDNS hostnames as a whitelist for dynamic IP nets. CIDR works just aswell i guess...

                                            I had an issue with this too, as I couldn't come up with a CIDR address that would exclude some of the abusing IPs without blocking my own (same network provider).

                                            Conscious tech

                                            doodlemania2D 1 Reply Last reply
                                            0
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes


                                              • Login

                                              • Don't have an account? Register

                                              • Login or register to search.
                                              • First post
                                                Last post
                                              0
                                              • Categories
                                              • Recent
                                              • Tags
                                              • Popular
                                              • Bookmarks
                                              • Search