this post was submitted on 16 Oct 2026
9 points (100.0% liked)

Selfhosted

62990 readers
1086 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:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

Hi selfhosters,

I'm considering improving the security of my homelab/server setup and I'd love to hear some more experienced opinions on my plans.

Like most self-hosters, I started out with a single-server setup: I cobbled together some old hardware, slapped on a NAS-style OS, bolted on Docker and started experimenting. As things go, my setup has grown a lot over the years. I'm running a lot on that machine - NAS capability, local DNS via pihole, a Wireguard VPN endpoint (so I can tunnel into the LAN from outside), many private services (accessible only from inside the LAN), but also some public ones accessible from the open web.

Although I've tried to do my homework in terms of security (various hardening measures for SSH and Docker, reverse proxy, proper SSL termination for everything), I realise I've put a lot of eggs in that one basket and I might want to introduce some network segmentation.

I don't think I'm ready for getting a hardware firewall or a router/switch capable of VLANs just yet. What I'm considering, though, is putting my services available from the open internet on a separate server inside my network - a little Pi 5 I've still got lying around. My idea is that if a container on that is breached and if an attacker manages to escape the container to gain root access, compromise would be limited to the few of publicly available services I have on the Pi, thus limiting blast radius. If combined with (software) firewall rules that make the Pi a 'pariah node' (dropping all incoming connection efforts), lateral movement to other devices on the network could be contained.

An alternative would be to finally make the move to Proxmox. Everything would still be running on one physical machine, but I'd create several VMs: there would be one for private, one for publicly available services, and I'd firewall the latter off rigorously so it cannot connect to anything else.

I'd like your opinion on these plans. Which one would you recommend? Are they both sound, or is there anything I haven't considered? Are there other (easy, non-hardware intense) things I could do to improve security even more?

top 6 comments
sorted by: hot top controversial new old
[–] werebearstare@lemmy.ca 3 points 14 minutes ago

Security architect at a large enterprise here, so grain of salt with what I say as it may be overkill for your use case. First question you have to ask yourself is so what? If they completely compromise your devices, what impact will that have? Establish what your hard and soft limits are. Are you ok with your device becoming a crypto miner? If not, what controls can you put in place? e.g. CPU/GPU monitoring and alerting. Are you worried about threat actors stealing your personal data? Consider encrypting your drives and applying least privilege (don't have a single user account). Worried they will do the favour of encrypting your drives for you? Look into off site storage.

If you are only using docker, the switch to Proxmox may give you trouble as docker isn't supported. That said, I run Proxmox and have everything as an LXC and I think it is an excellent technology. If you stay on Docker, look up the OWASP Docker cheat sheet. It will help you to lock everything down tightly. You could also migrate to podman. Still not comfortable with the risks and controls at that point? Look at creating docker networks or a SDN. Also, log into your router. You may find that you can create a DMZ to limit an adversaries ability to pivot.

Feel free to reach out and ask more.

[–] trojanbark@lemmy.world 1 points 5 minutes ago

I was in your position a few years ago. Went the Proxmox route. For many services, don't make separate VMs, but instead separate LXC containers. Saves time and space.

[–] CameronDev@programming.dev 1 points 1 minute ago

Is lateral movement really a risk for you? Most internet malware is fully automated drive-by stuff. They hit you, gain execution and your part of their botnet. They don't need to move laterally, because they have all the execution they need.

Moving laterally requires a human (or agent these days), which has a non-zero time and resource cost, so the only reason anyone is going to do that to you is if you are a very valuable target.

Do whatever you like for learning/fun, but I wouldn't stress to much. Your risk level is probably very low.

[–] Reannlegge@lemmy.ca 1 points 10 minutes ago

I respect what you said about your own firewall, however I disagree with it! ISP modem/firewall’s are rarely if ever updated/upgraded. I thought I was fine without a hardware firewall until I started getting into some of my more darring adventures into home labbing. I was using DuckDNS for things, but decided I wanted to be able to do more so I needed a static IP. Luckily my ISP offers two static IPs for free so I got those.

I hope part of your hardening SSH is changing the port number! If you want to keep your LAN safer with a firewall, and something small like a pi zero (I use a pi zero 2), you can setup a honey pot vLAN. Again I realize you said not interested in a firewall, but I am saying a honepot helps.

[–] irq0@infosec.pub 1 points 35 minutes ago

Containing lateral movement of a compromised machine is hard

Before doing anything else , consider if you actually need to expose anything to the internet at all. Running a VPN would let you reduce your exposed service to 1 port ( wireguard is UDP based so it's harder to test if the port is open too ). A VPN like NetBird / tailscale / Cloudflare warp don't need you to open any ports at all

Except for services that absolutely must be open to the internet ( like my Tor Relay ) I access everything via NetBird

[–] sznowicki@lemmy.world 1 points 56 minutes ago

I personally go with VMs. Except of some services that I run on Hetzner.

I got one Debian server that runs multiple VMs with tailscale. Then one Hetzner VPS with Caddy. This one acts as a public gateway.

Some things are still running bare metal, like Immich or Jellyfin because of apple hardware. However the level of entropy I have now is th opposite of all eggs in on basket. I sometimes forget what do I have where and have to look it up in my docs.