this post was submitted on 06 Feb 2024
182 points (99.5% liked)

Selfhosted

39947 readers
378 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
 

As the title says, I want to know the most paranoid security measures you've implemented in your homelab. I can think of SDN solutions with firewalls covering every interface, ACLs, locked-down/hardened OSes etc but not much beyond that. I'm wondering how deep this paranoia can go (and maybe even go down my own route too!).

Thanks!

(page 2) 50 comments
sorted by: hot top controversial new old
[–] SidewaysHighways 5 points 9 months ago (1 children)

Following for my own edification!

[–] MigratingtoLemmy 4 points 9 months ago

Hope I get a lot of good answers!

[–] easeKItMAn 5 points 9 months ago (2 children)

I’m somewhat paranoid therefore running several isolated servers. And it’s still not bulletproof and will never be!

  • only the isolated server, ie. no internet access, can fetch data from the other servers but not vice versa.
  • SSH access key based only
  • Firewall dropping all but non-standard ports on dedicated subnets
  • Fail2ban drops after 2 attempts
  • Password length min 24 characters, 2FA, password rotation every 6 months
  • Guest network for friends, can’t access any internal subnet
  • Reverse proxy (https;443 port only)
  • Any service is accessed by a non-privileged user
  • Isolated docker services/databases and dedicated docker networks
  • every drive + system Luks-encrypted w/ passphrase only
  • Dedicated server for home automation only
  • Dedicated server for docker services and reverse proxy only
  • Isolated data/backup server sharing data to a tv box and audio system without network access via nfs
  • Offsite data/backup server via SSH tunnel hosted by a friend
[–] [email protected] 5 points 9 months ago (4 children)

Why would you rotate passsord though?
Rather choose something random and strong than changing it every 6th moon.

load more comments (4 replies)
[–] MigratingtoLemmy 2 points 9 months ago (1 children)

Would you have to compromise on your security according to your threat model if you ran VMs rather than dedicated devices? I'm no security engineer and I don't know if KVM/QEMU can fit everyones needs, but AWS uses XCP-ng, and unless they're using a custom version of it, all changes are pushed upstream. I'd definitely trust AWS' underlying virtualisation layer for my VMs, but I wonder if I should go with XCP or KVM or bhyve.

This is my personal opinion, but podman's networking seems less difficult to understand than Docker. Docker was a pain the first time I was reading about the networking in it.

Really like your setup. Do you have any plans to make it more private/secure?

load more comments (1 replies)
[–] [email protected] 5 points 9 months ago

Air gapping? I keep a offline backup just in case.

[–] hperrin 4 points 9 months ago* (last edited 9 months ago)

I have Nginx Proxy Manager set up to let me access services running HTTP on other ports on the machine with a local network only access list just so my traffic even in my own network will use TLS. The likelihood that anyone is sniffing traffic on my own network is extremely small, but I’m paranoid. (Can’t let anyone see that I’m running Ubuntu Server. How embarrassing.)

[–] [email protected] 4 points 8 months ago

I used to have all VMs in my QEMU/KVM server on their own /30 routed network to prevent spoofing. It essentially guaranteed that a compromised VM couldn’t give itself the IP of say, my web server and start collecting login creds. Managing the IP space got painful quick.

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

For about a year I was running a full out of band IPS on my network. My core switch was set up with port mirroring to spit out a copy of all traffic on one port so that my Suricata server could analyze it. Then, this was fed into ElasticSearch and a bunch of big data crap looked for anomalies.

It was cool. Basically useless because all it did was complain about the same IP crawler bots as my nginx logs. But fun to setup and ultimately good for my career lol.

load more comments (1 replies)
[–] [email protected] 2 points 9 months ago

npftables blocks all incoming except a particular set of ips. any connections from those ips hit pubkey authentication.

I've never had a problem

[–] agent_flounder 2 points 9 months ago (1 children)

I am clearly not paranoid enough. For a while I was running an open source router inline between the network AP and the fiber to Ethernet box and running nids but the goddamn thing kept crapping out every few days so i took it back out until I can find a more stable solution.

I have plans if I can ever get around to it. I want the smart TV, printer and other shitty things on a separate network from the more trusted devices. I don't know how yet but I would like to set up 802.1X for the trusted stuff.

load more comments (1 replies)
[–] Presi300 2 points 9 months ago* (last edited 9 months ago) (2 children)

Mine's pretty simple, I have a "don't open ports until ABSOLUTELY NECESSARY" policy, wireguard works well enough for everything else I need to access remotely. I also keep SSH disabled on any machine that has direct access to the internet.

load more comments (2 replies)
load more comments
view more: ‹ prev next ›