PlagueOS
Why PlagueOS? The origin comes from the idea of the project - a GNU/Linux security revival that has been long overdue. As the project description states, this was created to address classes of exploitation that plague standard Linux systems.
We should note that this is a secure baseline of Void Linux rather than a standalone OS. We have no self-hosted architecture, nor do we have our own custom repositories. This can be useful for blending with the Void community at large, along with keeping down costs.
Is PlagueOS for you? If you want a hardened host configuration of GNU/Linux that is designed for operating all processes from Guest virtual machines (VMs), this is designed for that usecase.
For more details regarding the project, please see the following wiki.
Feel free to contact us in the PlagueOS matrix chat
Install Guide
Prerequisites
- Internet Connection
- Ethernet (Recommended)
- Wireless
- If desired, issue the following commands:
-
ip a
(for interface-name) wpa_passphrase "SSID name" "Wi-Fi password" >> /etc/wpa_supplicant/wpa_supplicant-interface-name.conf
wpa_supplicant -B -i interface-name -Dnl80211 -c /etc/wpa_supplicant/wpa_supplicant-interface-name.conf
-
- If desired, issue the following commands:
- UEFI
- Recommended minimum 8GB of RAM, 50GB of storage
Flash USB
- Download the Void Linux musl build from here
Note: for those not privy to command line, we recommend downloading the XFCE live image.
- Validate the images with steps described here
- Flash the .iso file to a USB Drive
- For Windows, download
Rufus
orBalena Etcher
to flash the .iso file - For Linux, run the following dd command:
- Run
sudo fdisk -l
to show the flashdrive- Run
sudo dd status=progress if=void*.iso of=/dev/<USB> conv=fsync
-
example:
/dev/sdb
-
example:
- After the flash has been completed, run
umount /dev/<USB>
to safely unmount the drive
- Run
- Run
Base Install
- Plug in the flash drive and boot from the USB (typically, pressing ESC/F8,F9,F12 allows you to select a boot device upon system startup)
- Install from Void live image:
- Start a live session in void
- Sign in with credentials:
root:voidlinux
xbps-install -Sy xbps git
-
git clone https://0xacab.org/optout/plagueos
or pull down the latest PlagueOS installer release - Signature verification (Recommended)
- Navigate to KeyOxide
- Click
Verify Signature
- Copy & paste the entire release note
- Click
Verify Signature
- If the result does not read as
The message was signed by the profile's key.
, please cease the install and notify the PlagueOS matrix chat as soon as possible.
- If the result does not read as
- Click
- Navigate to KeyOxide
- Validate the checksum of the file matches the signed message on the release listing:
sha512sum plagueos-*
- If the result does not match, please cease the install and notify the PlagueOS matrix chat as soon as possible.
tar -xvf plagueos-*
bash plagueos-*/plague-install -v
- Sign in with credentials:
- Start a live session in void
Install Options
- During the install, multiple configurations will be displayed. The selections are between the following:
-
Cli-only
(Minimal installation for advanced users) -
Gnome w/ Wayland
(For novice users who desire gutted desktop environment)
-
Implementation Goals
- Full System Build
- Hardened Memory Allocator system-wide LD_PRELOAD
- Hardened Kernel w/ patchsets & trimming
- Custom LUKS Encryption (AES256XTS+Argon2id KDF)
- Blacklisted Kernel Modules
- Blacklisted File Systems
- Blacklisted Network Protocols
- IPTables Packet Filtering
- Hardened GRUB Boot Parameters
- Rolled in Whonix's hide-hardware-info script (See here)
-
Increased Entropy with use of
haveged
andjitterentropy
- Increased password hashing rounds
- Full Wayland Environment options
-
Selection between DE or CLI-only
-
Minimal DE install with
gnome-core
-
Minimal DE install with
- Hide Process IDs
- Permission hardening
- UMASK 0077 to system-wide default
- Mountpoint hardening
-
Locked
root
account,admin
account for elevated privileges -
Use of
doas
oversudo
- Generic Machine ID
- Randomized MAC address for NIC
- Memory erasure/poisoning
- USBGuard Implementation
- Import & Verification of Kicksecure & Whonix
- Hardened SSH configuration (SSH not installed on host by default)
-
Feature:
panic-wipe
included - All commits to contain PGP signatures
Note: This is not a comprehensive list of hardening, nor does this list intend to provide granular detail. This is simply to highlight some of the security mitigations at a high level.
Trust Model
It is important to operate on a zero trust model. Since this is an impossible feat, it should at least be known where trust is given and impose restrictions/limitations where feasible.
- Hardware
- CPU
- Miscellaneous Integrated Chipsets
- Software
- Distribution (Void Linux)
- PlagueOS's installer script
- linux-hardened kernel
- GNOME Core - Optional
- Graphene's Hardened Malloc
- Guest OS of Choice (varying levels of security/restrictions controlled by the VM's user)
- KickSecure
- Whonix
- Any other OS desired by the user
Usage
This OS is designed to run as a hypervisor and launch Guest virtual machines (VMs); The OS is designed to be a minimal build and have a restricted userspace. The guests are launched from virt-manager
.
- Run Virt-Manager either by opening a terminal and running the command
virt-manager
or by opening the application via its GUI. - During the installation, there is an option to pull down and import KickSecure which is the clearnet baseline of Whonix for day-to-day activities.
- If the torrified version of Kicksecure - Whonix - is chosen, you must boot both the
Whonix-Gateway
andWhonix-Workstation
VMs withvirt-manager
.- Note: If the
Whonix-Gateway
is down, theWhonix-Workstation
will have no internet access.
- Note: If the