I got into the self-hosting scene this year when I wanted to start up my own website run on old recycled thinkpad. A lot of time was spent learning about ufw, reverse proxies, header security hardening, fail2ban.

Despite all that I still had a problem with bots knocking on my ports spamming my logs. I tried some hackery getting fail2ban to read caddy logs but that didnt work for me. I nearly considered giving up and going with cloudflare like half the internet does. But my stubbornness for open source self hosting and the recent cloudflare outages this year have encouraged trying alternatives.

Coinciding with that has been an increase in exposure to seeing this thing in the places I frequent like codeberg. This is Anubis, a proxy type firewall that forces the browser client to do a proof-of-work security check and some other nice clever things to stop bots from knocking. I got interested and started thinking about beefing up security.

I’m here to tell you to try it if you have a public facing site and want to break away from cloudflare It was VERY easy to install and configure with caddyfile on a debian distro with systemctl. In an hour its filtered multiple bots and so far it seems the knocks have slowed down.

https://anubis.techaro.lol/

My botspam woes have seemingly been seriously mitigated if not completely eradicated. I’m very happy with tonights little security upgrade project that took no more than an hour of my time to install and read through documentation. Current chain is caddy reverse proxy -> points to Anubis -> points to services

Good place to start for install is here

https://anubis.techaro.lol/docs/admin/native-install/

  • 0_o7@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    19
    ·
    8 hours ago

    I don’t mind Anubis but the challenge page shouldn’t really load an image. It’s wasting extra bandwidth for nothing.

    Just parse the challenge and move on.

      • Voroxpete@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        55 minutes ago

        It’s actually a brilliant monetization model. If you want to use it as is, it’s free, even for large corporate clients.

        If you want to get rid of the puppygirls though, that’s when you have to pay.

    • Kilgore Trout@feddit.it
      link
      fedilink
      English
      arrow-up
      11
      ·
      edit-2
      7 hours ago

      It’s a palette of 10 colours. I would guess it uses an indexed colorspace, reducing the size to a minimum.
      edit: 28 KB on disk

      • CameronDev@programming.dev
        link
        fedilink
        English
        arrow-up
        8
        ·
        7 hours ago

        A HTTP get request is a few hundred bytes. The response is 28KB. Thats 280x. If a large botnet wanted to denial of service an Anubis protected site, requesting that image could be enough.

        Ideally, Anubis should serve as little data as possible until the POW is completed. Caching the POW algorithm (and the image) to a CDN would also mitigate the issue.

        • teolan@lemmy.world
          link
          fedilink
          English
          arrow-up
          7
          ·
          5 hours ago

          The whole point of Anubis is to not have to go through a CDN to sustain scrapping botnets

          • CameronDev@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 hours ago

            I dunno that is true, nothing in the docs indicates that it is explicitly anti-CDN. And using a CDN for a static javascript resource and an image isn’t the same as running the entire site through a CDN proxy.