this post was submitted on 23 Jun 2023
68 points (98.6% liked)

Selfhosted

40263 readers
1166 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
 

Hi all, I'm running a small website off of a raspberry pi in my house. I have opened ports 80 and 443 and connected my IP to a domain. I'm pretty confident in my security for my raspberry pi (no password ssh, fail2ban, nginx. Shoutout networkchuck.). However, I am wondering if by exposing my ports to the raspberry pi, I am also exposing those same ports to other devices in my home network, for example, my PC. I'm just a bit unsure if port forwarding to an internal IP would also expose other internal IP's or if it only goes to the pi. If you are able to answer or have any other comments about my setup, I would appreciate your comment. Thanks!

you are viewing a single comment's thread
view the rest of the comments
[–] Contravariant 5 points 1 year ago* (last edited 1 year ago) (1 children)

If you've set up a VPN to your home net then why not run that VPN from the devices you use to access the reverse proxy? With wireguard at least this is quite easy.

That way you don't have to expose anything you just run a VPN with the reverse proxy in it.

[–] ChrislyBear 3 points 1 year ago* (last edited 1 year ago) (1 children)

My setup is

Internet <---> Reverse Proxy (on VPS) <---> OpenVPN Server (on VPS) <---> VPN Client (home router) <---> local stuff...

I don't understand what you mean? Generally I don't like to require a VPN to access stuff. My use case is, when I'm away I'd like to be able to access things from e.g. a public device, a friends laptop, etc. That's why I'm not using a VPN to access things.

The VPN site-to-site connection is mainly responsible to make network shares available on my Nextcloud instance and provide access to other (local) services via the reverse proxy

Currently I'm rethinking the VPN, but I don't think I can ditch it in favor if e.g. Cloudflare Access tunnels (too unflexible, limited compatibility, or too much hassle to keep everything configured correctly).

Also, I don't use VPN to authorize requests. I use Authelia to authorize users with Free-IPA as directory in the backend.

I know, this might be overkill for my "simple" use cases, but I like to play around with these kind of enterprise-adjacent solutions.

[–] Contravariant 3 points 1 year ago (1 children)

I suppose it depends on what you want to do. I'm currently only hosting stuff for my own purposes so it is fine if I can just access it from devices I trust.

My setup is more like

Wireguard (on Phone/Laptop/etc) <--> Wireguard (on RaspberryPi) <--> Reverse Proxy (on RaspberryPi) <--> local stuff (mostly in docker on RaspberryPi)

The advantage is that the only service accessible from outside is Wireguard, so even if some service running behind the reverse proxy is insecure I'm still the only one with access.

Obviously one of the disadvantages is that I can't access it (easily) from some random device, but I can access it from my phone and in an emergency I do have keys that I can use to install wireguard somewhere else, but I would require admin rights to some device to do so.

[–] ChrislyBear 2 points 1 year ago

Ah yes. I've been there. But since I've onboarded my family onto my domain and they use a few of the services I needed a low but still secure barrier of entry. Hence the more "public" approach.