I use a headless server connected to nothing but an ethernet cable in my basement, and I’d prefer to allow the thing to boot by itself and start up without me needing to unlock the disk encryption every single time I do an update or power back on. Its a Dell 9500t NUC that I’m using it as a server and am wondering whether its possible to encrypt everything still.

I do generally use docker containers, so could I potentially encrypt just the containers themselves, assuming I’m worried about a smash and grab rather than someone keeping the machine powered up and reading my ram?

  • spv.sh@lemmy.spv.sh
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 minutes ago

    surprised no one has mentioned dropbear yet. i don’t remember the name off the top of my head, but there’s a relatively easy way to setup your initramfs to listen for SSH connections, authenticate with a private key, and send the unlock key. bonus points for writing a script to do it automatically with cute names, e.g. “sendkey helium.intra” or whatever

  • I2jgwh0hYtxrCZQ@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    12 hours ago

    I read somewhere someone had their encryption key on their phone / another server and had the server pull the key via ftp on boot. Then the server and encryption key is separated but can decrypt its self as long on the ftp server is available.

    Edit - might have been unraid where the OS and data drivers are separate

    • lorentz@feddit.it
      link
      fedilink
      English
      arrow-up
      4
      ·
      11 hours ago

      I’ve configured something similar. The /boot partition is the only unencrypted. In the initramfs there is a script that downloads half of the decryption key from http, while the other half is stored in the script itself. The script implements automated retry until it can fetch the key and decrypt the root partition.

      My attack model here is that, as soon as I realize someone stole my NAS I can shutdown the server hosting half of the decryption key making my data safe. There is a window where the attacker could connect it to a network and decrypt the data, but it is made more difficult by the static network configuration: they should have a default gateway with the same IP address of mine.

      On my TODO list I also have to implement some sort of notification to get an alert when the decryption key is fetched from internet.

      • Passerby6497@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        7 hours ago

        On my TODO list I also have to implement some sort of notification to get an alert when the decryption key is fetched from internet.

        Why is it fetchable by arbitrary IPs from the internet? I’d think you’d lock it down to an IP/only make it available locally.

        • lorentz@feddit.it
          link
          fedilink
          English
          arrow-up
          2
          ·
          4 hours ago

          The decryption key is more than 20 random character, so if you get only half of it is not a biggie and it doesn’t look like anything interesting.

          It is on the internet mostly because I don’t have anything else to host it locally. But I see some benefit: I wanted for the server to be available immediately after a power failure. If it fetches the key from internet I just need for the router to be online, if it fetches it from the local network I need another server running unencrypted disk.

  • theunknownmuncher@lemmy.world
    link
    fedilink
    English
    arrow-up
    28
    ·
    17 hours ago

    If it can power up and decrypt the docker volumes on its own without prompting you for a password in your basement, it will also power up and decrypt the docker volumes on its own without prompting the robbers for a password in their basement

      • ryokimball@infosec.pub
        link
        fedilink
        English
        arrow-up
        7
        ·
        17 hours ago

        First reason I think of to use fde all the time even if it’s automatically unlocked, is it’s simple to securely delete everything all at once. Just delete all the keys or overwrite that section of the desk.

        • lorentz@feddit.it
          link
          fedilink
          English
          arrow-up
          3
          ·
          11 hours ago

          Second reason. It may run your vpn, with the server down you cannot connect to it and provide the decryption key unless you are connected to the same network.

          There are some good answer around where the server can easily decrypt automatically as long as it is connected in your home but will likely fail at a thief’s home. These are a much safer setup than keeping data unencrypted even if they are not bullet proof.

        • catloaf@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          2
          ·
          17 hours ago

          Depends on how you want to define “securely”. A sufficiently motivated attacker could attack the remaining encrypted data, either through brute force or exploiting a weakness in the algorithm.

          • ftbd@feddit.org
            link
            fedilink
            English
            arrow-up
            4
            ·
            14 hours ago

            If you find an encrypted drive, it’s extremely unlikely you can recover anything from it. If there is no LUKS header, it’s pretty much impossible.

  • partial_accumen@lemmy.world
    link
    fedilink
    English
    arrow-up
    19
    ·
    17 hours ago

    assuming I’m worried about a smash and grab

    For your specific use case, how about this:

    Get a cheap USB thumb drive and a long USB cable. Put your disk unlock password on that thumb drive, and semi-permanently affix the USB drive to your building. You said you’re in a basement. Put it on top of a rafter with a metal fitting that would keep the drive from being taken without removing the screws. Run the long USB cable from the thumb driving in your rafter to the USB port on the machine. Alter your startup script to mount the thumb drive read the password from the thumb drive to unlock your main disk. Don’t forget to immediately unmount the thumbdrive in the OS after the disk is unlocked for extra safety.

    If someone is doing a smash and grab, they’ll unplug all the cables (including this USB cable going to the thumb drive) and take your machine leaving the disk encryption password behind on the USB thumb drive.

  • just_another_person@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    17 hours ago

    TPM2+Tang+Clevis. You’ll need to get really familiar with the TPM registers to properly set something up that will meet specific criteria, but you can make a pretty safe system with Tang that you can enable/disable remotely.

    • lorentz@feddit.it
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      1
      ·
      11 hours ago

      The issue I see with TPM is that it will always unlock the drive as long as it is connected to the same motherboard. It means you have to trust all the services you run to be correctly secured. Like there is little reason to encrypt your hard drive in this way if later you have a samba share open without any password.

  • ryokimball@infosec.pub
    link
    fedilink
    English
    arrow-up
    1
    ·
    17 hours ago

    Yes, you can have docker scripts decrypt a drive/storage. You might also consider an encrypted home partition separate from the root partition, or user space encryption of your home directory.