Hi all, we are hiring a remote worker and will be supplying a laptop to them. The laptop will be running a Debian variant of Linux on it.

We are a small shop and this is the first time we have entrusted somebody outside of our small pool of trusted employees.

We have sensitive client data on the laptop that they need to access for their day-to-day work.

However, if something goes wrong, and they do the wrong thing, we want to be able to send out some kind of command or similar, that will completely lock, block, or wipe the sensitive data.

We don’t want any form of spying or tracking. We are not interested in seeing how they use the computer, or any of the logs. We just want to be able to delete that data, or block access, if they don’t return the laptop when they leave, or if they steal the laptop, or if they do the wrong thing.

What systems are in place in the world of Linux that could do this?

Any advice or suggestions are greatly appreciated? Thank you.

  • boredsquirrel@slrpnk.net
    link
    fedilink
    arrow-up
    3
    arrow-down
    1
    ·
    edit-2
    15 days ago
    • use a non sudo user for the user
    • somehow get the IP address of that laptop all the time. There are dynDNS solutions like this where the client just needs to automatically download a certain file daily and you know his IP, my implementation is here.
    • have ssh access to root with a ssh key. The usual hardening, fail2ban, block using passwords
    • open the port for ssh on the clients system

    If something goes wrong, login via ssh (you know the dynamically changing IP) and remove a directory or the entire user.

    You cannot avoid that a user would copy files from there to a usb stick. Well you could, by using usbguard. Works really well in my experience, just prevent nonsudo users from adding new devices.

    And then you need to prevent the user from booting another system, or taking out the SSD and reading it. TPM and boot lock is the right thing here.

    • sudneo@lemm.ee
      link
      fedilink
      arrow-up
      8
      ·
      15 days ago

      Your ability to SSH in the machine depends on the network connectivity. Knowing the IP does nothing if the SSH port is not forwarded by the router or if you don’t establish a reverse tunnel yourself with a public host. As a company you can do changes to the client device, but you can’t do them on the employee’s network (and they might not even be connected there). So the only option is to have the machine establish a reverse tunnel, and this removes even the need for dynamic DNS (which also might not work in certain ISPs).

      The no-sudo is also easier said than done, that means you will need to assist every time the employee needs a new package installed, you need to set unattended upgrades and of course help with debugging should something break. Depending on the job type, this might be possible.

      I still think this approach (lock laptop) is an old, ineffective approach (vs zero-trust + remote data).

      • 8adger@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        15 days ago

        You could implement a ssh tunnel every time it is online. Then you just use a reverse tunnel through that connection.

        • sudneo@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          15 days ago

          Yeah, that’s what I wrote too, but that is still a very fragile way. For once, you depend on a network connections, or in the local firewall not blocking you etc.

          Reactive, on-demand ssh is something you can do for tech support, not for security imho.

      • boredsquirrel@slrpnk.net
        link
        fedilink
        arrow-up
        1
        ·
        15 days ago

        True, forgot about that.

        Alternatively yeah some system to load the data online, autodelete after a while of not logging into something.

        But the question really is “why?”

        Disk encryption should deal with everything. Secure boot and usbguard are useful anyways.

        • sudneo@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          15 days ago

          Disk encryption is a control against lost or stolen device and malicious physical access (kinda). Storing the data elsewhere is more a control (or the basis for controls) against malicious insiders.