I am currently the only person using my server and I’m aware that when I perform backups (using rsync over ssh) I have direct access to all the files. In the future I would like to share my server with other people in my home, but I would want to remain the sole admin (to make the other users’ lives easier). I am wondering if there is some kind of established “zero trust” backup approach that would allow me to backup everyone’s files but without having direct access to the files?
I feel that the answer is “no” but I’m very much self taught in these things and I don’t know what I don’t know. If my request is feasible I’d appreciate if someone could provide links to resources.
If you mean not having access to the backed up files then yes, you encrypt the files before pulling them to the nas. The encryption key lives on the target PC and encryption happens there.
If you want to not have access even to the backed up PC then yes, push configuration via write only rsync with encryption happening clientside.
Problem is encryption will mess up incremental backups.
Another option could be luks on top of zfs (or zfs encryption but I have never used those).
Yes I thought that encryption would ruin incremental backups.
To your question, I mean that I should not be able to have access to other people’s files anywhere at all. Both the live files and the backup should be inaccessible to me. But as the server adminstrator I would like to manage all users’ backups (to make their lives simpler).
Basically I would like to offer people in my home access to my server as an alternative to 3rd party cloud services. I will need a robust back up system to stand a chance of being taken seriously. But I am also anticipating that if I have to tell them “I’ll be able to see your files” they will just stay with the 3rd party option (even if the 3rd party option can already see their files).
I feel a bit dumb asking but since I’m not an expert I’m just wondering if there is any way to address this.
I need to correct myself. You can do incremental encrypted backups. I confused that with the ability to send file diffs only (like rsync done). No idea how I did that.
Anyway, if the files are backed up to your server then you have access to them. Now can you get the data? Not if it is client side encrypted.
If that is not good enough then I guess there is nothing to be done.
No. If you have root/admin, even with the right permissions for the user’s files, you can always change the file permissions if you want, right?
Create a new user, per user and use permissions so the users can’t see, delete other’s files.
If using SMB, create a dataset per user and use the “personal/secure” (can’t remember the specific name) kind of share so it uses the user’s name/I’d as part of the share (avoids other users from seeing other users shares).
If each client MUST use client encryption, then encrypt in your backup software.
I do not use syncthing as it’s not muiltiuser friendly (one port and service/docker per client), so I use a windows image and file backup software that does have builtin password/encryption support.
But, because I’m the one that would set it up, I would have to know such passwords, right?
That’s why, for me, as long as other users cannot see, mount or download backups from other users, no individual backup encryption is needed.
Thank you both for the responses. My apologies for the delay.
@MSameer It’s interesting to learn that encrypted backups are possible. If we imagine that I expose a single folder to a user for them to add their data to, is there any simple software I could provide for the user for them to conveniently decrypt that single folder and then perhaps have it automatically encrypt when they log off/power off? If such a thing is possible then I could very easily just tell my (very small) number of users not keep the folder encrypted during “back up hours” (or somehow enforce it so backups can’t happen while users are live). During back up hours I would then perform the incremental encrypted back up? Feasible?
@truenas-fan do you have some examples of appropriate backup software? Also I did not understand the “windows image” part (but I am strictly linux only so maybe not relevant idk).
Windows image = Full OS backup. Including boot sectors and partitioning scheme, all in one file so you can redeploy that system, fully, again.
This is versus plain File Backup, great for Documents, Pictures, etc.
Which would require a new Windows install if the hard drive dies and there is no full, image backup.
My current Windows Backup software is Hasleo Backup.
You can also try the older Macrium 8.x that was still free.
I can’t believe I forgot the term “e2e encryption”. I believe that’s exactly what I’m looking for. So, in other words if I give a user of my server access to a particular folder, is there a general way they could e2e encrypt their own files, whilst I (as the admin of the server) would be the one managing the backups?
Thanks for the Bitlocker suggestion but I am looking for open source solutions.
To end-to-end encryption, just create iSCSI LUN (i.e. file LUN) on the TrueNAS server folder, share the iSCSI disk to client computer, then VeraEncrypt the iSCSI disk from the client.