Whonix ™ for VirtualBox with Xfce

From Whonix

Ambox warning pn.svg.png There is currently NO testers-only version of Whonix.

Ambox warning pn.svg.png Warning: This is the testers-only version of Whonix ™ for VirtualBox. For the stable version, go to VirtualBox.

Please follow these steps to install Whonix ™ Xfce


Whonix ™ in VirtualBox

1 Download Whonix ™ Xfce

Whonix ™ Xfce is available for Windows, MacOS and Linux

Optional: Verify the Whonix ™ Images cryptographically.

Version: 16.0.0.8

notice Digital signatures can increase security but this requires knowledge. Learn more about digital software signature verification.

How to verify the Whonix ™ Images : Whonix ™ virtual machine images are cryptographically signed by Whonix ™ developer Patrick Schleizer using OpenPGP and signify.

Do you already how to perform digital software verification using an OpenPGP and/or signify key?

2 Install VirtualBox

Download and install VirtualBox for your operating system.

Download VirtualBox for Windows (FREE!) WINDOWS

Optional: Digital software verification.

VirtualBox for Windows is not signed with OpenPGP / gpg. It is signed with authenticode.

After downloading the VirtualBox installer exe and starting it, the user should verify that sure that Verified publisher: is Oracle Corporation.

Figure: Windows digital software verification window for VirtualBox

Virtualbox windows digital software verification.png

Download VirtualBox for macOS (FREE!) OSX

Optional: Digital software verification.

VirtualBox for macOS is not signed with OpenPGP / gpg. It is notarized for macOS's gatekeeper. See also Apple's official documentation Safely open apps on your Mac.

Ubuntu host operating systems:

Tested on October 2022 using Ubuntu version 22.04. Older versions are not recommended.

1. On the host.

Open a terminal.

2. Update the package lists.

sudo apt update

3. Install VirtualBox and Linux kernel headers.

sudo apt install virtualbox linux-headers-generic

4. Add your current user to group vboxusers. [1]

sudo adduser $(whoami) vboxusers

5. Done.

The procedure of installing the VirtualBox host software is complete.

Ubuntu Software Center can be used to install VirtualBox. The process is similar to installation of most other applications.

This only works for users with computers that do not have "SecureBoot" enabled. If the user's computer is using "SecureBoot" the user need to either disable "SecureBoot" in the BIOS or use the command line based instructions. [2]

1. Open the start menu.

2. Click on the Ubuntu Software Center icon.

Figure: Ubuntu Software Center icon

Ubuntu Software icon

3. Click on the magnifying glass to search. → Type virtualbox. → Press enter. → In the search results, click on VirtualBox.

Figure: Ubuntu Software Center - Search For VirtualBox

search for virtualbox

4. Click on Install and wait.

Figure: Ubuntu Software Center Search Result

Install Virtualbox

5. Installation of VirtualBox has been completed.

When the installation has completed, the install icon changes to the uninstall icon. Do not click the uninstall button.

Figure: Ubuntu Software Center - VirtualBox has been installed

Uninstall Virtualbox

6. Click on Show Applications. → Click on Virtual Box start the VirtualBox graphical user interface (GUI).

Figure: Ubuntu Software Center #4

Show Applications

7. Done.

The procedure of installing and starting VirtualBox is complete.

Debian host operating systems:

  • These instructions are for host operating systems running Debian bullseye, which is recommended.
  • Other Debian releases might work, but this is Unsupported. In case of other Debian release:
    See also "Linux host operating systems" below.
    See also "Linux" on the right.
  • To acquire the Recommended VirtualBox version tested with Whonix ™, package virtualbox should be installed from Debian fasttrack repository according to the following instructions. [3]

1. On the host.

Open a terminal.

2. Add Debian the fasttrack repository.

Update the package lists.

sudo apt update

Install the Debian fasttrack signing key.

sudo apt install fasttrack-archive-keyring

Add the Debian fasttrack repository.

echo 'deb https://fasttrack.debian.net/debian/ bullseye-fasttrack main contrib non-free' | sudo tee /etc/apt/sources.list.d/fasttrack.list

3. Update the package lists again. [4]

sudo apt update

4. Install VirtualBox and Linux kernel headers.

sudo apt install virtualbox linux-headers-$(dpkg --print-architecture)

5. Add your current user to group vboxusers. [1]

sudo adduser $(whoami) vboxusers

6. Done.

The procedure of installing the VirtualBox host software is complete.

Kicksecure ™ host operating systems:

Instructions for Kicksecure ™ are simpler than instructions for Debian. [5]

