- Nov 11, 2022
- 48
My secure computing configuration. Running Qubes OS, a type 1 hypervisor as a desktop with a focus on security. Qubes uses the Xen hypervisor, but is modular and in the future it will be possible to swap that out for other virtualization solutions.
Qubes OS is a "reasonably secure operating system." It takes the different software components of a computer, and splits them into different virtual machines. The desktop is able to pull in windows from these different "Qubes" and present them together with color coordinated borders. The desktop is one virtual machine, with no network access. The firewall is another virtual machine, who's uplink is yet another virtual machine which handles networking. Applications are then installed on different virtual machines you can duplicate etc. Application VMs are isolated from each other and have no privileges on the system VMs.
For the application VMs, Qubes OS uses something called templates. When you boot up an application VM, it boots off of a static template which doesn't change unless you go into the template VM and make changes. This means you can have an untrusted VM for general web browsing, and when you close it and open it again it boots off that known clean template. This is done because Qubes OS assumes that your VMs will be compromised, and therefor presents mitigating controls.
Running Qubes OS is the most secure OS I have found as of yet. I've made several attempts to break into it from a Kali VM on my server, and had no success. However I'm not very talented at red teaming, so it could be due to lack of skill rather than it being very secure.
To log in I use a Yubikey and long password. The disk is encrypted with LUCKs. Sensitive files are stored in a hidden partition on an SD card using Veracrypt. My most sensitive files are stored in that hidden partition, in image files using stenography. The hidden partition is undetectable by conventional forensics tools. There are 2 passwords, one that takes you to the non-hidden "dummy" partition with fake sensitive info. The other password unlocks the hidden partition. This is in case I am ever forced to reveal my encryption password, I can just give the fake one.
Looking for tips on how I can improve this setup or if anyone has any suggestions.
One cool thing you can do with Qubes OS is install any OS as a Qube, even Windows (although I don't do that.) One of my Qubes is Kali for example, which I use to poke at the other Qubes to simulate a Qube being compromised.
Qubes OS is a "reasonably secure operating system." It takes the different software components of a computer, and splits them into different virtual machines. The desktop is able to pull in windows from these different "Qubes" and present them together with color coordinated borders. The desktop is one virtual machine, with no network access. The firewall is another virtual machine, who's uplink is yet another virtual machine which handles networking. Applications are then installed on different virtual machines you can duplicate etc. Application VMs are isolated from each other and have no privileges on the system VMs.
For the application VMs, Qubes OS uses something called templates. When you boot up an application VM, it boots off of a static template which doesn't change unless you go into the template VM and make changes. This means you can have an untrusted VM for general web browsing, and when you close it and open it again it boots off that known clean template. This is done because Qubes OS assumes that your VMs will be compromised, and therefor presents mitigating controls.
Running Qubes OS is the most secure OS I have found as of yet. I've made several attempts to break into it from a Kali VM on my server, and had no success. However I'm not very talented at red teaming, so it could be due to lack of skill rather than it being very secure.
To log in I use a Yubikey and long password. The disk is encrypted with LUCKs. Sensitive files are stored in a hidden partition on an SD card using Veracrypt. My most sensitive files are stored in that hidden partition, in image files using stenography. The hidden partition is undetectable by conventional forensics tools. There are 2 passwords, one that takes you to the non-hidden "dummy" partition with fake sensitive info. The other password unlocks the hidden partition. This is in case I am ever forced to reveal my encryption password, I can just give the fake one.
Looking for tips on how I can improve this setup or if anyone has any suggestions.
One cool thing you can do with Qubes OS is install any OS as a Qube, even Windows (although I don't do that.) One of my Qubes is Kali for example, which I use to poke at the other Qubes to simulate a Qube being compromised.