this post was submitted on 21 Sep 2024
1 points (100.0% liked)

Self-hosting

2822 readers
1 users here now

Hosting your own services. Preferably at home and on low-power or shared hardware.

Also check out:

founded 2 years ago
MODERATORS
 

Hey guys!

I want to convert my now corebooted Thinkpad T430 into a Nextcloud server and possibly more (Syncthing, maybe Tor, maybe more)

1 500GB SSD, 1 1TB SSD

Currently runs Fedora Kinoite, I could rebase to something like secureblue uCore, Fedora IoT, uBlue uCore, ...

Not sure if those would have broken configs though.

Maybe I would prefer something with slower pace, but tbh the pace of CentOS bootc becoming a thing is quite frustrating. This would likely be the perfect 'install and forget' distro for many, a KDE Image would be there in no time.

I wouldnt want to use a traditional distro, even though a base Debian or AlmaLinux/ Rockylinux (what the hell was that of a hydra? Cut off one head, spawn 2? what are the differences??) could just be fine. I used Debian in the past, it really just works.

I would like

  • Nextcloud AIO docker image, maybe with podman? It is supposedly more secure but the world runs on Docker, and all is fine. Podman is a pain quite often.
  • some nice management like Cockpit
  • dyn DNS, for example with NoIP, best free
  • secure ssh, that should be no issue
  • btrfs? or zfs? with backups to a secondary drive
  • automatic updates with snapshot creation. Atomic system would be easiest here.
  • easy to use and secure reverse proxy, with DynDNS for reliable address on the internet. NGINX, Traefik, Caddy, what is the best here??

Here I am not sure if I should use 1TB + 1TB, or 500GB used and 1TB backup. BTRFS backups can be incremental.

while I made a list of BTRFS tools I still have no idea what the best tool for this job is.

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

Thanks for the tips!

Both SSDs are SATA and I want to LUKS encrypt both too.

So automatic updates could work, but I guess I would need to manually reboot as there is no remote LUKS unlock option. Debian has one?

That would also be a reason against Fedora with its very fast release cycle.

[–] [email protected] 0 points 3 months ago (1 children)

I would carefully think about what realistic threat scenario full disk encryptio protects you from.

On a server that runs 24/7 at-rest disk encryption usually helps very little, as it will be nearly always unencrypted. But it comes with significant footguns potentially locking you out of the system and even preventing you from accessing your data. IMHO in most cases and especially for beginners I would advise against it for a home based server.

[–] [email protected] 0 points 3 months ago* (last edited 3 months ago) (1 children)

Hm, so when using Nextcloud, is the db itself encrypted or something?

All my devices are encrypted.

Access to the decrypted data requires RAM access, or even a cold boot attack. There are people that only use their USB 3.0 ports and desolder all the rest, because normal (non thunderbolt) USB is pretty safe and has no access to the RAM, unlike PCIe, SATA etc.

This would be fun and certaily possible modifying the hardware to fit those SSDs still inside the case could be fun too.

I have 4 enclosures for that, and using Ethernet would mean the Wifi Card (Intel AX3000, a modded 200 for mPCIe) could be removed.

https://www.spiegel.de/netzwelt/web/hardware-hacker-wie-man-einen-laptop-vor-angreifern-schuetzt-a-955702.html

Or access to the server via ssh (fail2ban, strong keys) or the admin or user nextcloud accounts (again with strong passwords and possibly TOTP or webauthn).

I already fiddled with the required Nextcloud Addons for TOTP and it worked great. Webauthn is an Android/GrapheneOS limitation poorly, maybe that gets fixed some day.

The issue of course is upgrades. I should do a second post on that topic. There are solutions for that, like mounting encrypted partitions and running Nextcloud on there. This could be automated.

For the obvious raid attack, I would have a udev rule that detects when AC is disconnected and then performs a clean shutdown.

[–] [email protected] 0 points 3 months ago (1 children)

No the Nextcloud DB is not excrypted, but neither is your LUKS file system while the computer is running. Anyone getting access to the server while it is running, can access all the data unencrypted. For a server this is the much more likely scenario than for a Laptop, which might get stolen while turned off.

At-rest disk encryption is useful for servers in co-location hosting, where a 3rd party might be able to pull a disk from the system, or if you are a large data-center that regularly discards old drives with customer data, and you want to ensure that no 3rd party can access that data from the discarded drives.

[–] [email protected] 0 points 3 months ago (1 children)

Yes the threat model is people pulling out the drive, of course.

How should they get access to the server when it is running? You still need to connect to it and log in, which wouldnt be the case.

[–] [email protected] 0 points 3 months ago

It is possible that people get access to your server while it is running via known or unkown software vulnerabilities, but that isn't really the point... all I am saying is that if you host your server at home, it is unlikely that at-rest disk-encryption does you any good and it certainly doesn't help to protect against illicit remote access.

What it does "help" is preventing you from remotely accessing your own server if it rebooted for some reason... and many other such footguns that you will experience sooner or later.