1. On the host.

Open a terminal.

2. Update package lists.

sudo apt update

3. Install VirtualBox and Linux kernel headers.

sudo apt install virtualbox

4. Add your current user to group vboxusers. [1]

sudo adduser $(whoami) vboxusers

6. Done.

The procedure of installing the VirtualBox host software is complete.

Hosts using a non-Debian operating system:

  • Install VirtualBox as per the normal mechanism for your Linux distribution. No special instructions for Whonix ™ are required. The installation of a recent VirtualBox host software is unspecific to Whonix ™. Consult the documentation of your Linux distribution.
  • Whonix ™ has has been tested with, expects VirtualBox version latest.
  • For example the outdated VirtualBox version 5.2.18 is incompatible.

info General recommendations for users using Linux as a host operating system:

  • Linux kernel version:
    • The recommended host Linux kernel version is the same version that Debian bullseye is using, see linux-image-amd64.
    • Newer host Linux kernel versions are likely to break VirtualBox VMs in many ways since these are unsupported by VirtualBox. [6]
  • Host operating system: The recommended host Linux distributions are:
    • preferebly the stable version of Kicksecure ™ 16, or
    • Debian Linux version bullseye.

3 Import Whonix ™ into VirtualBox

For Whonix ™ VirtualBox import instructions, please press on expand on the right.

Start VirtualBox
OpenVirtualbox1.png

Click on File then choose Import Appliance...
Select Import2.png

Navigate and select Whonix ™ image and press next
Select whonix ova image3.png

Do NOT change anything! Just click on Import
Click import4.png

Then press Agree
Agree5.png

Wait until Whonix ™ .ova has been imported
Wait6.png

Now start both Whonix-Gateway ™ and Whonix-Workstation ™
Start both of them7.png

Miscellaneous

There are also Video Tutorials.

If you still need help, please check the Support page.

For command line import instructions, see footnote. [7]

4 Start Whonix ™

Starting Whonix ™ is simple:

  1. Start VirtualBox
  2. Double-click the Whonix-Gateway ™ and Whonix-Workstation ™


First time user / Docs / Troubleshooting

First time users information

Whonix ™ default admin password is: changeme default username: user
default password: changeme

Whonix first time users warning Warning:

  • If you do not know what metadata or a man-in-the-middle attack is.
  • If you think nobody can eavesdrop on your communications because you are using Tor.
  • If you have no idea how Whonix ™ works.

Then read the Design and Goals, Whonix ™ and Tor Limitations and Tips on Remaining Anonymous pages to decide whether Whonix ™ is the right tool for you based on its limitations.

Footnotes and Experimental Spectre / Meltdown Defenses → press Expand

VirtualBox Stable Version | VirtualBox Testers Only Version

Testers only! For more information please press on expand on the right.

These experimental Spectre/Meltdown defenses are related to issues outlined in Firmware Security and Updates. Due to the huge performance penalty and unclear security benefits of applying these changes, it may not be worth the effort. The reason is VirtualBox is still likely vulnerable, even after:

  1. A host microcode upgrade.
  2. A host kernel upgrade.
  3. A VM kernel upgrade.
  4. A "not vulnerable" result from spectre-meltdown-checker run on the host.
  5. Installation of the latest VirtualBox version. [8]
  6. All Spectre/Meltdown-related VirtualBox settings are tuned for better security as documented below.

To learn more, see: VirtualBox 5.2.18 vulnerable to spectre/meltdown despite microcode being installed and the associated VirtualBox forum discussion. [9] Users must patiently wait for VirtualBox developers to fix this bug.

On the host. [10] [11] [12] [13] [14] [15] [16]

VBoxManage modifyvm "Whonix-Gateway" --ibpb-on-vm-entry on VBoxManage modifyvm "Whonix-Gateway" --ibpb-on-vm-exit on VBoxManage modifyvm "Whonix-Gateway" --l1d-flush-on-vm-entry on VBoxManage modifyvm "Whonix-Gateway" --l1d-flush-on-sched on VBoxManage modifyvm "Whonix-Gateway" --spec-ctrl on VBoxManage modifyvm "Whonix-Gateway" --nestedpaging off VBoxManage modifyvm "Whonix-Gateway" --mds-clear-on-vm-entry on VBoxManage modifyvm "Whonix-Gateway" --mds-clear-on-sched on

