this post was submitted on 08 Aug 2024
498 points (99.0% liked)

Selfhosted

39964 readers
313 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
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 49 points 3 months ago (9 children)

Browsers barf at non https now. What are we supposed to do about certificates?

[–] [email protected] 27 points 3 months ago (1 children)

If you mean properly signed certificates (as opposed to self-signed) you'll need a domain name, and you'll need your LAN DNS server to resolve a made-up subdomain like lan.domain.com. With that you can get a wildcard Let's Encrypt certificate for *.lan.domain.com and all your https://whatever.lan.domain.com URLs will work normally in any browser (for as long as you're on the LAN).

[–] [email protected] 24 points 3 months ago (4 children)

Right, main point of my comment is that .internal is harder to use that it immediately sounds. I don't even know how to install a new CA root into Android Firefox. Maybe there is a way to do it, but it is pretty limited compared to the desktop version.

[–] [email protected] 8 points 3 months ago

You can't install a root CA in Firefox for android.

You have to install the cert in android and set Firefox to use the android truststore.

You have to go in Firefox settings>about Firefox and tap the Firefox logo for a few times. You then have a hidden menu where you can set Firefox to not use its internal trust store.

You then have to live with a permanent warning in androids quick setting that your traffic might be captured because of the root ca you installed.

It does work, but it sucks.

[–] [email protected] 6 points 3 months ago

This is not a new problem, .internal is just a new gimmick but people have been using .lan and whatnot for ages.

Certificates are a web-specific problem but there's more to intranets than HTTPS. All devices on my network get a .lan name but not all of them run a web app.

[–] [email protected] 1 points 3 months ago (1 children)

You do not have to install a root CA if you use let’s encrypt, their root certificate is trusted by any system and your requested wildcard Certificate is trusted via chain of trust

[–] [email protected] 12 points 3 months ago

That's if you have a regular domain instead of.internal unless I'm mixing something. Topic of thread is .internal as if it were something new. Using a regular domain and public CA has always been possible.

[–] [email protected] 0 points 3 months ago (1 children)

They didn't make this too be easy to use. They don't give a shit about that. That isn't their job in the slightest.

They reserved a TLD, that's all.

You can use any TLD you want on your internal network and DNS and you have always been able to do that. It would be stupid to use an already existing domain and TLD but you absolutely can. This just changes so that it's not stupid to use .internal

[–] [email protected] 1 points 3 months ago (1 children)

No one is saying it is their job.

Merely that using a TLD like .internal requires some consideration regarding ssl certificates.

[–] [email protected] -1 points 3 months ago (2 children)

But why are people even discussing that?

This is about an ICANN decision. TLS has nothing to do with that. Also you don't really need TLS for self hosting. You can if you want though.

[–] [email protected] 2 points 3 months ago

Because people can discuss whatever they like?

If you don't like it just down vote it.

[–] [email protected] 1 points 3 months ago

People can talk about whatever they want whenever they want. The discussion naturally went to the challenges of getting non-self-signed certificates for this new TLD. That's all.

[–] [email protected] 21 points 3 months ago

Nothing, this is not about that.

This change gives you the guarantee that .internal domains will never be registered officially, so you can use them without the risk of your stuff breaking should ICANN ever decide to make whatever TLD you're using an official TLD.

That scenario has happened in the past, for example for users of FR!TZBox routers which use fritz.box. .box became available for purchase and someone bought fritz.box, which broke browser UIs. This could've even been used maliciously, but thankfully it wasn't.

[–] [email protected] 14 points 3 months ago

Either ignore like I do or add a self signed cert to trusted root and use that for your services. Will work fine unless you're letting external folks access your self hosted stuff.

[–] [email protected] 10 points 3 months ago (2 children)

Quite literally my first thought. Great, but I can't issue certs against that.

One of the major reasons I have a domain name is so that I can issue certs that just work against any and all devices. For resources on my network. Home or work, some thing.

To folks recommending a private CA, that's a quick way to some serious frustration. For some arguably good reasons. On some devices I could easily add a CA to, others are annoying or downright bullshit, and yet others are pretty much impossible. Then that last set that's the most persnickety, guests, where it'd be downright rude!

Being able to issue public certs is easily is great! I don't use .local much because if it's worth naming, it's worth securing.

[–] [email protected] 2 points 3 months ago (1 children)

My Asus router is actually able to get a certificate and use DDNS which is really interesting.

[–] [email protected] 0 points 3 months ago (1 children)

Makes ya wonder what else it’s doing that for…

[–] [email protected] 3 points 2 months ago

So you can access your router's config page without blasting your password in plaintext or getting certificate warnings. It's an optional feature.

[–] [email protected] 1 points 3 months ago

Same thing we do with .local - "click here to proceed (unsafe)" :D

Set up my work's network waay back on NT4. 0 as .local cuz I was learning and didn't know any better, has been that way ever since.

[–] [email protected] 6 points 3 months ago (2 children)

You can set up your own CA, sign certs and distribute the root to every one of your devices if you really wanted to.

[–] [email protected] 24 points 3 months ago

Yeah I know about that, I've done it. It's just a PITA to do it even slightly carefully.

[–] [email protected] 4 points 3 months ago (1 children)

I found options like .local and now .internal way too long for my private stuff. So I managed to get a two-letter domain from some obscure TLD and with Cloudflare as DNS I can use Caddy to get Let's Encrypt certs for hosts that resolve to 10.0.0.0/8 IPs. Caddy has plugins for other DNS providers, if you don't want to go with Cloudflare.

[–] [email protected] 3 points 3 months ago (1 children)

Might be an idea to not use any public A records and just use it for cert issuance, and Stick with private resolvers for private use.

[–] [email protected] 3 points 3 months ago (1 children)

It's a domain with hosts that all resolve to private IP addresses. I don't care if someone manages to see hosts like vaultwarden, cloud, docs or photos through enumeration if they all resolve to 10.0.0.0/8 addresses. Setting up a private resolver and private PKI is just too much of a bother.

[–] [email protected] 1 points 3 months ago

My set up is similar to this but I'm using wildcards.

So all my containers are on 10.0.0.0/8, and public dns server resolves *.sub.domain.com to 10.0.0.2, which is a reverse proxy for the containers.

[–] [email protected] 3 points 3 months ago
[–] [email protected] 3 points 3 months ago* (last edited 3 months ago) (1 children)

Maybe browsers could be configured to automatically accept the first certificate they see for a given .internal domain, and then raise a warning if it ever changes, probably with a special banner to teach the user what an .internal name means the first time they see one

[–] [email protected] 1 points 3 months ago

The main reason this will never happen is that the browser vendors make massive revenue and profit margins off of The Cloud and would really prefer that the core concept of a LAN just dies so you pay your rent to them.