this post was submitted on 13 Jul 2024
17 points (87.0% liked)

Selfhosted

40006 readers
646 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

I've been using Cloudflare tunnels in my homelab. I'm wondering how well they resist subdomain discovery/enumeration by bots/malicious actors. I’m aware that security through obscurity isn’t a real strategy, but I am curious about this from a purely academic standpoint. Aside from brute force guessing, are there any other strategies that could be used to find the subdomains of services tunneled through cloudflare?

top 3 comments
sorted by: hot top controversial new old
[–] chiisana@lemmy.chiisana.net 12 points 3 months ago
[–] beerclue@lemmy.world 3 points 3 months ago

I use wildcard certs. I don't know if this completely fixes the issue, though.

[–] schizo@forum.uncomfortable.business 3 points 3 months ago* (last edited 3 months ago)

The Cloudflare certs CN are yourdomain.com and *.yourdomain.com, so enumeration via that means is not really going to lead anywhere.

Cloudflare is resistant to, but not totally immune from, DNS enumeration. But, frankly, the attack profile you're concerned about isn't likely to have the resources to do proper enumeration: automated bots are going to guess a static list of hosts, not spend time trying to scrape data out of DNS.

TLDR: don't use common service names, don't use common activity (don't use jellyfin. or movies. or media. or tv. and so forth) and make sure your host responds with something aggressively fuck-off for non-matched requests. For nginx, the default_server site configuration I'm using sends what's likely real humans to a rickroll, and everybot else gets a 444 which is nginx for go fuck yourself.