this post was submitted on 27 Oct 2023
1 points (100.0% liked)

Self-Hosted Main

502 readers
1 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.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 1 year ago
MODERATORS
 

I set up Nginx Proxy Manager just for general local security, but I'm behind CGNAT so I use ZeroTier (which I'm happy with). I have a Pi with NPM and Adguard plugged into my router, and a bunch of other Docker containers and other self-hosted programs on my main machine. I set up my domain with cloudflare, so mydomain.com points to my local npm address, 192.168.x.x, used the wildcard letsencrypt ssl so i can access my stuff from jellyfin.mydomain.com, adguard.mydomain.com, etc, then set up NPM to point each subdomain to it's correct service, so 192.168.x.x:8096 => jellyfin.mydomain.com. I also setup adguard with wildcard DNS rewrites.

However, I used wireshark to check if all was well, but the traffic between my main machine and my pi is unencrypted. This makes sense in retrospect, but kind defeats the point of what I was going for, since I have not-so tech savvy family members, and having the password for stuff like guacamole just floating around the LAN in plain text is kind of off-putting. I figured I'll just centralise the more important services on the pi since it doesn't have the http issue, or maybe expose the docker socket of my main machine with tls enabled? If there's another way of doing things, or if I've missed something, I'd be grateful for any advice, but I'd rather not have to deal with self-signed certificates.

top 12 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 10 months ago

Everything in my LAN is TLS-protected. Primarily because of convenience (no 'unsafe' warnings), unification (all I do everywhere is TLS). Also for learning purposes (I like challenges). Security is on the last place here (but is still important to me).

Probably your main threat is not people, but malware. Especially since they are not tech-savy. Remember how $35M of crypto assets were recently stolen: in the beginning it was a LastPass engineer who did not update his Plex instance.

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

I use traefik as reverse proxy in front of my services and have it generate let‘s encrypt certificates with dns-challenge. Do Inexpect MIM attacks at my home. No not necessarily because they would be physical access to my infrastructure but yeah having it this way feels just better.

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

So wait, if you say you got LE certs for mydomain.com why not activate HTTPS in NPM? If you set up the NPM config for jellyfin.mydomain.com with "Force SSL" then you should always have an encrypted connection.

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

I do something similar:

Incoming traffic ---[https traffic]---> reverse proxy ---[https traffic]---> real services (emby, etc).

The traffic from my browser to the reverse proxy is encrypted with TLS certs from letsencrypt. Whenever possible (it usually is), I configure the real services to expose HTTPS endpoints even if they are just with self-signed certs. That way the proxy-to-service traffic is also encrypted.

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

maybe this a dumb point, but you can hide it behind reverse proxy all you want but you will also need to FW off the actual service from the rest of the network, as otherwise it's still accessible via 192.168.x.x

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

It's worth it. At some point you might enconter a service that requires SSL to work even on LAN. I treat them like pipes. The fewer pipes i need to pipe traffic through, the easier it is.

I use split DNS to access services locally, over the internet and via VPN. Everything is behind a Traefik proxy that uses wildcard certs. It enforces SSL for everything and I have just one pipe to think about.

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

You've got tech illiterate family and for some reason you're concerned that they're going to snoop packets on your LAN and find passwords...?

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

But uncle joe might have some spyware on his laptop which does it...

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

There are nicer ways to say that...

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

No lmfao, my concern that they’d be using a compromised device on the LAN, not snooping packets themselves.

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

That's a fair call. VLANs would help if you have the option to create a guest network within your environment. If you did want to set up encrypted traffic within the network, you're starting to bridge into zero trust. Which is a great technology to get to know in today's cyber security landscape.

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

The phone call is from the inside!