I have everything I host and expose behind authelia (which requires 2fa) as middleware or as the only login method with oicd, thus far it seems to work well, of course I get a bunch of malicious traffic and spam but this gets to authelia and stops there, I don't even see multiple tried login tries ever so I felt pretty safe. However it does seem that everyone uses either fail2ban or crowdsec in addition so I have been wondering if it would really add any security in my setup or if I'm missing something. I'm sure it wouldn't hurt but crowdsec always seemed a little too complex for me and I don't want something I don't fully understand in my security layer and I never saw a nice way to setup fail2ban so never bothered. Afaik there's no webui or such things and you have to manually make working regex for everything. I'd like to know if I'm missing something or if anyone has tipps to give

all 20 comments

sorted by: hot top controversial new old
[–] 19 points 1 month ago

Generally, your auth provider (assuming setup correctly) should be one of the most secure components of your internet-exposed setup. That being said, vulnerabilities can and do occur. Adding a combination of Crowdsec, OWASP CRS, other ModSecurity rulesets, and/or fail2ban will add a degree of migitation of potential exploits by blacklisting known bad actors/active bad behavior.

Above all, you should have a plan to keep aware of updates to your publicly-exposed software and be able to deploy those updates in a timely fashion.

  • source
  • [–] 12 points 1 month ago

    Fail2ban is just another tool in your toolbox. Defense in depth, as others mentioned.

    Fail2ban is primarily a tool to prevent brute force attacks, especially useful for services that don't do their own throttling. For example I usually put ssh in fail2ban, but if Authelia's built-in protection is good enough, then use that.

    Outside ssh, anything that could be used to brute force credentials should be in fail2ban if they're exposed: web sites with simple auth, mail, etc.

  • source
  • [–] 10 points 1 month ago* (last edited 1 month ago) (3 children)

    Authelia should come with rate limiting to protect against brute-force attacks. That could be enough.

    I'd generally advise to make sure such protection actually works. Like look up the limits and try to login with a wrong password 30 times... Especially if you added stuff on top (fail2ban, crowdsec...). Has happened to me I misconfigured stuff and it didn't limit anything... Now I check to make sure for important bits like an authentication service.

  • source
  • hideshow 3 child comments
  • [–] [S] 3 points 1 month ago (1 child)

    i do have ratelimiting configured but yes i never tested it which i should

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 month ago* (last edited 1 month ago)

    Guess if it works, you don't really need fail2ban as f2b pretty much does the same job. I mean it can do more, but you don't really need to protect against PHP issues, broken wordpress plugins etc since none of that is part of Authelia.

    I use fail2ban, as I have SSH running and several other services exposed which come with default fail2ban configurations. And I never got crowdsec running properly. So I skipped it. I think frequent updates and all those things are more important than a web application firewall anyway.

  • source
  • parent
  • [–] 6 points 1 month ago

    I used to have my system through CrowdSec and authentik. Now it's Lan and Vpn only. Ai makes things too spicy for my liking.

  • source
  • [+] 5 points 1 month ago (1 child)
  • [–] 8 points 1 month ago (2 children)

    Security works in layers. You don't know if there's a vulnerability in Authelia.

  • source
  • hideshow 2 child comments
  • [–] [S] 3 points 1 month ago (1 child)

    sure but if there would be an exploit in authelia would f2b even help, isnt the way it works that it blocks mostly spam and known bad traffic? If its already known by filterlists i feel its safe to assume its patched in authelia

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 1 month ago* (last edited 1 month ago)

    My network has all the web ui stuff kept local and only accessible via OpenVPN on port 443, with fail2ban as well.

    By the time a would-be attacker realizes it's not actually a webserver, they'll have exhausted most, if not all, of their public IP addresses on fuzzing for webserver vulnerabilities.

    EDIT: and as a bonus, I can also just punch out through the firewall my work has on the visitor network with ease. All I needed was a second fail2ban rule for their static IP to deal with followup scans.

  • source
  • [–] 1 point 1 month ago

    Put as many layers in your onion as possible, also limit outbiund traffic which will make further exploration more difficult (especially if it's an automated attack)

  • source
  • [–] -3 points 1 month ago (5 children)

    Please don't expose your services to the internet directly. Use something like Tailscale/Headscale/whatever mesh VPN is relevant now. It'll always be 100 times better than this and you wouldn't worry about Authelia, f2b and CrowdSec (though updating your services and server(s) is always worth it).

  • source
  • hideshow 5 child comments
  • [–] 2 points 1 month ago

    “Okay mom, you need to install this VPN, log in, and make sure it’s on whenever you’re using Immich. Can you install it for Dad too? Now I’m going to call grandma back and explain that it isn’t a Deen Peen Em and she’s never going to find that.”

    There are times and places. The moment you want the non tech side of the family involved, a proper with server over the open internet is usually the better option.

  • source
  • parent
  • [–] 1 point 1 month ago (1 child)

    But I run a VPN on my phone by default, so I'd have to disconnect from that to access stuff on my home network (and remember to turn it back on after).

    That's why I'm planning on using mTLS until I get my router configured to direct my BTH VPN through the gateway I have running on my phone.

    I just need to figure out how to get VLANs properly set up in Mikrotik without having to nuke everything and start from scratch.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 1 month ago

    I, too, run an always on VPN from my mobile devices. I can still access my home network with pihole and DNS entries to my services. It's not that difficult. I agree though, mTLS is a good option.

  • source
  • parent