End-To-End Solutions At The Forefront Of Technological Innovation

Home Office Secure Terminal (HOST)

History and motivation

The HOST system was developed because of two main reasons, we believe motivate any great product: tough circumstances, no working alternatives and the need to scratch our own itch. 🙂

So it all began when we had faced two major obstacles:

COVID

During early 2020 we were a company that had no home office policy and had no plans to implement it. Also we didn’t expect that COVID will cause more than a week or two without offices and face-to-face meetings.

Privacy sensitive customers and projects

We were working on some cyber-security projects that require special attention to customer’s sensitive data and we had implemented pretty strict policy on how to handle that.

Every obstacle is an opportunity

And we used the that we had:

Experience with customization of Linux

Most of our team is built of Linux enthusiast and we’ve built products on top of customization Linux OS.

Passion for OS hardening

Due to our passion for Linux and history of projects we’ve built a good knowledge base of tools and methods to harden the operating system, especially Linux-based systems.

So …

Having said all of the above about a week before the COVID close down we had to implement a way to:

  • continue work in home office environment
  • keep as much as possible our strict security policy

Main features

  • VPN

Having a home office setup is unimaginable without VPN setup. We use OpenVPN setup with some extra customization like Password protected key plus OTP authentication for a good level of security.

  • Own Private Cloud

Any company private LAN requires some solution for internal “cloud” for sharing files, messages and all kind of collaboration software. Our current solution utilizes NextCloud, being a mature framework for collaboration software.

  • No Trace solution for sensitive data

As additional but important feature to our solution we were communicated that in some setups it might be interesting that in certain situation the user of Home Office Secure Terminal to securely delete all possible traces of user activities and company sensitive data.

Use cases

This is a Privacy First Product so it’s suitable for everyone, protective or paranoid about their data

  • Government organizations
  • Non-profit organizations
  • Corporations
  • Investigative media
  • etc

Build your own HOST

The main pieces of the puzzle to customize the system to serve as HOST

Base

Currently we’re basing on a Linux operating system OpenSUSE Micro OS, but similar solution can be implemented for other operating systems like OSX or Windows, via Virtual Machine technology We base our system on openSUSE’s MicroOS for three main reasons

  • The MicroOS is transactional, because the system can be done automatic and on problem revert to previous snapshot
  • The MicroOS provides flavours, which allow the possibility to produce customizable installation
  • Based on OpenSUSE Kalpa Desktop distro, using KIWI NG we generate the base image for the system, which gives us the opportunity to have stable KDE based desktop and still allow customization of the system
  • When it comes to customization we use the combustion feature of the MicroOS, that allows to configure the system on first boot of the system. We use that feature to define a custom first-boot application that runs our personalization utility.
  • RAM File System overlay. User owned directories have a base overlay that’s copied to a RAM disk partition, so no operative data is saved on the solid drive, after restart or shutdown

    First we start with default user with admin rights, which performs the First boot customization. The scenario is that on first boot of the system the sysadmin and the target user sit side by side and configure the personal HOST system

Next step would be to start the network and begin customization. Bellow we show some steps illustrated with screenshots.

We start the system setup and installing required packages.

The user already may have a ready seed profile with configuration, password and targeted applications. Then we need just to unlock it with user’s credentials and apply it.

After user profile setup is finished the first boot personalization application verifies that what we want is the predefined profile or we want to modify it, and starts the process.

Further manual customization can be performed before the first reboot is done.

Boot

Obviously we need protection of the operating system software integrity and data starting from boot phase.

  • GRUB and LUKS
    • Grub entries are admin password protected
    • Root partition is encrypted with LUKS passwords, one of them is available to the user of the system, the other is used by the administrator

Customization

We do customize for each user the setup based on some pre-configured profiles, using a customization application, that starts on first boot.

Customization is done mainly by our own personalization application, from the installation media and started on first boot.

  • Profiles of software per department
    • We’ve pre-prepared groups of applications and libraries that each department needs, those include zypper packages, flatpacks, plasmoids etc.
  • Networking and VPN settings
    • Initial networking configuration that the terminal can operate within our company LAN and personal VPN configuration applied
  • Personal preferences
    • Specific applications and files will be added in the user overlay

Secure and convenient

During the implementation we always try to keep in mind two conflicting goals. The HOST system MUST be secure and hardened as much as possible, and at the same time convenient in a way that after a user starts up the computer and to be able to do one’s job in a fast manner. It might be the case that someone uses the system not during a regular home office day, but also occasionally being on vacation.

So we took care to have:

  • Separate profiles for web browsing
  • Internal company profile with privacy-oriented customizations
  • Persistent storage for Custom files and Directories

This is important convenience since once a user is logged in certain web or intranet systems we provide the ability to keep one’s sessions for as long as possible as if a “regular” laptop is used, of course with the important note that this is possible after VPN login and synchronization with the company cloud.

  • KWallet Keeps user passwords
  • Cookies for specific apps
  • Bash history
  • etc

We support also call for help from your sysadmin

  • Specific user application enables reverse SSH tunnel for the company sysadmin to connect and assist

HOST is happy like a Goldfish

HOST is a system that one is happy to use under any circumstances, since the user isn’t concerned about securing sensitive data.

  • Doesn’t keep any private info when turned off
    • user directories mount on RAM disk
  • KWallet or KeePass kept on Nextcloud so no sensitive traces on the laptop
  • VPN OTP
    • Authentication with VPN server always via OTP

HOST plays possum

What we consider probably a bit exotic feature of the HOST system is its ability to be able to wipe any trace of the personalization of the system, so even if the system gets stolen and encryption broken one won’t be able to retrieve any sensitive data about the company or user.

HOST can play useless like a dead Opossum and this is another happy feature of the system

  • Special feature when you want to wipe out user configuration by:
    • Bringing signal to drop VPN configuration. This is actually the first step. It’s a shoot and forget message to internal service without waiting for an acknowledgement, and then continue with wiping out the overlay
    • Removing traces by securing deleting a file from the SSD the user overlay

Where do we go from here

There are multiple ideas for adding more features to system’s security and usability but for now we’re working in two main directions.

  • Bluetooth assisted authentication
    • Boot disk unlocking and other authentication done via mobile assisted application, inspired by solution similar to UltraBlue
  • Dashboard Administrator System for:
    • Massive installation image building using company platform for customization per department
    • Monitoring and incidents handling of HOST terminal

Questions?

We will be happy to get feedback with similar projects, alternative use cases or important issues we might have missed or may consider handling in future.

Good Reads

  • Home Office Secure Terminal (HOST)
    The HOST system was developed because of two main reasons, we believe motivate any great product: tough circumstances, no working alternatives and the need to scratch our own itch.
  • Best Practices for GitLab CI/CD Pipelines
    It is part of our philosophy, that we strive to automate every aspect of the job, that is worth automating and will leave us more time to spend in creative and exploratory activities.
  • Product Developement Workflow
    General workflow overview For the sake of practicality here is a short summary of how we organize our work, using Gitlab issues, merge requests(MRs), and operations on… Read more: Product Developement Workflow