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

Selfhosted

39964 readers
248 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!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 6 points 9 months ago* (last edited 9 months ago) (3 children)
  • full disk encryption on everything except the router (no point in encrypting the router)
    • the server doesn't have a display connected for obvious reasons, so I'm manually unlocking it via ssh on each boot
      • obviously, the SSH keys are different, so the server has a different IP in initrd. That said, I still don't have any protection against malicious modification of initrd or UEFI
  • the server scans all new SSL certificates in realtime using certspotter and notifies me of any new certificates issued for my domains that it doesn't know about (I use Cloudflare so it triggers relatively often, but I still do checks on who the issuer is)
  • firewall blocks outgoing 25 so nobody can impersonate my mailserver
[–] [email protected] 1 points 9 months ago (1 children)

Thanks, I'd like to know more about your public-facing setup using cloudflare

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

there's not much to know about it, I use Cloudflare simply because its routing is better than direct IP connections for many places on Earth. I can't fully use Cloudflare anyway because I host many non-web services.

[–] [email protected] 1 points 9 months ago

I use a similar setup, but use a USB for my boot drive that has the lvs partition encryption keyfile. I find it much handier since my computer is not near my server. I can boot and then walk upstairs and it is ready, and remove the USB later.

Then there is no way to brute force the decryption or get a password out of me. Also, when the USB is removed and put in a safe place, there is no way to modify the boot partition or UEFI either.

Then I have a password encryption on my data harddrives that I don't know the password to, but is on my password manager.

The thing about being paranoid about this stuff is that I probably focused on the wrong thing. A smash & grab is completely protected against, but that is like a 0.1% chance anyway and a 0.1% chance on top of that 0.1% chance that it would be targeted enough that they would even try to decrypt it.

Full disk encryption is really only usefully at all for an unpowered system. Network hardening will probably take care of 99.99% of attack attempts where encryption is 0.01%.

Even for a laptop, if it gets stolen in public, it is still running and can have the keys extracted or break into the running system if someone really wants to hack it. They wouldn't even try to reboot and break the disk encryption probably...

Too much info, but I guess I am just rambling about how dumb my approach probably is 😅

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

You might be interested in setting up network bound encryption via Clevis and Tang. I use a hidden pi zero in my house acting as a Tang server. It's great being able to reboot any of my encrypted servers without having to manually unlock disks.

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

Do you recommend any resources about this? I'd be interested in learning how to implement this.

[–] [email protected] 2 points 9 months ago

I'm using the recently merged Clevis module for NixOS. There was a recent talk at FOSDEM about it.

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

I know about it, but it kinda defeats the purpose (the purpose being police raid protection)