this post was submitted on 14 Aug 2023
506 points (96.5% liked)

Selfhosted

40438 readers
447 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
 

In the past two weeks I set up a new VPS, and I run a small experiment. I share the results for those who are curious.

Consider that this is a backup server only, meaning that there is no outgoing traffic unless a backup is actually to be recovered, or as we will see, because of sshd.

I initially left the standard "port 22 open to the world" for 4-5 days, I then moved sshd to a different port (still open to the whole world), and finally I closed everything and turned on tailscale. You find a visualization of the resulting egress traffic in the image. Different colors are different areas of the world. Ignore the orange spikes which were my own ssh connections to set up stuff.

Main points:

  • there were about 10 Mb of egress per day due just to sshd answering to scanners. Not to mention the cluttering of access logs.

  • moving to a non standard port is reasonably sufficient to avoid traffic and log cluttering even without IP restrictions

  • Tailscale causes a bit of traffic, negligible of course, but continuous.

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

I'd favour own VPN instead of relying on an additional third party

[–] [email protected] 7 points 1 year ago (2 children)

Right? PiVPN is easy AF and uses WireGuard. No reason not to set up something yourself if you're already selfhosting.

[–] [email protected] 9 points 1 year ago (1 children)

Please ELI5: How does this solution work? You tunnel yourself in your home network with a VPN on your PI? How is that safer, isn't there still a port open?

[–] [email protected] 6 points 1 year ago (1 children)

I have a port open, yes, but it's not port 22. The problem with Tailscale is you're trusting a third party. With my setup, it's just me connecting directly to my Pi. Thanks to port forwarding the only open port pointing to my Pi is the one that I use for WireGuard.

I already have a DDNS and domain name pointing to my house, so there's effectively no added risk compared to my existing setup with a couple webapps being reverse proxied behind Caddy on a different device.

[–] [email protected] 1 points 1 year ago (1 children)

Thanks! I think I get too hung up on the VPN-part. If I had a setup where I open one Port to a Pi which is set up as a nginx reverse proxy that redirects the connection to my different services depending on the URL - homeassistant.myserver.com, backup.myserver.com,... - would that be considered a VPN?

[–] [email protected] 1 points 1 year ago (1 children)

no, and that’s be a pretty bad idea, you’re opening up all your internal hosts to the public internet.

a VPN is specifically designed to keep all your internal hosts off the public internet. When you authenticate with the VPN server the remote device you are using effectively “joins” the internal network, using the VPN to act like a tunnel between you and your network.

it has the benefits of better security as well as the fact that once you set it up, you can access any services you host, not just HTTP ones.

[–] [email protected] 1 points 1 year ago

That sounds good, I will read more about setting up a VPN. Thank you!

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

Mine is quick enough to run remote desktop over

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

Same, I use Moonlight/Sunshine to stream my main gaming PC. I can even use wake on lan, so the big chungus isn't drawing power unless I'm using it.

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

Do you have any tutorial that explains what you did? I'd love to try to better understand your setup

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

Well for PiVPN I just followed the docs to get it setup: https://docs.pivpn.io/

Then I port forwarded the port I use for Wireguard to that same port on my Pi with PiVPN on it.

For Sunshine: https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/installation.html

So now when I want to remotely access my gaming PC, I use Wireguard on my phone, use the configured PiVPN setup on there which points to the domain name that I have setup with my DDNS, then I use a Wake On Lan app setup with my gaming PC's MAC address to wake it, then I just log into it with Moonlight like normal

[–] [email protected] 1 points 1 year ago

Isn't port forwarding dangerous?

[–] [email protected] 1 points 1 year ago (1 children)

Do you use Linux if so, are you on Wayland ?

[–] [email protected] 1 points 1 year ago (1 children)

I use Linux Mint, so no Wayland, but Sunshine/Moonlight works on both X11 and Wayland, generally speaking.

[–] [email protected] 1 points 1 year ago

I tried 2 times. It required so many steps it was exhausting, after which I ended up with a half-working install. I just gave up.

[–] [email protected] 2 points 1 year ago

Oh, something new to try, thanks