this post was submitted on 10 Jul 2023
35 points (94.9% liked)

Selfhosted

40732 readers
389 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 2 years ago
MODERATORS
 

Hi folks, I'm just getting into this hobby thanks to the posts in this community. So far, I've installed Ubuntu server 22.04 on an old laptop and got paperless working, and I'm pretty pumped. Now I would like to access it outside of my home network on my phone.

I have a Netgear R7000 with Advanced Tomato installed. Here's my plan, but I don't know if it would work... So I'm hoping for a peer review of sorts.

  • Get openVPN working on the router as a server.
  • make a certificate for my phone and use it as a client.
  • use my fedora laptop as the CA (?).

I think I need to use easy-RDA to make the keys and certificates...

Does that sound about right? It's this a good approach or is there something better/easier/more effective?

If there's a great tutorial around for accessing the home network externally, I'd super appreciate it. Would obviously prefer to do it myself and not pay for a service... I've been enjoying the learning experience!

you are viewing a single comment's thread
view the rest of the comments
[–] Dark_Arc 2 points 1 year ago (1 children)

I think it's pretty secure and it will be getting better soon. In reality, I think it's much more secure than what most people will end up with otherwise.

ZeroTier is open source, long running without incident, and the traffic is encrypted between peers.

The threat model is basically two fold though, in theory someone who has control of the ZeroTier roots (if you're not using your own controller, if you're using your own, then s/their roots/your roots/) could add routes to your devices, and add/remove devices that are part of your confirmation.

The encryption also doesn't currently have perfect forward security, so if there's a compromise in one of your connections, in theory some past state of that connection could be decrypted. In practice, I'm not sure this matters as traffic at a higher level for most sensitive things uses its own encryption and perfect forward security (but hey maybe you have some software that doesn't).

The other thing I will note about that last point is that they're working on a rust rewrite that will have updated crypto, including perfect forward security.

[–] RustedSwitch 1 points 1 year ago (1 children)

Thank you for the write up! Very helpful.

The use case I was wondering about is batch printing from a cloud solution. The print batch files could be encrypted, but I work with multiple solutions and I’m not confident that all of them encrypt those files. If it’s possible to crack old batches, that could expose sensitive information.

[–] Dark_Arc 2 points 1 year ago

If you send these files over SSH, you're good as that's encrypted by ZeroTier and then encrypted again inside the SSH connection (and SSH does have perfect forward security).

See their cryptography section of their docs for more info.

You can read more here about what they're working on:

It's been to long since I've read that to give anything more than a condensed "they're improving their crypto significantly with ZeroTier 2" (not to mention memory safety via Rust).