VBoxManage modifyvm "Whonix-Workstation" --ibpb-on-vm-entry on VBoxManage modifyvm "Whonix-Workstation" --ibpb-on-vm-exit on VBoxManage modifyvm "Whonix-Workstation" --l1d-flush-on-vm-entry on VBoxManage modifyvm "Whonix-Workstation" --l1d-flush-on-sched on VBoxManage modifyvm "Whonix-Workstation" --spec-ctrl on VBoxManage modifyvm "Whonix-Workstation" --nestedpaging off VBoxManage modifyvm "Whonix-Workstation" --mds-clear-on-vm-entry on VBoxManage modifyvm "Whonix-Workstation" --mds-clear-on-sched on

Info These steps must be repeated for every VirtualBox VM, including multiple and custom VMs.

The above instructions only apply to the default VM names Whonix-Gateway ™ and Whonix-Workstation ™. Therefore, if Multiple Whonix-Workstation ™s and/or Multiple Whonix-Gateway ™s are configured, then repeat these instructions using the relevant name/s.

Footnotes[edit]

  1. 1.0 1.1 1.2 Optional: See: https://www.virtualbox.org/manual/ch02.html#install-linux-vboxusers Also spams ~/.config/VirtualBox/VBoxSVC.log log if not done.
  2. This is unspecific to Whonix ™. This is because during package installation of a package that requires kernel modules when "SecureBoot" is enabled, Ubuntu's dkms is prompting the user for a password to encrypt the key which will be used to enroll the kernel module signing key. This is Ubuntu usability issue. It is unknown if any bug report / feature request for this exists. Please contribute, research, report this issue on Ubuntu's issue tracker.
  3. This is Kicksecure-icon-logo.png non-ideal but required since VirtualBox in unavailable in official Debian bullseye repository and difficult to install due to VirtualBox Installation Challenges. Alternatively you could install VirtualBox from the Oracle (virtualbox.org) Repository, but this comes with different risks. VirtualBox might be updated by VirtualBox developers before being tested with Whonix ™ which could then lead to issues. (Described in footnote here.)
  4. This is to acquire the Debian fasttrack repository package sources.
  5. This is because by Kicksecure ™ default:
  6. https://www.virtualbox.org/ticket/17055#comment:3
  7. On the Linux platform.
    1. Read License Agreement:
    vboxmanage import Whonix-XFCE-16.0.9.0.ova --vsys 0 --eula show --vsys 1 --eula show
    2. Import Whonix-Gateway and Whonix-Workstation ™.
    vboxmanage import Whonix-XFCE-16.0.9.0.ova --vsys 0 --eula accept --vsys 1 --eula accept
  8. VirtualBox version 5.2.18 or above is required since only that version comes with Spectre/Meltdown defenses. See https://forums.whonix.org/t/whonix-vulerable-due-to-missing-processor-microcode-packages/5739/22.
  9. Also see the following forum discussion: vulerable due to missing processor microcode packages? spectre / meltdown / retpoline / L1 Terminal Fault (L1TF)
  10. --ibpb-on-vm-[enter|exit] on|off: Enables flushing of the indirect branch prediction buffers on every VM enter or exit respectively. This could be enabled by users overly worried about possible spectre attacks by the VM. Please note that these options may have sever impact on performance.
    https://www.virtualbox.org/manual/ch08.html

    There is a mistake in the VirtualBox manual stating enter which does not work. It is actually entry.

  11. https://www.virtualbox.org/manual/ch08.html

    --l1d-flush-on-vm-enter on|off: Enables flushing of the level 1 data cache on VM enter. See Section 13.4.1, “CVE-2018-3646”.

  12. --l1d-flush-on-sched on|off: Enables flushing of the level 1 data cache on scheduling EMT for guest execution. See Section 13.4.1, “CVE-2018-3646”.
    https://www.virtualbox.org/manual/ch08.html

  13. https://www.virtualbox.org/manual/ch13.html#sec-rec-cve-2018-3646

    For users not concerned by this security issue, the default mitigation can be disabled using

    VBoxManage modifyvm name --l1d-flush-on-sched off

    Since we want to enable the security feature we set --l1d-flush-on-sched on.

  14. --spec-ctrl on|off: This setting enables/disables exposing speculation control interfaces to the guest, provided they are available on the host. Depending on the host CPU and workload, enabling speculation control may significantly reduce performance.
    https://www.virtualbox.org/manual/ch08.html

  15. According to this VirtualBox ticket --spec-ctrl should be set to on.
  16. --nestedpaging on|off: If hardware virtualization is enabled, this additional setting enables or disables the use of the nested paging feature in the processor of your host system; see Section 10.7, “Nested paging and VPIDs” and Section 13.4.1, “CVE-2018-3646”.