Old Stable and Earlier Releases

From Whonix
Jump to navigation Jump to search

Whonix Release Notes, Whonix 15 and earlier versions.

115adretemp[edit]

Whonix-Gateway and Whonix-Workstation

  • Better comment on the top for .d style configuration folders/files as contributed by @JasonJAyalaP
  • RAM Adjusted Desktop Starter: now easier to use other display managers. It simply starts whatever the default display manager is.
  • whonixcheck version check (Whonix News), now supports - checking Whonix Build Version and Whonix Deb Version separately - having multiple up to date versions (for example for stable, testers and developers) - having separate news per build or deb version
  • whonixcheck: Deactivated checking status of bootclockrandomization, timesanitycheck and timesync. Its already tested every time, timesync runs. Leaving it enabled in whonixcheck could make some users believe, that whonixcheck runs timesync, which it does not.
  • whonixcheck, timesync: To get rid of the confusing line "/usr/lib/whonix/systemcheck/help_output: line 348: 9404 Killed [...]" at the end, added disown "$ZENITY_PROGRESS_PID".
  • whonixcheck: prefixed all messages with the name of each test.
  • whonixcheck: New WHONIXCHECK_DISABLE_TRANS_PORT_TEST configuration variable. When set to 1, skips whonixchecks test for Tor's TransPort. Useful in case you deactivated Tor's TransPort.; Separate help messages for Whonix-Gateway and Whonix-Workstation in case network connection (whonixcheck's SocksPort test) failed.; Better help messages for Whonix-Gateway and Whonix-Workstation in case network connection (whonixcheck's SocksPort test) failed.; New additional help text in case Tor is not detected "You could try to find out if this IP is/was a Tor exit relay using a search engine or ExoneraTor: https://metrics.torproject.org/exonerator.html". Lets see if we keep that in the final.; Different help messages if Tor detection on Tor's SocksPort failed vs Tor detection on Tor's TransPort failed.
  • improved many messages in whonixcheck, timesync, whonixsetup
  • no longer hardcoding MAC addresses, no longer sharing MAC addresses among all Whonix versions, was very little gain, while it can confuse complex setups
  • whonixcheck: - added option to skip SocksPort test for #57 - no longer delete temporary folder, gets automatically deleted only makes debugging/auditing harder
  • converting Whonix News Blogs to plain text, so no external links to wordpress.com get loaded
  • added pandoc (required for whonixcheck as html2text converter)
  • whonix_shared/etc/apt/sources.list.whonix: changed from Debian stable (wheezy) to Debian testing (jessi) for #60 (installation of python-stem)
  • whonixcheck: now also checks Tor's bootstrap status using Tor's control port using onion-grater (Control Port Filter Proxy)
  • added hint to read Computer Security Education to VirtualBox license files (#64)
  • quick and dirty hack to make AppArmor play well with tor, obfsproxy and flashproxy for #67
  • added log viewer ksystemlog to whonix-shared-desktop-kde
  • moved whonixcheck zenity progress bar and result message to the top left, so it does not overlap with sdwdate's progress bar or result message
  • replaced tails_htp with sdwdate
  • AppArmor: added global /etc/hosts.whonix r, /etc/resolv.conf.whonix r, On Whonix-Workstation this file does not contain anything interesting (except some special configuration) and Whonix-Gateway is not supposed to have applications reading those files. Closes #66
  • added apparmor-notify to whonix-shared-packages-recommended: Notification with passive popups when AppArmor restricts something. There are no profiles activated by default (except Tor, which gets loaded by its default init script), but still useful to prevent confusion just in case.
  • No longer abort whonixcheck if Tor's SocksPort is not reachable (#49). Now directly checking Tor's bootstrap status through Tor's control port (#57).
  • whonix_shared/usr/bin/uwt: Ignoring -t server_type and therefore defaulting to 4. 5 does not work well with the torsocks version from Debian testing. (Things like dget and update-command-not-found are broken.) Reporting a bug against torsocks is not worth it, since torsocks is currently being rewritten anyway.

Whonix-Gateway

  • whonixsetup: Working around another bug in Tor. When starting Tor fails, it does not return a non-zero return code.
  • added apper to whonix-gateway-packages-recommend
  • Added RAM Adjusted Desktop Starter info message to Whonix-Gateway wallpaper.
  • Whonix-Gateway firewall: added settings for an optional Tor relay
  • whonix_gateway/usr/bin/whonix_firewall: Fix. When GATEWAY_ALLOW_INCOMING_FLASHPROXY is set to 1, iptables does not support -p all --dport. See https://serverfault.com/questions/279361/iptables-p-all-dport. Changed to -p tcp, which is sufficient, according to https://trac.torproject.org/projects/tor/wiki/FlashProxyHowto

Whonix-Workstation

  • added pinentry-qt4 to whonix-workstation-default-applications, required to make KGpg symmetric encryption (and gnupg-agent) work out of the box
  • No longer add Tor Browser default icon to the Desktop (already existing icons won't be touched, so this will appear in the next build version), the Tor Browser Recommend icon is still on the desktop and the default one can still be created from the start menu, closes #58
  • Whonix torbrowser update check and download script: has now a working progress bar.
  • Whonix torbrowser update check and download script: fixed zenity cancel button, cancel now effectively terminates still running curl instances and can therefore prevent endless data attacks or bugs.

Source Code

  • new bash pseudo GUI toolkit /usr/lib/whonix/doutput
  • whonix_shared/usr/share/whonix/postinst.d/70_create_swap_file: fixed support for re-running
  • radically shortened readme
  • added libfile-fcntllock-perl to build dependencies: - required to silence dpkg-gencontrol: warning: File::FcntlLock not available; using floc
  • renamed whonix_workstation/etc/systemcheck.d/30_torbrowser to whonix_workstation/etc/systemcheck.d/30_torbrowser_default
  • new maintainer script: release/resign_repository, Refreshes repository. OpenPGP Resignes and updates valid-until field.
  • Got rid of time consuming "chown --recursive user:user /home/user/" while updating by running the required commands as user in the first place
  • debian/rules-helper.bsh: added --no-start to dh_installinit. Restarting the init scripts while updating is not required. All init scripts are su
  • postinst.d scripts: better error message in case a postinst.d script ever fails
  • postinst.d scripts: hide "set -x" debug output, unless WHONIX_DEB_DEBUG=1
  • added whonix_shared/usr/share/whonix/postinst.d/pre.bsh, a script supposed to be sourced by all postinst.d scripts
  • uwtwrapper: renamed variable ip to uwtwrapper_gateway_ip to avoid conflicts
  • Fix: Skipping to source config.d files such as .dpkg-old and .dpkg-dist.
  • Whonix News v2: changed location to https://sourceforge.net/projects/whonixdevelopermetafiles/
  • whonix_shared/usr/bin/whonix_repository: moved repository to https://sourceforge.net/projects/whonixdevelopermetafiles/
  • whonix_shared/usr/lib/whonix/systemcheck/50_check-whonix-news: added --fail to curl, so it returns non-zero when sourceforge replies 404 (in case the file has been forgotten to upload). Otherwise we would end up with the error html page and throw a OpenPGP verification failure message.
  • added debug-steps/locally-upgrade-whonix-debian-packages, a script to manually update from source code, closed #52
  • apply our apt preferences.d settings (apt pinning) while building Whonix from source code and while updating Whonix from source code
  • Added python-stem to whonix-shared-packages-dependencies.
  • explicitly define /etc/apt/sources.list for grml-debootstrap to ensure grml-debootstrap won't fetch non-freedom software
  • `displace`ed /etc/apparmor.d/local/system_tor
  • added dh-apparmor to build dependencies
  • Revised the way how the temporary local apt repository is created and removed.
  • Fixed a bug when an own signing key was used to sign the local apt repository. No longer copying the whole pubring.gpg to /etc/apt/trusted.gpg.d/, only copying the specific signing key.
  • Fixed a failure bug when dist_build_apt_codename was not set to local (now also works for stable, testers and developers).
  • Reduced code duplication.

101adretemp[edit]

(uploaded to Whonix developers apt repository)

Whonix-Gateway and Whonix-Workstation

  • whonixcheck, timesync: cleaner locking mechanism, no longer using pgrep, thus fixing a confusing message while booting
  • whonixsetup: starting whonixcheck after enabling Tor (#56)

Whonix-Gateway

  • improved whonixsetup output
  • added icons for Whonix-Gateway desktop

Whonix-Workstation

  • whonix_workstation/usr/bin/torbrowser: updated links to important and feature blog
  • Deactivating kmix autostart. Workaround to fix Klipper (and others?) autostart. Working around bug
  • torbrowser: added --clearnet option. Uses torproject.org clearnet domain instead of torprojects Tor onion service (hs). Useful in case the hs
  • Tor Browser Update and Start script: Will no longer show a browser error when whonixcheck (rawdog) hasn't fetched Whonix News blog already. Wil
  • Whonix torbrowser Start and Update script now reads /etc/systemcheck.d/30_torbrowser_default which can contain the language setting
  • torbrowser: updated forum link to Special:AWCforum

Source Code

  • whonix_gateway/usr/lib/whonix/cpf-tcpserver: better escaping (now produces no more strange output when telneting it or accessing it with tor-ct
  • FIX: added QUIT to control port filter proxy white list, otherwise after 40 connections tcpserver wouldn't accept any more connections
  • whonix_gateway/usr/lib/whonix/cpf-tcpserver: exit and therefore terminate connection when getting QUIT
  • Whonix-Gateway: added uuid-runtime, contains uuidgen, required for Control Port Filter Proxy
  • new release/maketorrent, maintainer script for creation of torrent downloads for Whonix * updated links from sourceforge.net to whonix.org
  • build-steps.d/2600_export-vbox-vm: add version number to final .ova file
  • new chroot post script: Storing from which Whonix version a build was created in /usr/share/whonix/build_version.
  • /etc/fstab: Fix. Removed "UUID=26ada0c0-1165-4098-884d-aafd2220c2c6 / ext4 noatime,errors=remount-ro 0 1" since we are no longer modifying the uuid of the virtual hdd
  • deleted whonix_shared/etc/fstab.whonix, this is now handled by whonix_shared/usr/share/whonix/postinst.d/70_create_swap_file, which is better
  • added reprepro to build dependencies, since required for creating (local) APT repository
  • build-steps.d/1100_prepare-build-machine: allow running without --torgateway or --torworkstation

97adretemp[edit]

(uploaded as testers-only VM build version, uploaded to Whonix stable apt repository)

Whonix-Gateway and Whonix-Workstation

  • only disable powersaving if a virtual machine can be detected
  • new whonixdesktop_autostart_decision_feature variable, for easy deactivation of that feature
  • VirtualBox import license text: added license text with some help, disclaimer and license
  • removed hardware modifications, very little gain, while it breaks enabling uefi and confuses other things as well
  • added aptitude stream isolation wrapper
  • whonixcheck, timesync --showcli: added "End of "$SCRIPTNAME". Feel free to press <enter> to return back to your normal prompt."
  • moved blog to wordpress.com, better than sourceforge, because wordpress.com supports SSL, closed #23

Whonix-Workstation

  • deactivate the kgpg tray icon by default (#10), not perfect, but less confusing, since it will now hopefully start in foreground

Source Code

  • timesanitycheck: fixed, since version file does not exist anymore, using newly created build_timestamp by whonix_shared/usr/share/whonix/postinst.d/70_build_timestamp
  • whonix_gateway/usr/lib/whonix/whonixsetup/ft_m_1: working around a bug in Tor
  • fixed modification of Whonix modified /home/user/.bashrc
  • updated shortcuts
  • whonix_shared/usr/bin/backgroundd: revised
  • added gsfonts, required for backgroundd (desktop background image manipulation)
  • whonix_gateway/usr/bin/controlportfilt: add "-l host" to disable local hostname lookup to prevent timeouts (since there is on purpose no functional /etc/resolv.conf on Whonix-Gateway)
  • whonix_gateway/usr/bin/controlportfilt: more debugging
  • fixed firewall rules for control port filter proxy; comments; refactoring
  • gateway controlportfilt: added -H to tcpserver, so it doesn't hang if /etc/resolv.conf is not configured, which is the case on Whonix-Gateway
  • gateway controlportfilt: added debugging to tcpserver
  • gateway controlportfilt: fix, let tcpserver listen on all interfaces, not just 127.0.0.1, so Whonix-Workstation can reach it. It is filtered from outside due to whonix_firewall.
  • added ucspi-tcp, contains tcpserver, required for Control Port Filter Proxy
  • renamed whonix_shared/usr/share/whonix/keys/tpoarchive-keys.d/readme to whonix_shared/usr/share/whonix/keys/tpoarchive-keys.d/.readme so apt-key ignores it and doesn't throw an error
  • renamed build-steps folder to build-steps.d
  • added virt-what
  • reorganized updating tpo package list, installing deb.torproject.org-keyring also on Whonix-Workstation, installing torsocks and tor in case the version in tpo repository is newer
  • whonixcheck, timesync: fix, don't delete temporary folder too early
  • whonixsetup: made it more robust, fix, enabled debugging
  • whonix_workstation/usr/bin/torbrowser: fix mkdir when run from non-home folder
  • Whonix-Gateway: only update debian (/etc/apt/sources.list) and torproject.org (/etc/apt/sources.list.d/torproject.list) package lists for eventually installing newer Tor, torsocks, obfsproxy from torproject.org. (Only in case it is newer in torproject.org repository.)
  • no longer store backups of grub.cfg in /boot/grub/, store it in /var/lib/whonix/grub-backup instead, so it can not confuse grub, if they change something some day
  • added git to build dependencies
  • new whonix_build_both script: small hack to build both virtual machines, as long as whonix_build does not support --all.
  • not re-creating the packages, if nothing changed
  • get version number from latest git tag while building from source code
  • automatically add to debian changelog from which git head it was build
  • new way to find out locally using Whonix version (now using dpkg-query); automatically bumping upstream version of Whonix, no longer bumping deb revision; deleted whonix_shared/usr/share/whonix/version (no longer required)
  • build-steps/1200_create-debian-packages: Only purge local repository before adding new packages, do not purge remote (production) repository.
  • .gitignore: added debian/patches; added .pc
  • build-steps/1200_create-debian-packages: allow without root and without --torgateway or --torworkstation switch
  • Makefile: create lintian.log not in source folder but in its parent folder
  • using git archive instead of tar for tarball creation
  • new internal (repository) folder readme; new signature folder readme; new main folder readme; and upload scripts
  • output

(adretemp82)

Whonix-Gateway and Whonix-Workstation

  • whonix_shared/etc/apt/sources.list.whonix:
  • If bare BARE_METAL is set to 1 (when using whonix_build with --bare-metal), skip scripts, which are not required for creating Whonix with physical isolation, so physical isolation users can also use the whonix_build script.
  • added tor-ctrl
  • new man page: tor-ctrl
  • whonixcheck, timsync: inform at cli, if we are still waiting for whonixcheck and/or timesync's results

Whonix-Gateway

Source Code

  • removed dependency for bc, no longer required for whonixcheck/timesync (using expr instead)
  • added imagemagick, because it is required for /usr/bin/backgroundd
  • whonix_workstation/usr/share/whonix/postinst.d/70_gpgconf: added sanity test "sudo -u user gpg --gpgconf-test"
  • build source code: better way to parse command line options
  • deleted obsolete file whonix_shared/usr/share/whonix/postinst.d/70_grub (now solved in chroot.d post script)
  • deleted obsolete and neglected TODO file, see https://github.com/Whonix/Whonix/issues for TODO
  • installing from separate local apt repository when building from source code
  • build-steps/1100_prepare-build-machine and development/Whonix-Shared_packages: added haveged to build depends
  • build-steps/1200_create-debian-packages: create local signing key for local APT repository, yes a signing key is also required for local installation from local package repository, see script comments
  • help-steps/pre: added some colorful output
  • added colored outputs to the build scripts debian/control: set priority of whonix-x-(packages|files|postinst) and (dummy)tor to important and made the other ones optional. This has the advantage, that if the user tries to remove an essential package, APT will loudly complain, while less important packages can be removed.
  • debug-steps/interactive-chroot-img: mounting local APT repository, if already available (will fail open, if not)
  • new variable dist_build_apt_codename
  • added buildconfig.d configuration folder
  • Extracted code for packaging Whonix in debian/rules and made a rules-helper.bsh script, which I can maintain better.
  • dummytor: renamed package tor to dummytor and use Provides: tor. This prevents Whonix-Gateway from fetching dummytor.
  • renamed whonix_shared/usr/share/whonix/chroot-scripts-post.d/70_sources to whonix_shared/usr/share/whonix/chroot-scripts-post.d/75_sources, so it runs after all apt install actions
  • renamed skip_scripts variable to WHONIX_BUILD_SKIP_SCRIPTS
  • added WHONIX_BUILD_SKIP_SCRIPTS support to build-steps
  • converted native debian package into non-native debian package; new help-steps/make-tarball for creating debian orig tarball
  • added debian/watch
  • whonix_gateway/usr/lib/whonix/whonixsetup/ft_m_1: no longer try to reload a Tor which is eventually not started
  • renamed VERSION variable to WHONIX_BUILD_WHONIX_VERSION
  • whonix_shared/usr/bin/whonix_repository: - support adding multiple keys in /usr/share/whonix/keys/whonix-keys.d/* - more simple and robust code for revoke_keys - tested everything
  • now using debuild - now also signing packages - (local repository was already signed)
  • moved local apt repository to whonix_binary folder so it is no longer in the source folder and won't get included in the source tarball
  • added debug-steps/reprepro-wrapper
  • new variable WHONIX_BUILD_UPGRADE_BUILD_MACHINE to turn off apt update and apt full-upgrade and setting dpkg --force-confold during build step "prepare build machine"
  • clean up /etc/apt/apt.conf.d/90whonix-build-confold at the end
  • deleted whonix_shared/etc/apt/apt.conf.d/20whonix-oldconfig, no longer required since we now have proper packaging
  • debian/rules: also parse /etc/init.d folders for gateway and workstation
  • add Whonix apt repository to /etc/sources.list.d/whonix.list using the whonix_repository tool renamed variable DISTRUST_WHONIX_APT_REPO to WHONIX_APT_REPOSITORY_DISTRUST_ENV renamed variable WHONIX_APT_REPOSITORY_DISTRUST to WHONIX_APT_REPOSITORY_DISTRUST_CONFIG
  • if the builder provides its own signing key in buildconfig.d WHONIX_LOCAL_SIGNING_KEY_FOLDER variable, use that key, otherwise use an automatically created signing key
  • added repository upload script

(adretemp68)

Whonix-Gateway and Whonix-Workstation

  • much work on an auto updater and packaging Whonix for Debian
  • added KDE Lowfat Settings
  • improved many script output messages
  • whonixcheck: code simplification; more robust progress_bar in corner cases.
  • htpdate: 180 seconds for curl timeout as per https://mailman.boum.org/pipermail/tails-dev/2013-February/002635.html
  • An anonymous user suggested, that MAC addresses used by Whonix starting with vendor prefix 080027 are too uncommon.; Used https://github.com/EtiennePerot/macchiato/tree/master/oui/wireless_laptop.sh (Integrated wireless interfaces in laptop computers) to find more popular MAC vendor ids.; Changed MAC addresses:
    • Whonix-Gateway eth0 '00:26:82:47:5c:e1' (Gemtek Technology Co., Ltd. - HP Laptop)
    • Whonix-Gateway eth1 '00:13:02:9c:f1:91' (Intel Corporate - Fujitsu Amilo Pi 1556 Notebook, Intel Corporation PRO/Wireless 3945ABG Network Adapter)
    • Whonix-Workstation eth0 '00:21:00:4d:8f:08' (GemTek Technology Co., Ltd. - HP Pavilion TX2510EA)
  • Added Time Sanity Check init script.
  • /etc/apt/preferences.d/50_banned-packages
  • Let htpdate wait for bootclockrandomization.
  • whonixcheck and timesync: Warn if bootclockrandomization and/or timesanitycheck failed.
  • Time Sanity Check before and after htpdate
  • configuration folder /etc/systemcheck.d for .d-style configuration files
  • added khelpcenter4 package
  • added faketime package
  • added timeprivacy script
  • new man pages:
    • uwt
    • timesync
    • time_privacy
    • scurl
  • /etc/kde4/kdm/kdmrc: Working around a rare bug, where kdm did not start because of a timeout by using higher timeout. https://forums.debian.net/viewtopic.php?f=6&t=45648
  • new generic uwt/timeprivacy wrapper
  • deleted old uwt wrappers
  • using new generic uwt master wrapper /usr/bin/uwtwrapper instead of many copies of the same script
  • fixed the bug where the uwt wrappers gave wrong arguments to curl and therefore broke applications dependent on curl, such as apt-file, update-flashplugin
  • added libgl1-mesa-dri to prevent error (EE) AIGLX error: dlopen of /usr/lib/i386-linux-gnu/dri/swrast_dri.so failed (/usr/lib/i386-linux-gnu/dri/swrast_dri.so: cannot open shared object file: No such file or directory) in /var/log/Xorg.0.log
  • Removed xdg-utils, since we do not need them to create desktop icons and start menu entries.
  • Check total RAM. If more than 512 MB → start KDE. If less (like 128 MB) → do not start KDE. This should be quite convenient, because users with low RAM could reduce (Whonix-Gateway) RAM to 128 MB and even if they sometimes wanted to configure/check something, they could assign 512 RAM and automagically boot into the graphical KDE desktop. There are also many settings in /etc/systemcheck.d/ to configure this feature, so if you want you can also add much RAM and still don't boot a desktop environment, use different display managers and so on.
  • whonixcheck: now reading /etc/systemcheck.d/ configuration folder
  • whonixcheck: added option WHONIXCHECK_NO_EXIT_ON_TRANS_PORT_DETECTION_FAILURE
  • whonixcheck, timesync: bugfix: will now kill the process, if the cancel button in zenity is pressed
  • added apparmor-profiles (but didn't enable enforce mode or added any useful profiles)
  • added apparmor-utils (but didn't enable enforce mode or added any useful profiles)
  • added /etc/default/grub
  • higher console resolution 1024x768 (without X)
  • enable "apparmor=1 security=apparmor" by default (but didn't enable enforce mode or added any useful profiles)
  • more verbose output while booting, since on slow machines it may look like there is no progress otherwise
  • reduced timeout from 300 to 180 to be on par with Tails
  • added /usr/bin/whonix_repository which can be used to easily disable Whonix APT repository

Whonix-Gateway

  • first time connection wizard
  • graphical Whonix-Gateway (got a KDE desktop now), wallpaper with most important information
  • /etc/whonix_firewall.d/ for .d-style configuration files
  • added option for Flash Proxy to firewall config in /etc/whonix_firewall.d/
  • /etc/apt/sources.list.d/torproject.list: Activated torproject.org Debian Wheezy repository, so obfs3 can be downloaded.
  • added support for obfs3 out of the box
  • new man pages:
    • leaktest
    • armwrapper
    • Whonix ** whonixsetup
  • /usr/local/bin/whonix_firewall: comment for using Custom Open Ports on external interface
  • added SocksPorts separate for KDE and GNOME wide applications
  • /usr/bin/whonix_firewall: Port 9150 is no longer a custom port. It is now SOCKS_PORT_TBB_DEFAULT, supposed to be used by stock TBB running unmodified inside Whonix-Workstation.
  • /usr/local/etc/torrc.d/50_user.conf: added 127.0.0.1:9150 for consistency
  • increased Whonix-Gateway RAM from 128 MB to 768 MB, because Whonix-Gateway becomes graphical
  • arm wrapper to start arm without a password now passing command line arguments to arm
  • arm wrapper also announces its existence when run because "set -x" is now set to avoid confusion
  • Removed custom socks port 9151, because this is TBB's default Tor Control Port. Therefore we shouldn't train users to use it as custom socks port to avoid confusion.

Whonix-Workstation

  • Added Boot Clock Randomization. This is useful before timesync succeeded, naturally timesync runs before timesync succeded, to make sure that the host clock and Whonix-Workstation clock differ.; Open for arguments if that should be added to Whonix-Gateway as well. See TimeSync design.
  • added kmix
  • added graphical alternatives manager, galternatives
  • torbrowser: Deactivate tor-launcher, a Vidalia replacement as browser extension, to prevent running Tor over Tor. https://gitlab.torproject.org/legacy/trac/-/issues/6009 https://gitweb.torproject.org/tor-launcher.git TOR_SKIP_LAUNCH=1
  • XChat: No longer moving XChat plugins into a new folder. Using dpkg-divert instead to deactivate them. User documentation explains how to re-enable them.
  • new man pages:
    • xchat-reset
    • torbrowser
    • leaktest
    • Whonix ** whonix_firewall
  • added proxy settings for KDE wide application
  • torbrowser new --lang "language" command line option, see man torbrowser
  • torbrowser: new option for advanced users --nokilltb

Source Code

  • whonix_gateway/usr/local/bin/leaktest: using true instead of echo, since we set -x anyway
  • whonix_gateway/usr/local/bin/leaktest: added comment in/out for "FascistFirewall 1".
  • improved error handling
  • code refactoring
  • help-steps/pre: fewer useless debug output
  • Gateway and Workstation: /etc/X0.hosts Add xhost exception, as required for zenity, since cron starts as root and whonixcheck (zenity) starts as user.
  • better documented package lists
  • shared: added debsums to package selection. Added a sanity check using debsums to the chroot-script 30_internal-checks.
  • chroot-scripts-pre.d
  • chroot-scripts-post.d
  • postinst.d
  • added skip_scripts variable
  • No longer setting KDEDIRS in whonix_workstation/etc/environment. Using whonix_shared/etc/X11/Xsession.d/50whonix instead.
  • WHONIX_TARGET_ARCH can now be set in build configuration
  • Whonix-Gateway and Whonix-Workstation: Deleted /etc/sudoers.d/whonix and created multiple small files instead.
  • new file release/list_source_files
  • new build-step 32_verify_copied_files: checks if everything from the whonix_gateway/whonix_workstation and whonix_shared actually was correctly copied using diff.
  • Added Tor Project Archive (0x886DDD89) key, which signs the deb.torproject.org repositories and archives as chroot script. It later gets updated by torproject keyring package.
  • no longer required to mess with /etc/rc.local and /etc/environment so the user can easly edit without any conflicts with Whonix configuration files (moved to /etc/profile.d/ instead)
  • Whonix-Gateway, new chroot script, whonix_shared/usr/local/share/whonix/chroot-scripts-post.d/70_tor: downloading tor related software from Torprojects repository in case it contains newer software. At time of writing obfsproxy in Torprojects repository already contained obfs3 while Debian repository had only obfs2.
  • whonix_shared/etc/apt/sources.list: changed from wheezy to stable, because wheezy became stable.
  • gateway and workstation, package selection: Removed virtuoso-minimal, which was installed as workaround in 0787deb78d24678d87ef704ed206dd0b6b4d7e3e as dependency for nepomuk (nepomuk comes with kde-workspace). Since nepomuk now gets disabled, virtuoso is no longer required.
  • deleted defunct chroot-script whonix_shared/usr/local/share/whonix/chroot-scripts/40_variables, it never worked, variables set by it were ignored by following chroot-scripts. Those variables get set in /home/user/Whonix/help-steps/variables.
  • Disable uwt while building Whonix, because it is not functional while building Whonix from source code. Instead of doing this in every build and chroot script, do it in a central place, the help-steps/variables script.
  • mass rename whonix_(gateway|workstation|shared)/usr/local/... to whonix_(gateway|workstation|shared)/usr/... ; mass rename /usr/local/... to /usr/...
  • Removed line for changing partition uuid from build-steps/35_run-chroot-scripts-img, because it didn't really belong there and made it its own step build-steps/34_change_partition_uuid.
  • We no longer place uwt wrappers into /usr/local/bin/<uwt-wrapped-application>. Therefore we now use dpkg-divert /usr/bin/<uwt-wrapped-application> to /usr/bin/<uwt-wrapped-application> and symlink /usr/bin/<uwt-wrapped-application> to /usr/bin/uwtwrapper.
  • whonix_shared/usr/bin/scurl: better way to forward extra arguments, using <math>{1+"</math>@"} instead of $*
  • whonix_shared/usr/share/whonix/chroot-scripts-pre.d/70_banned_packages: Removed code 'echo "package-name hold" | dpkg --set-selections', because it is no longer necessary, we're now using /etc/apt/preferences.d/ instead.
  • build-steps/10_prepare-build-machine: added ruby-ronn to build dependencies (required for creating man pages)
  • whonixcheck, timesync: better handling of short and long options; -help → --help -autostart → --autostart -cron → --cron
  • whonixcheck: now using whonix-keys.d folder
  • whonixcheck, timesync: output and startup functions are now the same on Whonix-Gateway and Whonix-Workstation, since Whonix-Gateway is now graphical as well
  • DummyTor now gets created along with the other packages in debian/control
  • added two new help-steps prevent-daemons-from-starting and unprevent-daemons-from-starting, because the (un)chroot are ignored for bare-metal and preventing daemons from starting is still recommended for bare-metal.
  • whonix_shared/usr/share/whonix/apt.conf: changed ip from 192.168.0.11 to 127.0.0.1 to make it independent from host network configuration
  • got rid of whonix_shared/usr/share/whonix/apt.conf, using APT command line rather
  • build-steps: using http_proxy variable for setting up apt-cacher-ng as proxy for grml-debootstrap
  • build-steps/2600_export-vbox-vm: added --manifest (hashes which can be used to determine if the appliance components arrived intact)
  • build-steps/2600_export-vbox-vm: also added --manifest, --product, --vendor, --vendorurl, --version (Not yet using: --producturl)
  • Using config-package-dev to solve conflicts when Whonix deb packages overwrite files owned by other packages.
  • build-steps/2000_install-common-packages: prevent mounting /etc/resolv.conf from the host inside the chroot, /etc/resolv.conf from Whonix source folder can get installed.;
  • deleted whonix_workstation/etc/polipo/config (not installed, not in use)
  • build-steps/1100_prepare-build-machine: - no longer installing dependencies for creating virtual machines for bare metal builds - no longer installing dependencies for bare metal builds for virtual machine builds - removed debootstrap as build dependency, because grml-debootstrap Depends on it and therefore automatically fetches it - removed git as build dependency, git is only required to download the source code but anyone who has the source code, doesn't need git (if not planing to contribute) - replaced qemu with qemu-utils, because that includes the required tools - code refactoring -
  • build-steps/1300_create-debian-img: removed unneeded --keep_src_list option from grml-debootstrap#
  • build-steps/2500_create-vbox-vm: removed hardware modifications, very little gain, while it breaks enabling uefi
  • run update-grub while building Whonix and fix /boot/grub/grub.cfg due to a known bug in grub
  • new WHONIX_DEB_DEBUG variable
  • install from local APT repository, no longer required to copy packages manually into the image
  • update-rc.d $display_manager remove as dpkg post invoke hook, otherwise as soon as a display manager (kdm by default) get upgraded, its postinst script will revert Whonix post chroot script and Whonix feature, which deactivated the /etc/init.d/ autostart mechanism, what would break Whonix feature to decide to start a display manager depending on free RAM and other configurable settings
  • build-steps/1100_prepare-build-machine: speed up apt update
  • help-steps/variables: removed deprecated SNAPSHOT_DESCRIPTION variable
  • adding Whonix APT repository signing key with apt-key while building Whonix

(adretemp40)

Whonix-Workstation

  • longer installing polipo by default. It is not required for anything.
  • torbrowser: Added a meaningful error message, if the Tor Browser folder does not exist and recommend to run the updater in that case.

Whonix-Gateway and Whonix-Workstation

  • Added /etc/hostname with content "host". Even though grml-debootstrap already creates /etc/hostname with content "host build-steps/35_run-chroot-scripts-img: added support for bare metal users.

Source Code

  • torbrowser: merged tb_start function into tb_start_new_tab.

(0.6.1)

Whonix-Gateway and Whonix-Workstation

  • timesync: added autostart status notification
  • Added /etc/apt.conf.d/20oldconfig: never ask if a configuration file should get updated by dpkg. Always keep the locally installed one.
  • Running whonixcheck after a random amount of time (minimum 60 seconds + a random number between 0 and 500) to make the network fingerprint less predictable.

Whonix-Gateway

  • torrc, firewall: added port 9050

Whonix-Workstation

  • workstation: Disable Apper's mechanism to automatically check for updates, to work around upstream bugs: - https://bugs.freedesktop.org/show_bug.cgi?id=62575 and https://bugs.freedesktop.org/show_bug.cgi?id=62576
  • timesync: When timesync is run by cron.hourly (/usr/local/bin/htpdate_hourly), and there is nothing important to tell, say nothing. Otherwise there would be such a popup every hour.
  • timesync: When timesync is automatically started and nothing important has to be reported, use kdialog --passivepopup, because that is non-intrusive and will automatically fade out. When timesync is manually started, always use zenity.
  • timesync: No need for flashing a progress meter, if htpdate already succeeded.
  • whonix_workstation/home/user/.bashrc: Do not "cat /etc/motd" on Whonix-Workstation login shell, only in virtual console. (Konsole)
  • Workstation: Graphical notify-send notification that start of whonixcheck gets delayed.
  • Workstation package selection: added libnotify-bin for whonixcheck.
  • whonixcheck: Removed transitional popup, that whonixcheck is no longer autostarted at every boot of Whonix-Workstation.
  • torbrowser: Downloading Tor Browser and signature from http://idnxcnkne4qt76tg.onion/dist/torbrowser/linux instead from https://www.torproject.org/dist/torbrowser for better security when run inside Whonix.
  • torbrowser: Added --max-time 300 to signature download to defeat a endless data or slow retrieval attack.
  • torbrowser: downloading signature file before Tor Browser itself. - Would be a pity to download Tor Browser (takes long) only to recognize, that the signature download (takes very little time) fails.
  • whonix_workstation/usr/local/share/whonix/kde/share/applications/whonix-whonixcheck.desktop: improved icon description.
  • torbrowser: Removed tb_create_user_js, since no longer required to change Tor Browser's proxy settings. (Now using rinetd.)
  • torbrowser: Always starting Tor Browser with cd ~/tor-browser_"<math>TB_LANG"/ ~/tor-browser_"</math>TB_LANG"/App/Firefox/firefox --profile Data/profile instead of cd ~/tor-browser_"<math>TB_LANG"/ ~/tor-browser_"</math>TB_LANG"/start-tor-browser and therefore not starting Vidalia/Tor when the user manually downloaded or updated TBB.
  • Workstation: Added rinetd. It prevents Tor over Tor by just installing Tor or by using the complete Tor Browser Bundle, which starts Vidalia and Tor.; This is because, it listens on port 9050 and 9150 and therefore lets a default Tor or TBB fail to start.; Fowards port 127.0.0.1:9050 (Workstation) to 192.168.0.10:9050 (Gateway). Fowards port 127.0.0.1:9150 (Workstation) to 192.168.0.10:9150 (Gateway).

Source Code

  • whonix_shared/usr/local/share/whonix/chroot-scripts/50_adduser-user: Not re-creating user "user", and therefore perhaps changing an existing password. That should support re-running the script and bare metal better.
  • gateway firewall: renamed variable, GATEWAY_ALLOW_INCOMMING_SSH → GATEWAY_ALLOW_INCOMING_SSH; typo fixes
  • renamed: whonix_shared/etc/profile.d/whonixcheck.sh → whonix_shared/etc/profile.d/20_whonixcheck.sh
  • whonix_shared/usr/local/bin/delay: added small help file. It is required to prevent getting the logins sparred.
  • whonix_shared/usr/local/bin/whonixcheck-scripts/15_kill-old-instances fixed
  • whonixcheck: load help_output module earlier so it also works for the check_autostart module whonix_shared/usr/local/bin/whonixcheck-scripts/25_autostart: disable debugging
  • build-steps/30_copy-into-img: Remove symlink /etc/localtime before copying to prevent "cp: /usr/share/zoneinfo/UTC' and/etc/localtime' are the same file" error.
  • whonixcheck: better way to autostart
  • timesync: added option for -autostart
  • chown --recursive user:user → chown --recursive "<math>USERNAME":"</math>USERNAME"
  • build-steps/15_prepare-build-machine: using "$USERNAME" instead of user
  • chown --recursive user:user → chown --recursive "<math>USERNAME":"</math>USERNAME"
  • more consistency: /home/"<math>USERNAME" → "</math>HOMEVAR"
  • build-steps/15_prepare-build-machine: added creation of user "user".
  • build-steps/20_create-debian-img: arch as variable $ARCH; comments for alternative architectures for custom builds
  • help-steps/variables: added "export DEBIAN_FRONTEND=noninteractive "
  • Added new build step 15_prepare-build-machine to ease building from source.
  • whonixcheck: removed redundant variable COUNTER
  • torbrowser: using general trap; reduced code duplication by sourcing the tbbversion function
  • whonixcheck: split the script, which had grown too big over time into many smaller scripts
  • timesync: using whonixcheck error handler, reduced code duplication
  • timesync: split timesync script into many smaller scripts and reduced code duplication comments
  • help-steps/variables: Variable WHONIX_SOURCE_FOLDER supports now being used by different user than "user".
  • whonix_build: Removed "chmod +x "$WHONIX_SOURCE_FOLDER"/build-steps/20_create-debian-img" - no longer required, no longer using the executable bit to decide which steps to run. This is now done using command line switches and variables.
  • Fix: build script when not using as user "user" - deactivate trap before running the id command.
  • release/whonix_release: Added --armor to gpg --detach-sign. .asc files look better (look like plain text) than .sig (look like binary).
  • release/whonix_news: No longer required to update the version manually.; It is now read from whonix_shared/usr/local/share/whonix/version.;
  • release/upload_whonix_news: added automatic signing and verification to upload script.; deleted release/whonix_news.asc, since no longer required.
  • upload_download_readme: Added automatic sign, verify to upload script.; release/README.asc deleted, since no longer required. release/whonix_release: comments
  • release/upload_download_readme: Read version from /whonix_shared/usr/local/share/whonix/version. No longer required to manually edit version.
  • whonixcheck: more modular, own function for get_local_whonix_version.
  • whonixcheck: No longer hardcoding architecture variable ARCH. Now using uname.
  • torbrowser: made the script more modular
  • Not trying to creating any users (and thus changing their passwords), if these user accounts already exist. This should support (physical isolation) users better, who changed these passwords already. gateway torrc: using bridge for obfs bridge comment instead of Bridge - both work (tested), but since regular bridges are also already written in lowercase, it is more consistant. (bridges.torproject.org also uses "bridges" in lowercase.)

(0.6.0)

Whonix-Gateway and Whonix-Workstation

  • Run update-command-not-found while building to prevent prompting the user "Please run update-command-not-found.".
  • Prevent from installing: popularity-contest (privacy); geoclue (privacy); resolvconf (can mess up /etc/resolv.conf); ufw (can mess up firewall); and also for custom builds: canonical-census, unity-lens-shopping, unity-scope-video-remote, unity-scope-musicstores, geoclue-ubuntu-geoip; using dpkg hold; users who wish can overwrite those default banned packages which shouldn't be necessary for anyone but experts

Whonix-Gateway

  • torrc: Added comment for mumble server onion service.

Whonix-Workstation

  • Disable xchat plugins no longer with xchat-reset, only disable while building so the user is free to re-enable them.
  • Removed redundant hiddenserver-install. No longer required. Whonix documentation explains how to install it a hidden server.

Source Code

  • Now easier to understand. More modular. New step based layout.
  • Got rid of unclear whonix_internal_install_script. Chroot-Scripts are now in whonix_.../usr/local/share/whonix/chroot-scripts/.
  • whonix_build -all -tg -tw -fast -tg-fast -fw-fast -clean -clean-tg -clean-tw
  • Running whonix_build_clean "<math>MACHINE" before whonix_build_clean "</math>MACHINE", i.e. when running whonix_build -all/tg(-fast)/tw(-fast) won't break anymore if running whonix_build -clean(-tg/-tw) has been forgotten beforehand.
  • Moved workstation specific icons to workstation folder.; Moved icons to /usr/local/share/whonix/icons/.; Moved gpg public keys to /usr/local/share/whonix/gpg-pubkeys/.
  • chmod -x whonix_workstation/home/user/.bashrc
  • Removed whonix_workstation/usr/local/share/whonix/chroot-scripts/70_audio, redundant on Debian/KDE, audio will work out of the box.
  • torbrowser: No longer adding additional extensions.torbutton.banned_ports, it was always redundant.
  • added /etc/apt/apt.conf.d/99timeout to handle APT timeouts better
  • workstation: added failsafe mechanism to Whonix second, optional, extra firewall
  • workstation: Creating the dummytor package while building Whonix.
  • Gateway: No longer required to set +i on /etc/resolv.conf. Removed. DHCP is configured to prevent overwriting it and resolvconf is a banned package.
  • gateway: added /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate to prevent showing an error message while booting

Whonix 0.5.6 Changelog[edit]

Whonix-Gateway

  • Fixed a time zone bug, which prevented Tor to connect in some cases.

Whonix 0.5.5 Changelog[edit]

Whonix-Gateway and Whonix-Workstation

  • Fixed htpdate_hourly.
  • whonixcheck: improved messages.
  • whonixcheck: better method for Tor Browser local and remote version phrasing.
  • uwt: Fixed a bug: "libtorsocks(18790): Could not open socks configuration file (/tmp/tmp.pKSaitLYTN) errno (13), assuming sensible defaults for Tor."
  • Deactivate automatic update check in /etc/apt/apt.conf.d/10periodic. It is handled by whonixcheck. This makes fingerprinting Whonix users harder.
  • whonix_createvm: Disable clipboard sharing at build time. Only matters if guest additions are installed which is recommended against. Just in case.
  • whonix_release: Removed sha sums. New versions will no longer contain sha sums. A more secure method, gpg signatures are provided.
  • Enabled auto login on tty1 for Whonix-Gateway and Whonix-Workstation.
  • Added haveged, which is an entropy gathering daemon.
  • adrelanos.asc: changed e-mail address from proper at secure-mail dot biz to adrelanos@[outdated, redacted]. Key otherwise unchanged. Fingerprint remains the same. There is no need to update. Just mail to the my current riseup e-mail address.
  • Installing command-not-found.
  • Removed redundant mdadm and lvm2 from package selection. Physical Isolation and other advanced users most likely know if they need those packages.

Whonix-Workstation

  • easier to install TorChat
  • pre-installed Mixmaster, a tool to send e-mail without registering e-mail accounts
  • easier to install TorBirdy
  • pre-installed rawdog, an rss reader to read Whonix News Blogs
  • autologin for kde user
  • added Dummy Tor package
  • whonixcheck: runs once a day.
  • Leaktest script fixed.
  • Added icons for Whonix online readme, torbrowser, whonixcheck and timesync.
  • installing kde-baseapps-bin package. It is required for KDE applications proxy settings. (Only for stream isolation, manually installed applications.)
  • MAT, the Metadata Anonymisation Toolkit, now fully installed and therefore easier to use
  • added GnuPG frontend: KGpg
  • install accessibility tools
  • install process manager: ksysguard
  • Whonix-Workstation KDE settings:
    • double click instead of single click
    • kgpg settings hide user id and keyservers
    • KGpg settings: Decided not to set hkp://2eghzlv2wwcq7u7y.onion as keyserver, because it was offline.
    • Dolphin show menu bar
    • Konsole unlimited scrollbag
    • plasma-widget-folderview, which allows to show the content of the ~/Desktop folder on the desktop.
    • kde desktop set to folderview by default to show desktop icons.
    • set default wallpaper to /usr/share/wallpapers/stripes.png
    • New icons and desktop shortcuts.
    • Whonix specifc start menu default icons.
  • new /home/user/.bashrc - adds displaying /etc/motd (contains password and help) and bash completion.
  • removed leafpad and kate. added kwrite as editor.
  • whonixcheck: show "apt update && apt full-upgrade" again even if apper is available because apper has bugs. (unsigned package warning)
  • torbrowser:
    • wrapper script supports now -new-tab link.com, for example: torbrowser -new-tab https://www.startpage.com
    • the script may no longer be run as root.
    • can now be run as any user, not just as "user", but this is untested. Only tested for user "user".
    • new -lang switch for language help.
    • better error message if network is down and curl fails.
    • more help if network is down or script is broken.
    • added Tor Browser Updater icon
    • added graphical progress meter.
    • graphical user interface
    • removed gpg key download code and move it to deprecated_code. Downloading the keys at Tor Browser update time from the keyservers was a relict from TorBOX times, where a build script created TorBOX. It was due to trust and space reasons to include only the gpg fingerprint and the gpg keyserver commands to download the key. Anyone using Whonix binary builds or source code without audit already trusts Whonix. Deploying the gpg public keys for Tor Browser download instead of downloading them from them keyservers adds no additional trust problem. Auditors can instead of comparing the gpg fingerprint, download they keys and compare them with the ones shipped with Whonix. Not relying on the keyservers will make the Tor Browser update script much more robust.
    • better and less scaring error message if torbrowser script bug is ever caught.
    • Creating tor-browser_"$TB_LANG"/Docs/version. Tor Browser changelog has been forgotten to update by upstream. https://sourceforge.net/projects/whonix/discussion/general/thread/6122990d/ To play it safe and having a chance of finding out the installed version, we create a file ourselves to remember it.
    • Fixed profile not found bug, in case Tor Browser wasn't fully loaded by hard coding to wait 30 seconds before trying to open extra tabs
  • whonixcheck, torbrowser, htpdate: Notice Endless data attacks and Slow retrieval attacks by adding --max-time 300 to curl.

Whonix-Gateway

  • package selection: installing tor-geooipdb. arm needs it to show countries.
  • 0.4.5 undocumented: added settings to whonix_firewall, these were and are documented on the applications page
  • whonixcheck
    • now runs automatically at least every 24 hour on Whonix-Gateway as well.
    • On Whonix-Gateway. Will now display the results when automatically run to all logged in users using the wall command.
    • Also download Whonix version and news file on the gateway for users using custom workstations.
  • Fixed whonix_gateway/usr/local/bin/leaktest.
  • Usability: arm can now be run without password.
  • whonixcheck:

Source Code

  • You can now just drop files inside the whonix_gateway, whonix_workstation or whonix_shared folders and don't need to add every single file inside int_copy_*.
  • Faster debugging.
    • new switch: whonix_createvm -t"$MACHINE"-copyimg required for building from source code...
    • This eases debugging. Before we created the img using grml-debootstrap and directly copied into it and directly run the chroot script inside it. Creating a clean modification required to re-create the whole img using grml-debootstrap which always took a long time, even though using apt-cacher-ng. From now, only a copy of the img is modified. Using whonix_createvm -tg-copyimg (or -tw-copyimg) will copy the original img created by grml-debootstrap from /home/user/whonix_binary/"<math>VMNAME".img to /home/"</math>USERNAME"/whonix_binary/"<math>VMNAME"_copy.img. Only/home/"</math>USERNAME"/whonix_binary/"$VMNAME"_copy.img gets modified from now.;
    • whonix_build: added -fast switch, which skips the -createimg step
  • whonix_createvm:
  • removed comment, pae is now documented in the faq
  • added release folder, whonix_release file are still just notes, not a automatic script.
  • new switches for mounting and unmounting images are tX-(un)mountimg and tX-(un)mountvdi
  • start-tor-browser: comment fix. Added export in front of the TOR_TRANSPROXY, TOR_SOCKS_HOST, TOR_SOCKS_PORT variables. Fixes https://github.com/adrelanos/tbb-scripts/issues/1 Thanks to scruloose for reporting!
  • torbrowser: found zenity workaround, therefore removed kdialog.
  • whonixcheck: found zenity workaround, therefore removed kdialog.
  • whonixcheck: removed old wget/uwt comments.
  • htpdate: changed curl to /usr/bin/curl to circumvent uwt wrapper.
  • /usr/local/bin/htpdate_hourly more comments for debugging.
  • apt-get-update: small fix. Now returning return code of apt update.
  • whonixcheck: better error handling if apt-get-update fails.
  • added backup of documentation
  • License file: Added sources of icons and their licenses. Reformatting.
  • torbrowser: Removed old comments.
  • torbrowser: i686 to "$ARCH"
  • torbrowser: en-US to "$LANG"
  • torbrowser: Check if TB_LANG exists and is not empty. If it is empty, set to default en-US. Otherwise leave it untouched.
  • torbrowser: Improved comments.
  • torbrowser: Easier readable version phrasing.
  • torbrowser: #for commented out commands; ## for comments
  • torbrowser: code refactoring. Removed redundancy of downloading the update information twice. Improved comments and echos.
  • torbrowser: No longer deleting Tor/Vidalia from the downloaded TBB package. No longer trying to safe space. The wasted space is minimal, while this could have unforeseen consequences.
  • torbrowser: gpg fingerprints are now inside variables. Fingerprints and how to verify them is now noted in echos.
  • torbrowser: use more variables for download links. Now just one comment has to be removed to download from .onion instead.
  • torbrowser: removed old out commented code for deleting stuff.
  • torbrowser: simpler startup script creation method and fixed a quote bug.
  • torbrowser: using rm --force to suppress error messages.
  • torbrowser: deleting TorBrowser_installation_FAILED in case it was created earlier.
  • torbrowser: ed editor startup script modification method comment removed.
  • torbrowser: many changes. Added a graphical user interface
  • torbrowser: comments; echos.
  • torbrowser: new startup script creation method and fixes a quote bug.
  • torbrowser: using rm --force to suppress error messages.
  • torbrowser: deleting TorBrowser_installation_FAILED in case it was created earlier.
  • whonixcheck: better method for Tor Browser local and remote version phrasing, same as in the torbrowser script.
  • whonixcheck: moved news file location from sf project web to sf file release system due to traffic limits for sf project web.
  • moved /home/user/.local/share/applications to /etc/skel/.local/share/applications
  • torbrowser: no progress bar, if -force-install is used.
  • torbrowser: updated extensions.torbutton.banned_ports
  • torbrowser: Workaround for the "The proxy server is refusing connections" bug introduced in latest Tor Browser. https://gitlab.torproject.org/legacy/trac/-/issues/8336
  • torbrowser: Removed redundant misc settings from user.js... user_pref("extensions.torbutton.prompt_torbrowser", false); user_pref("general.autoScroll", true);
  • added /etc/dpkg/origins/whonix to honor Debian policy
  • package selection: added debian-keyring (40 MB) as comment. Currently not required. Just to keep it in mind and for discussion.
  • many code simplifications and code refactoring
  • added /etc/environment for Tor Browser
  • Whonix-Workstation_packages: marked non essential packages, which are safe to remove and which could make a complete operating system with ## LITE; shuffle; revised comments.
  • Workstation package selection: added and unfortunately commented out software-center due to too many bugs which make it unusable https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=software-center
  • Whonix-Gateway_packages, Whonix-Workstation_packages: added sysvinit-utils and bsdutils. Dependencies for whonixcheck.
  • LICENSE
    • Moved picture licenses to Whonix-documentation repository.;
    • "Except in this file or in files where otherwise noted, content in this the Whonix source package is licensed under Whonix source code license."
    • improved formatting
    • added links to webcitation.org
  • removed doc backup, created extra repository https://github.com/adrelanos/Whonix-documentation
  • Renamed start-torbrowser to start-tor-browser. The Whonix specific name start-torbrowser was too confusing.
  • /etc/inittab: using getty instead of login. getty does not break Whonix | more.
  • gateway/workstation packages: explicitly installing util-linux because it contains getty.
  • Copying temporary apt.conf into Whonix-G/W instead of only into Whonix-G.
  • Using apt-cacher-ng for downloading source code.
  • added damngpl
  • Append "127.0.0.1 host.localdomain host" to /etc/hosts as per Let's share username, /etc/hostname and /etc/host among all anonymity distributions
  • new debug build option: -tX-interactive
  • deleted adrelanos.asc from the untested_adre branch. It continues to life in the master branch.
  • Whonix-Workstation_packages: removed dhcp3-client since not required
  • moved whonix_workstation/etc/apt/apt.conf to whonix_workstation/etc/apt/apt.conf.d/99whonix
  • whonix_shared/etc/apt/sources.list: added security non-free
  • whonixcheck: If it was run by cron and there is nothing to tell, say nothing.; comments; echos; output
  • int_copy_workstation: chattr -i on resolv.conf removed because it was redundant
  • renamed whonix_shared/etc/apt/apt.conf.d/10periodic to whonix_shared/etc/apt/apt.conf.d/20noperiodic
  • 20noperiodic takes precedence over 10periodic
    • no longer required to backup /etc/apt/apt.conf.d/10periodic
    • no longer required to replace /etc/apt/apt.conf.d/10periodic
  • whonixcheck; timesync: overwrite all instances of let with || true because let throws an error when the result is 0
  • whonix_createvm: added -tw-bare-metal-pre and -tw-bare-metal-post
  • gateway: new, out commented by default, /etc/apt/sources.list.d/torproject.list
  • package selection: explicitly installing bash-completion, less, more

Whonix 0.4.5-fix2[edit]

[0.4.5-fix] for testers.

This is just a hotfix for torbrowser and whonixcheck. The Tor Browser locally installed version check was broken, because The Tor Project forgot to update the changelog and because the keyserver was offline. The torbrowser and the whonixcheck scripts now use a more robust method. (Bug report and discussion)

  • fixes torbrowser udpate script
  • fixes whonixcheck
  • fixes timesync command

Whonix 0.4.5-fix1[edit]

Testers release with same goals as Whonix 0.4.5-fix2, but didn't work.

Whonix 0.4.5 Changelog[edit]

  • Whonix-Gateway and Whonix-Workstation
    • added gnupg-curl package
    • shared partition uuid
    • new apt-cacher-ng_uwt helper script
    • whonixcheck: stream isolation fix when not using Tor, which should really only happen if the user manually added a VPN or transproxy.
    • whonixcheck: improved possible reasons help message if Tor is not detected (VPN, transproxy, false positive).
    • whonixcheck: now uses mktemp
    • whonixcheck: Suggestions for "Your Internet connection appears to be down.".
    • whonixcheck: using curl instead of wget for download
    • whonixcheck: enforcing tlsv1
    • whonixcheck: uwt no longer required in whonixcheck
    • package selection: added curl and bc for whonixcheck
    • timesync and whonixcheck: check_htpdate now checks if htpdate pid file exists.
    • timesync can now also be run when zenity is installed but X window system not started
    • timesync now fails faster if done file exists but no success file
    • Hacked the htpdate init script to work with Wheezy and fixed disabling of VirtualBox additions time sync (if installed).
    • timesync: Waiting longer for htpdate result.
    • fixed help messages in whonixcheck and timesync
    • motd fix
  • Whonix-Gateway
    • pre-installing obfsproxy
    • Renamed user unsafe to clearnet.
    • torrc: Shuffle settings in torrc. Moved more important things, which might be subject to change are to the top.
    • torrc: Added table of contents as comment.
    • Expanded nslookup help in gateway help file whonix.
  • Whonix-Workstation
    • Experimental set workstation image size to 50 GB, only space which really is in use should be filled up.
    • running whonixcheck daily at random time on workstation
    • Keyserver choice comment in gpg.conf.
    • Installing image viewer gwenview.
    • Installing virtuoso-minimal as dependency for nepomuk (nepomuk came with kde-workspace). Perhaps not best solution.
    • Deleting /usr/share/applications/kde4/knetattach.desktop.
  • Source Code
    • Mounting .img images instead of .vdi images. This makes it easier to add support other virtualizers.
    • ./whonix_createvm -createvm renamed to ./whonix_createvm -createvboxvm
    • switch -convertfromraw renamed to -converttovdi
    • switch -tX-delete renamed to -tX-vboxdelete
    • switch -tX-delete renamed to -tX-vboxdelete
    • /usr/share/whonix moved to /usr/local/share/whonix
    • moved whonix_internal_install_script(s) to (tg/ws)/usr/share/whonix/
    • Whonix news format moved to Dev/News

Whonix 0.4.4 Changelog[edit]

  • Whonix-Gateway and Whonix-Workstation
    • Switched to Debian Wheezy.
    • Added Secure Distributed Network Time Synchronization. Thanks to the Tails developers for their fine, free and Open Source tails_htp!
    • Added timesync gui.
    • Deactivated VirtualBox time synchronization.
    • Deactivating VirtualBox guest additions time synchronization if they are installed.
    • Creating a snapshots by default
    • Rebranding, the project is now called Whonix.
    • Spoofing virtual hardware information.
    • Added BitCoin address for donations.
    • Added adrelanos's gpg key. key for integrated Whonix Version and News notification (whonixcheck).
    • Improved GPG verification mechanism.
    • torcheck renamed to whonixcheck
    • Greatly improved whonixcheck, now checks Whonix version, SocksPort, TransPort, stream isolation, Tor Browser version, operating system version and network time synchronization.
    • Improved uwt, uwt -t server_type -i ip -p port ....
    • Deactivated whonix_config_uuids_fstab. Regression.
    • Deactivated autologin.
    • gpg.conf improvements
    • Installed ca-certificates Debian package.
    • Boots faster because of "VBoxManage storagectl --sataportcount 4".
    • No longer removing friendly-recovery.
    • Added selectively IsolateDestAddr and IsolateDestPort.
    • Expanded and revised whole documentation.
    • Gateway and Workstation IPs changed to avoid confusion.
  • Whonix-Gateway
    • No longer uses transparent proxying. Whonix-Workstation can still use transparent proxying. Whonix-Gateway now uses uwt for apt-get, gpg, ssh, (tails_)htpdate
    • Improved help file: Whonix.
    • Added unsafe user account, which can connect without Tor. Not used, unless user logs in as unsafe user.
    • Optional feature for /usr/local/bin/whonix_firewall, when activated (disabled by default), root user can connect without Tor.
    • Now using stream isolation and uwt.
    • Revised helpfile whonix.
    • Installing Tor from Debian repositories.
    • Allow starting Tor Controller arm without password.
    • Now longer opening port 22 on external interface by default. We no longer install over ssh.
  • Whonix-Workstation
    • KDE is the new desktop environment. KDM the desktop manager. It is a minimal KDE with very few KDE applications.
    • Removed Openbox.
    • Running every day Whonixcheck
    • Greatly improved Whonixcheck, cron job hopefully fixed.
    • Installed MAT (Metadata Anonymization Toolkit).
    • new commands:
      • xchat-reset (Deletes XChat configuration files and recreates the Whonix original ones, which are tweaked for privacy.)
      • hiddenserver-install (Installs and configures lighttpd)
    • Increased RAM for Whonix-Workstation to 768 MB.
    • Two shortcuts for Tor Browser. One with default homepage check.torproject.org and one with check.torproject.org and Whonix readme
    • New help file whonix.
    • Changed Whonix readme url.
    • Tor Browser Start and Update script:
    • Better error handling.
    • Better gpg verification.
    • Uses now checks Whonix version, SocksPort, TransPort, stream isolation, Tor Browser version, completely (from the rest of the system) separate streams for GPG and wget.
    • Running every day Whonixcheck cron job hopefully fixed.
    • Partially fixed gnome-terminal black on black bug. Uses ugly colors and users are hopefully motivated to change the colors.
    • new commands:
      • xchat-reset (Deletes XChat configuration files and recreates the Whonix original ones, which are tweaked for privacy.)
      • hiddenserver-install (Installs and configures lighttpd)
  • Source Code
    • Now building with grml-debootstrap and chroot instead of building inside VirtualBox.
    • Now hosted on github, https://github.com/Whonix/derivative-maker/ and therefore safe against malicious edits by random people.
    • All files are now inside their own files and no longer in single big scripts.
    • Much more comments.
    • Deprecated onevm (no maintainer).
    • Deprecated uninstall and uninstall-vm (would require rewrite, was less tested, no users, we don't install the operating system version manually anymore).
    • Error handling for everything.
    • Uwt
      • wrappers share now most code.
      • New option: -force-install-uwt-dev-passthrough.
      • No longer requires sudo.
      • Added uwt patch from anonym. Thanks! Other unrelated fixes. Updated uwt wrappers for latest uwt.
      • Now using mktemp for torsocks temporary configuration file. Thanks to intrigeri for suggesting it.
      • Some fixes as per https://mailman.boum.org/pipermail/tails-dev/2012-September/001575.html
    • torsocks patch deactivated, since no longer required for Debian Wheezy.
    • Many fixes, more robustness, step based build system.
    • Reduce cpu and network time synchronization.
    • Improved uwt, uwt -t server_type -i ip -p port ....
    • Whonix-Gateway
    • Lowest and cpu disk priority while building.
    • import_tpo_archive_key import torproject.org gpg key no longer used. No longer required since switch to Debian Wheezy. Now using Debian repos.
    • Added developers-only clearnet traffic passthrough script.
    • Bare metal:
      • (untested/unfinished) sudo ./whonix_createvm -tg-bare-metal-pre
      • (untested/unfinished) sudo ./whonix_createvm -tg-bare-metal-pre
    • Firewall has now uses uwt for apt-get, gpg, ssh, (tails_)htpdate
    • Improved help file: Whonix.
    • Optional feature for /usr/local/bin/whonix_firewall, when commented out (disabled by default), root user can connect without Tor.
    • Now using stream isolation and uwt.
    • Firewall has now an error handler.

Whonix 0.2.1 Changelog[edit]

***2012-07-16 0.2.1***
* Download Version
 * Changes
  * You need to make a clean install for both {{project_name_gateway_short}} and {{project_name_workstation_short}}, incremental update from 0.1 is not supported!
  * Updated to Ubuntu 12.04.
  * Solves "Identity correlation through circuit sharing" by separating streams through different SocksPorts.
  * Integrated leaktest script.
  * Improved {{project_name_short}} network fingerprint.
   * All TCP and DNS traffic originating from {{project_name_workstation_short}} and {{project_name_gateway_short}} gets routed through Tor. In the past, {{project_name_gateway_short}} send in the clear and an adversary could have found out, that you are using {{project_name_short}}.
  * Improved hardware fingerprinting resistance.
   * {{project_name_workstation_short}} disc uuids are now the same among all {{project_name_short}} users.
   * MAC addresses are now the same among all {{project_name_short}} users.
   * CPU model and capabilities are now hidden. (VirtualBox --synthcpu on)
  * Improved support for (obfuscated) bridges.
  * {{project_name_gateway_short}} greeting help file.
  * Optionally downloading the alpha version of Tor is easy.
  * Optionally downloading obfsproxy from the Tor alpha repository is easy.
  * Tor Controller**arm** now preinstalled on {{project_name_gateway_short}}.
  * Firewall updates.
   * {{project_name_gateway_short}} and {{project_name_workstation_short}} have now a IPv6 firewall for defense in     depth.
   * {{project_name_workstation_short}} has now also an**optional** firewall for defense in depth.
  * Critical issue were an old Tor consensus and entry guards from our build machine was fixed, because we no longer start services while installing them.
  * Powersaving, which is default in Ubuntu, has been disabled for the virtual machines. Screen no longer blacks out.
  * {{project_name_workstation_short}} GPG no longer spills operating system and version information, added other privacy and security improving options to gpg.conf as well.
  * torcheck bash script, combined graphical and console version, starts on boot and every 24 hour. It checks Tor Browser version, Tor Socks- and TransPort IPs and if stream isolation is functional.
 * Open issues
  * CPU with PAE required, since Ubuntu Precise no longer ships a non-PAE kernel. We consider switching to Debian once Wheezy is out.
  * torcheck does not work on {{project_name_gateway_short}}.
  * Gnome Terminal is black on black. Please change colors manually.
  * More open issues on Whonix/Dev.

* New shell script features
 * Build documentation has been greatly revised and fully automated builds are now supported.
 * The Virtual Machines are now created by command line, ensuring that no step can be forgotten.
 * You need to make a clean install for both {{project_name_gateway_short}} and {{project_name_workstation_short}}, incremental update from 0.1 is not supported!
 * More comments, which explain almost everything.
 * Huge stylistic improvements.
 * The scripts are now modular. (Consist of functions.)
 * It is now easier to maintain, understand, bugfix and add new features.
 * Scripts can now be run over SSH.
 * Automatic GPG key download for required software and verification.
 * obfsproxy supported out of the box after minor update (commenting in feature).
 * Install torsocks and uwt.
 * Building {{project_name_short}} inside {{project_name_short}} (VirtualBox inside VirtualBox) is supported.
 * Deleting all logs to prevent leaking information about your system.
 * Fixed a leak, where the host's DNS settings could leak into the {{project_name_gateway_short}}.
 * {{project_name_gateway_short}} script
  * new switches
   * -install
   * -uninstall
  * Reverting changes, in case the script fails.
  * Optional features are clearly marked.
   * Onion Services.
   * Even more restrictive firewall rules.
   * More Socks Ports.
   * Best possible protection against Identity correlation through circuit sharing. (Removes Trans and DnsPort)
   * Leak Testing.
 * {{project_name_workstation_short}} script
  * -install
  * -xchat resets XChat.
  * -update-torbrowser updates TorBrowser.
  * -hiddenserver
  * -uwt
  * -update
  * -uninstall

older[edit]

Changelog:
2012-03-25 0.1.3
* improve fingerprint resistance
* introduce stream isolation features (will be automatically enabled when Tor 0.2.3 becomes stable)
* significantly reduce image sizes
* upgrade TB to current latest stable (2.2.35-9)
2012-03-07 0.1.2
* Internal release, script clean up.
2012-03-03 0.1.1-alpha
* Different default selection of client applications
2012-02-29 0.1-alpha
* Initial Release
Notification image

We believe security software like Whonix needs to remain open source and independent. Would you help sustain and grow the project? Learn more about our 13 year success story and maybe DONATE!

Whonix 13 Changelog[edit]

Whonix 13 was released on May 31, 2016. [1] Whonix 13 contains many small security and usability improvements, features and bug fixes. [2] [3]

Descriptions of changes in Whonix 12 and earlier versions can be found on sourceforge.net.

All Platforms[edit]

AppArmor[edit]

  • Fixed the Tor Browser AppArmor profile to allow correct functionality. [4]
  • Resolved AppArmor conflicts affecting Pidgin, Chromium and Evince. [5]
  • Merged AppArmor profiles for sdwdate, timesync and whonix-check into their corresponding packages and now install them by default. [6]

Bug Fixes[edit]

  • Fixed broken whonix-setup-wizard functionality. [7]

Code[edit]

  • Updated Whonix code for Tor Browser tb-updater. [8]
  • Refactored the Whonix socks redirection firewall rules to reduce their size and use less script code. [9] [10]
  • Refactored Whonix code so that scripts only use configuration files that end with the .conf extension. [11]

Improved Functionality and Usability[edit]

  • Modified whonixcheck to test for slow or fast system clocks which prevent Tor from properly connecting. [12]
  • Implemented an explicit check for timekeeping watchdog kernel messages in whonixcheck, so users are warned about clock jumps which prevent / time-out Tor connections. [13]
  • Enforced maximized terminal windows for xdg desktop users. [14] [15]
  • Enabled Transparent Proxy Ports for Whonix-Gateway by default (except for Whonix-Firewall). [16] [17]
  • Configured Whonix to use /etc/skel instead of writing to the home folder directly to maintain forward compatibility with Qubes. Further, this allows for proper error-handling where "user" is hardcoded in Whonix, and a newly created account with a different name has been used. [18]
  • Deprecated the timesync progress bar and replaced it with a tray icon using sdwdate-gui to improve usability and reduce confusion. [19]
  • Created a stable-proposed-updates repository for users who want to help in testing Whonix fixes, without resorting to the testers repository which comes with many more changes. [20]
  • Moved the WhonixBackupScript to the usability-misc package to make it more accessible. [21]
  • Replaced XChat with HexChat, since the former is no longer actively maintained, and created a new AppArmor profile to contain it. [22]
  • Implemented a VPN_FIREWALL feature as part of whonix-ws-firewall. [23]

Security Enhancements[edit]

  • Created a security-misc package that turns off Nautilus and Dolphin file previews by default, since this poses security risks. [24]
  • A known, good version of Tor is now maintained and uploaded to the Whonix repository from deb.torproject.org [25]
  • Uploaded the Tor 0.3.2.9 major (stable) release to the Whonix repository to enable full v3 onion functionality for both hosting of onion services and access to v3 onion addresses in Tor Browser. [26]
  • Extended the lifetime of the Whonix signing key. [27]
  • Sourced new onion services webservers for the sdwdate feature, which ensures the system's clock is correctly set for security, privacy and anonymity purposes. [28]

Qubes-Whonix[edit]

Bug Fixes[edit]

  • Fixed qubes-whonix-firewall systemd service start. [29] [30]
  • Resolved whonixcheck fixes for Qubes R4. [31]
  • Corrected false positive failure messages for the updates proxy test in Qubes R4. [32] [33]
  • Disabled qubes-SetDateTime / qubes.SyncNtpClock in Qubes-Whonix VMs since it interfered with timesync. [34]
  • Resolved accumulation of old Tor Browser instances in /var/cache/tb-binary/.tb/ which caused users to run into full disk error messages. [35]
  • Resolved an occasional error message whereby Whonix templates incorrectly reported they were not connected to the Whonix-Gateway ProxyVM. [36]
  • Resolved the broken anon-ws-disable-stackedtor function in Qubes-Whonix. [37]
  • Enforced the opening of all links from sys-whonix, whonix-gw and whonix-ws in the anon-whonix AppVM to prevent error messages. [38]

Builds[edit]

  • Corrected the build failure of Whonix-Workstation template in Qubes-Whonix R3.2 and added the qubes-template-whonix to continuous integration service TravisCI. [39]
  • Resolved Whonix template build failures in Qubes R4 related to Tor Browser downloads. [40]
  • Changed the Qubes-Whonix build process to install Whonix from the Whonix binary APT repository. This simplifies code, results in faster builds, removes build dependencies inside the template, and reduces the overall template size. [41]
  • Allowed the Whonix build script to run as root and reworked user_name. [42]

Code[edit]

  • Removed fetching of Whonix source code in qubes-template-whonix. [43]
  • Removed the qubes-update-check system service from Qubes-Whonix Templates, since it was unnecessary. [44] [45]
  • Reworked / removed a number of installed packages in Qubes-Whonix which are only required for the Non-Qubes-Whonix desktop. [46] [47]
  • Removed the default username and password in the Qubes-Whonix terminal, because it is not required. [48]

Improved Functionality and Usability[edit]

  • Ported whonixcheck and tb-updater to Qubes' qrexec-based updates proxy, since Templates are non-networked by default in Qubes R4. [49]
  • Changed the tb-updater configuration to use Qubes updates proxy, since Qubes R4 sets the NetVM of Templates to none by default. [50]
  • Implemented the ability to install Whonix-Workstation and Whonix-Gateway from dom0 with a sudo apt install whonix-(workstation|gateway) feature. [51]
  • Ported the bind-directories functionality upstream to Qubes. [52]
  • Implemented the new bind-directories functionality in Qubes-Whonix. [53]
  • Implemented a check for whether the whonix-gw ProxyVM (sys-whonix) has a NetVM which is set to "none", with a warning shown if this is the case. [54]
  • Implemented a new feature so that following an update of the Whonix-Workstation Template, newly created AppVMs based on the updated Template come with an up-to-date version of Tor Browser. [55]
  • Modified whonixcheck to check if: Whonix-Gateway is running in a NetVM or ProxyVM; Whonix-Workstation is running in an AppVM; and to skip the test if a Template is detected. [56]

Security Enhancements[edit]

  • Prevented /usr/lib/qubes/qubes-setup-dnat-to-ns from running in Qubes-Whonix to stop it from modifying firewall rules. [57]

Whonix 14 Changelog[edit]

Whonix 14 was released on August 6, 2018. Significantly, Whonix 14 is based on the Debian stretch (Debian 9) distribution which was released in mid-2017, instead of Debian jessie (Debian 8). [58] Users now have access to numerous updated and new software packages, a more modern branch of GnuPG, and more. [59] [60] [61]

All Platforms[edit]

AppArmor[edit]

  • Fixed the whonixcheck AppArmor profile to remove continuous denied messages relating to signal. [62]
  • Fixed the AppArmor profile for obfs4proxy to enable correct functioning of Tor Bridges in Whonix-Gateway. [63]
  • Fixed the Tor Browser AppArmor profile to allow correct functionality. [64]
  • Corrected the tor-controlport-filter AppArmor profile to ensure correct functioning. [65]
  • Removed the Pidgin AppArmor profile, since Pidgin is recommended against for security reasons. [66]
  • Hardened the Control Port Filter AppArmor profile. [67]
  • Disabled installation of apparmor-notify (AppArmor notifications) by default, thereby removing the reporting of mostly harmless denied messages. [68] [69]

Bug Fixes[edit]

  • Corrected the broken whonix-setup-wizard autostart on Whonix-Gateway. [70]
  • Fixed sdwdate-gui freezing when using right-click in the menu. [71]
  • Fixed dependency issues which prevented the whonix-setup-wizard gui from starting. [72]
  • Implemented the correct Tor --verify command for Whonix-Gateway torrc configuration checks to prevent the reporting of false positives. [73]
  • Modified the uwt wrapper script to correctly handle symbolic links. [74]
  • Changed the Whonix-Gateway firewall prerouting rules for socks ports so they do not interfere with trans port traffic. [75]
  • Modified whonixcheck to first test if network interfaces are up to prevent the test from failing unnecessarily. [76]
  • Fixed a whonixcheck whonix-firewall check race condition. [77]

Builds[edit]

  • Resolved genmkfile build dependencies for building Whonix-Workstation and Whonix-Gateway. [78]
  • Confirmed the new and upgraded Whonix 14 builds are identical. [79] [80]
  • Fixed debian/control parsing with respect to make_deb_build_dependencies / make_deb_runtime_dependencies. [81]

Code[edit]

  • Updated Whonix code for Tor Browser tb-updater. [82]
  • Changed the bindp compile to postinstall to make it cross-platform (Qubes, 64-bit, 32-bit). [83]
  • Rewrote sclockadj in C and updated the sdwdate package to compile sclockadj. [84] [85]
  • Implemented symlinks for onion-grater profiles to maintain functionality following profile upgrades. [86]
  • Enhanced onion checking in sdwdate to improve the unit test. [87]
  • Ported msgcollector to python3 and python3-pyqt5. [88]
  • Ported whonix-setup-wizard to python3. [89]
  • Ported python-guimessages to python3. [90]
  • Rewrote sdwdate to ensure python exceptions are written to the journal. [91]
  • Rewrote control-port-filter-python to ensure exceptions are written to the journal. [92]
  • Re-added some non-essential packages to Whonix that were removed from Debian stretch. [93] [94]
  • Ported helper-scripts so they instead use Tor authentication cookies. [95]
  • Ported whonixcheck check_tor_socks_port_reachability.bsh to use the Tor unix domain socket socks file. [96]
  • Ported anon-ws-disable-stacked-tor to systemd socket activation to remove unnecessary, idle socat listeners. [97] [98]
  • Removed auditd configuration folder parsing /etc/audit/rules.d/ by default, since the feature has been implemented upstream.
  • Implemented anonymous counting of Whonix users via the whonixcheck Whonix News function. [99] [100]
  • Implemented, but did not activate changes to the Whonix firewall so: sdwdate is stopped before suspend; timesync-fail-closed mode is set before suspend; sdwdate is restarted after resume; and Whonix firewall enters full mode after resume following successful sdwdate activation. [101]
  • Configured auditd to process the configuration folder /etc/audit/rules.d/ by default to aid debugging. [102] [103]
  • Implemented monitoring of changes to /var/lib/tor/lock access rights via auditd to aid debugging. [104]
  • Modified anon-ws-disable-stacked-tor to maintain Tor Browser functionality with Unix domain socket files redirection and prevent Tor over Tor scenarios. [105]
  • Configured whonixcheck to test for failed daemons. [106]
  • Implemented a sdwdate sd_notify systemd watchdog. [107]
  • Disabled systemd-resolved and instead implemented a /lib/systemd/system/systemd-resolved.service.d/ drop-in. [108]
  • Ported /usr/sbin/service to systemctl as the latter runs non-interactively. [109]
  • Disabled timedatectl network time synchronization in Debian stretch to prevent conflicts with sdwdate. [110]
  • Removed brltty, brltty-speechd and brltty-x11 since they create a local listener port which may conflict with onion-grater. [111]
  • Modified anon-ws-disable-stacked-tor systemd-unit-files-generator so it is configurable. [112]
  • Rewrote slockadj3 in C and determined how to prevent spamming of sclockadj3 time changes to logs. [113] [114] [115] [116]

Improved Functionality and Usability[edit]

  • Implemented the major new Anon Connection Wizard feature to simplify connections to the Tor network via a Tor bridge and/or a proxy. [117]
  • Integrated the Tor Pluggable Transport meek_lite. [118]
  • Integrated anon-connection-wizard into whonix-setup-wizard, so that the latter can now start the former. [119]
  • Removed the Control Port Filter Proxy script from anon-ws-disable-stacked-tor since it is no longer required for proper Tor connections or Tor Browser functions (its functionality is now replaced by onion-grater). This means Ricochet, ZeroNet and OnionShare are now compatible with Whonix. [120] [121] [122]
  • Installed necessary dependencies for proper ZeroNet functionality. [123]
  • Installed onioncircuits by default in Whonix-Gateway. [124]
  • Added --list-interface to tor-controlport-filter, as it works better with dynamic IP addresses. [125]
  • Added a /etc/tor-controlport-filter.d configuration extension feature. [126]
  • Fixed the control-port-filer-python configuration to rewrite HS_DESC replies by Tor, so OnionShare is supported. [127]
  • Merged the tor-controlport-filter by Tails for various enhancements. [128]
  • Implemented more user-friendly error messages (instead of tb-starter error handlers) when non-Whonix related Tor Browser issues cause start-tor-browser to fail and exit zero. [129]
  • Implemented sane built-in defaults for whonix-gw-firewall, whonix-ws-firewall, whonixcheck, sdwdate, uwt, onion-grater, rads, open-link-confirmation, tb-starter and tb-updater, even if configuration files do not exist. [130]
  • Changed uwt to set AllowOutboundLocalhost / AllowInbound which can help make servers utilizing Tor onion services work. [131]
  • Implemented a sd_notify watchdog feature for onion-grater so the service is restarted if it appears to be running, but has became unresponsive. [132]
  • Created a bindp Whonix package to enable Whonix-Workstation applications that use Tor ephemeral onion services to bind on all interfaces as necessary. [133]
  • Modified sdwdate to check if the clock is changed "behind the back" of the program and suggest a manual user fix. [134]
  • Improved default torsocks information / warning messages when wrapped commands are invoked to reduce user confusion. [135]
  • Both Non-Qubes-Whonix and Qubes-Whonix are now compatible with the Tor Project's sandboxed Tor Browser. [136]

Security Enhancements[edit]

  • Confirmed functionality of the kloak anti-keystroke deanonymization tool in Whonix. [137] [138]
  • Identified more reliable onion servers as appropriate time sources for sdwdate, which enables correct network time synchronization for anonymity-focused distributions. [139]
  • Implemented Tails' Control Port Filter Proxy in Whonix and merged recent changes since it was forked. [140] [141]
  • Fixed security and hardening (stack canary) issues with the bindp libindp.so package (which were merged upstream). [142]
  • Uploaded Tor version 0.3.3.9 (stable) release to the Whonix repository to enable full v3 onion functionality for both hosting of onion services and access to v3 onion addresses in Tor Browser. [143]
  • Onion sources are now preferred for Whonix updates/upgrades for greater security. Note: this change has been reverted due to the unreliable nature of onion connections at present - see footnote. [144]
  • Disabled the apt-timer in Debian stretch to prevent auto updates, thereby preventing the attendant security risks associated with background updates without user input. [145]
  • Disabled nautilus previews by default due to the security risks. [146]
  • Implemented uwt to set TORSOCKS_ISOLATE_PID in Debian Stretch so all uwt wrapped applications are stream isolated. [147]
  • Implemented tor+http / apt-transport-tor rather than Acquire::BlockDotOnion "false" for better security and stream isolation. [148]
  • Disabled the systemd DNS resolver feature in order to reduce the attack surface and to remove the potential for adverse anonymity impacts. [149]
  • Established a dedicated Whonix.org repository, with appropriate redirects from Whonix mirrors. [150]
  • Removed the DHCP client from Whonix-Gateway and switched to a static network configuration so the dhclient is no longer present on all interfaces, including the internal network. [151]
  • Disabled VLC metadata collection by default. [152]
  • Disabled "Obey DRM limitations" in Okular, [153] since Digital Rights Management (DRM) can be used as a tracking vector. [154] [155]

Non-Qubes-Whonix[edit]

Info Desktop shortcuts are no longer available in Non-Qubes-Whonix. [156]

Bug Fixes[edit]

  • Increased the Whonix-Gateway VRAM in VirtualBox from 8 to 16 MB to avoid error messages and possible video problems when using full screen mode. [157]
  • Corrected sdwdate-gui systray so it properly registers in kde systray and does not appear as a gap in the Entry column. [158]
  • Corrected the sdwdate-gui tray icon so it is visible in Debian stretch. [159]
  • Corrected the virtualization detection method to properly recognize KVM. [160]

Builds[edit]

  • Reduced the size of the default, binary Whonix images by approximately 50 per cent using zerofree. [161] [162] [163] [164]

Code[edit]

  • Removed kmix-disable-autostart since it is no longer required to make sure the clipboard history icon is loaded into the system tray. [165]

Improved Functionality and Usability[edit]

  • Created the grub-live package which can run Whonix as a live system. [166] [167]
  • Added Kscreen to Whonix by default in order to allow DPI (dots per inch) scaling and other basic desktop features of Plasma 5. [168]
  • Removed the VirtualBox shared folder and confirmed automounting of shares is enabled in Debian stretch. [169]

Security Enhancements[edit]

  • Removed okular from anon-shared-applications-kde to anon-workstation-default-applications so it is not installed on Whonix-Gateway. [170]
  • Hide the CPUID in VirtualBox 5 by setting generic values via HostCPUID. [171]

Qubes-Whonix[edit]

Bug Fixes[edit]

  • Implemented whonixcheck fixes for Qubes R4. [172]
  • Corrected false positive failure messages for the updates proxy test in Qubes R4. [173] [174]
  • Resolved non-functionality of Tor Browser due to jemalloc corruption. [175]
  • Resolved segfaults in Tor Browser caused by excessive string length in the XDG_CONFIG_DIRS environment variable. [176]
  • Resolved accumulation of old Tor Browser instances in /var/cache/tb-binary/.tb/ which caused users to run into full disk error messages. [177]
  • Corrected dependencies in the qubes-whonix package to resolve issues when upgrading to Debian stretch. [178]
  • Fixed a corridor lintian warning on Debian related to systemd documentation. [179]
  • Resolved error messages associated with tput using an empty TERM environment variable. [180]
  • Resolved the failure of tb-updater to copy Tor Browser into the user's home directory on first VM startup in Qubes R4. [181] [182] [183]
  • Implemented the correct appmenus for Qubes-Whonix 14 Templates and fixed missing appmenu entries. [184] [185]
  • Resolved the false positive timedatectl error message when using whonixcheck. [186]
  • Corrected the absent 'Connected to Tor.' message, which arose due to a missing notification daemon. [187]
  • Resolved non-persistence of files in /usr/local, such as the Tor configuration file. [188] [189]
  • Implemented a qvm-features-request whonix-ws=1, so that newly created Whonix-Workstation AppVMs inherit the anon-vm tag. [190] [191] [192]
  • Created qubes-core-admin-addon-whonix to enforce the anon-vm tag for newly created Whonix-Workstation AppVMs. [193]
  • Removed redundant warning messages affecting Whonix-Workstation Disposables that related to the first invocation of an open-link-confirmation. [194]
  • Fixed an APT package issue whereby some users were downgraded to a known vulnerable version. [195] [196]
  • Corrected an aptitude update failure which affected all Qubes-Whonix VMs. [197]
  • Installed Tor Browser by default in Whonix-Workstation-Disposables, as it was previously missing upon VM launch. [198]
  • Fixed the periodic failure of Whonix-Workstation AppVMs to start correctly, which prevented the launch of any user applications. [199]
  • Fixed an error which caused /etc in Qubes-Whonix templates to be owned by user:user [200]

Builds[edit]

  • Corrected the build failure of the Whonix-Workstation template in Qubes-Whonix R3.2 and added qubes-template-whonix to the continuous integration service TravisCI. [201]
  • Removed older unstable Whonix 14 builds from Qubes' unstable repository. [202]
  • Resolved unexpected build failures. [203]
  • Removed Whonix 14 templates from Qubes' unstable repository, since testing versions now reside in qubes-templates-community-testing. [204]
  • Backported versioning of Whonix template names from Qubes R4 to Qubes R3.2 to simplify the installation procedure for users on the earlier platform. [205]

Code[edit]

  • Removed cups and system-config-printer from Whonix-Workstation, since printing capabilities are better suited to alternate VMs and this also removes a local TCP listener that is otherwise created. [206]
  • Corrected anon-meta-packages compatibility for Qubes R3.2 and R4. [207]
  • Installed pulseaudio-qubes for audio support and removed pulseaudio and VLC from sys-whonix. [208]
  • Created a qvm-features-request whonix-gw=1 as a prerequisite for sdwdate-gui-qubes. [209]

Improved Functionality and Usability[edit]

  • Confirmed full Qubes-Whonix compatibility with Qubes R4. [210]
  • Confirmed Qubes-Whonix-Workstation has full DispVM support. [211]
  • Created a tb-updater storage path for Qubes R4 so new AppVMs and Disposables have a copy of the latest Tor Browser version. [212] [213]
  • Created Qubes-Whonix 14 SaltStack state files with flexible versioning for future releases. [214] [215]
  • Modified Qubes-Whonix Salt code so the repository is not hard-coded, allowing users to choose either the qubes-templates-community or qubes-templates-community-testing repository. [216]

Licensing[edit]

  • Added a COPYING file to the Qubes-Whonix template repository to assure users they are covered by a free software license. [217] [218]

Security Enhancements[edit]

  • Added Qubes-Whonix tags on domain-load rather than upon VM creation to avoid missing tags for users that upgrade. [219]

Whonix 14 Updates[edit]

As Whonix is now a rolling distribution, users will benefit from regular small security and usability improvements, features and bug fixes as they enter the Whonix stable repository. Those will be announced here.

Documentation[edit]

Website Fixes and Outreach[edit]

  • Website fixes: implemented the proposed download directory structure as well as download redirects, stable download links and permalinks. [243]
  • Implemented numerous mediawiki fixes for better website presentation. [244]
  • Opened a Peertube video channel. [245] [246]
  • Updated Release Announcements to collate all places where this should be posted. [247]
  • Post Whonix release announcements in crypto currency Reddit forums. [248]
  • Researched social media strategies to increase Whonix awareness. [249]
  • Established mirroring of all Whonix announcements. [250]
  • Bookmarked the outreach workboard. [251] [252]
  • Signed the Whonix developer team up to various developer mailing lists. [253]

All Platforms[edit]

AppArmor[edit]

  • Corrected the dnscrypt-proxy AppArmor profile for full functionality.
  • Removed unnecessary and extensive capabilities from the Tor Browser AppArmor profile. [254] [255] [256]
  • Amended the Tor Browser AppArmor profiles so 8.* versions correctly launch. [257] [258]
  • Added capability sys_module to whonixcheck because it is required for ifconfig. [259] [260]
  • Added a wildcard for non-Tor or modified Tor Browser Bundles. [261] [262]
  • Deprecated /etc/apparmor.d/home.tor-browser.start-tor-browser due to broken functionality. [263]
  • Added various permissions to the XChat AppArmor profile for greater functionality. [264]

Bug Fixes[edit]

  • Implemented an automated /var/lib/tor permission fix. [265] [266]
  • Installed the missing pinentry-qt package so Enigmail decryption is functional. [267] [268]
  • Fixed the Whonix custom firewall settings start menu entry in Whonix Xfce. [269]
  • Fixed the false-positive "Tor Browser not installed" message in tb-starter. [270]
  • Onion-grater: fix Tor control auth cookie authentication even if HashedControlPassword is set. [271]
  • Fixed output when using open-link-confirmation. [272]
  • Change etc/.skel to etc/skel/Downloads in all code. [273] [274]

Builds[edit]

  • Released new Whonix 14 builds to address the APT security update bug. [275] [276]

Code[edit]

  • whonixcheck: grep journal for "fail", "error" and "denied". [277]
  • Re-implemented Tor Browser local version number detection. [278]
  • Decided against virtualizer configurations which attempt to hide the CPU model. [279] [280] [281]
  • Moved kcalc, okular, gwenview, kgpg, libkf5kipi31.0.0 and libkf5kipi-data from hardened-desktop-applications-kde to non-qubes-whonix-workstation-kde and qubes-whonix-workstation. [282]
  • Simplified code by using apt-key rather than custom code when adding a gpg key. [283]
  • Fixed the mime type in whonix-repository. [284]
  • Refactored the whonixcheck code and included an option to show "sudo apt-get-update-plus dist-upgrade" if it is available. [285] [286]
  • Ported the IP check in whonixcheck to https://check.torproject.org/api/ip [287]
  • sdwdate-gui: permission lockdown, fixed merge conflicts, avoidance of 'clock is fast' false positives and other miscellaneous fixes. [288] [289] [290] [291]
  • anon-ws-disable-stacked-tor: set 'restart' rather than 'start' to support running scripts. [292]
  • Added a mechanism to add variables to Debian packaging maintainance scripts. [293] [294]
  • Thunderbird is no longer installed by default in Whonix. [295] [296]
  • Beautified the Whonix landing page for Tor Browser v8.0+. [297] [298]
  • Implemented use of /usr/lib/helper-scripts/terminal-wrapper rather than hardcoding Konsole. [299] [300] [301] [302]
  • Deprecated anon-workstation-extra-applications, anon-workstation-langpack-common and anon-shared-desktop-langpack-kde. [303] [304]

Improved Functionality and Usability[edit]

  • Changed (Qubes-)Whonix default applications from KDE to Xfce. [305] [306] [307]
  • Installed magic-wormhole by default as an OnionShare alternative. [308] [309] [310]
  • Set mousepad as the default editor for sudoedit. [311] [312]
  • Added support for Xfce, thunar and gksudo in Whonix-Gateway. [313]
  • Allow multiple flashproxy ports in Whonix firewall. [314] [315] [316] [317]
  • Disabled Whonix onion apt sources by default due to unreliability. [318] [319] [320]
  • Added a new branch for compression/decompression tools. [321] [322] [323]
  • Implemented support for the new Snowflake pluggable transport in Anon-Connection-Wizard. [324]
  • Implemented the Tor Controller GUI in Whonix with various fixes. [325]

Security Enhancements[edit]

  • Removed mapaddress entries in torrc for 1.1.1.1 and 2.2.2.2 due to the fingerprinting risk. [326] [327]
  • Run whonixcheck in Whonix-Workstation on first time boot. [328] [329]
  • Added a spectre/meltdown test to whonixcheck. [330] [331]
  • Enforce connections to deb.debian.org instead of us.debian.org and now use https (SSL/TLS) by default, as well as fixing build --connection onion. [332] [333]
  • Implemented optional tb-updater onion mirrors download support. [334] [335]
  • Corrected systemd hardening for onion-grater. [336]
  • Added systemd sandboxing for sdwdate. [337]
  • Enforced tor+http in apt sources lists to make use of apt-transport-tor. [338] [339] [340] [341]
  • Disabled uncommon network protocols for improved security. [342] [343] [344]
  • Added a Bitcoin Core onion-grater profile. [345] [346] [347] [348]

Non-Qubes-Whonix[edit]

Bug Fixes[edit]

  • Disabled KDE session restoration to prevent VirtualBox error notifications upon boot in either Whonix-Gateway or Whonix-Workstation. [349] [350] [351]
  • Start the KDE desktop session login with an empty session / resolve the kdesudo error popup window related to sdwdate-gui. [352]
  • Fixed the Whonix-Gateway Xfce / CLI keyboard layout error. [353]
  • Fixed a lintian error for sdwdate-gui / missing xml files for specific desktop environments. [354] [355] [356]

Code[edit]

  • Closed all KDE-related requests and bug fixes following the shift to Xfce. [357] This includes:
    • Change default application to not use kmail. [358]
    • Change KDE theme and KDE mouse theme. [359]
    • Disable the Baloo file indexer. [360]
    • Add /media to desktop icons. [361]
    • Add /media to pinned places in Dolphin. [362]
    • Disable/remove KDE system and network settings. [363]
    • Disable web shortcuts. [364]
    • settings-plasma search/configure search configurations from Whonix-Gateway. [365]
    • Non-Qubes-Whonix KDE plasma 5 fixes. [366]
  • Implemented numerous Xfce fixes: Whonix builds, desktop shortcuts, xfce4-terminal, related meta-packages and general fixes.[367] [368] [369]
  • Created a configuration file for Whonix Xfce Desktop. [370]
  • Updated the check for installed meta packages for Whonix Xfce and Whonix CLI. [371]
  • Removed pulseaudio from hardened-desktop-applications-xfce. [372]
  • Removed Ristretto from hardened-desktop-applications-xfce. [373] [374]
  • Deprecated non-qubes-vm-enhancements-gui. [375] [376]
  • Merged whonix-shared-packages-recommended-cli into whonix-shared-packages-dependencies-cli. [377]
  • Port to and take ownership of /etc/xdg/xfce4/xfconf/xfce-perchannel-xml [378] [379] [380]
  • Modified whonix-firewall to remove the old IP 192.168.0.10 reference in non-qubes-whonix-gateway. [381]
  • Minimized VirtualBox Whonix-Gateway CLI differences with non-qubes-whonix-workstation cli. [382] [383]

Improved Functionality and Usability[edit]

  • Implemented Whonix for arm64 / Raspberry Pi (RPi). [384]
  • Implemented a unified Whonix download rather than separate Whonix-Gateway / Whonix-Workstation downloads. [385] [386] [387]
  • Re-enabled hidden files and volume management. [388]
  • Whonix Setup Wizard: added instructions on how to change keyboard layout in Xfce. [389]
  • Added mupdf and Ristretto to non-qubes-whonix-workstation-xfce. [390]
  • Show the pulseaudio plugin by default. [391]
  • Increased Whonix-Workstation VRAM in Non-Qubes-Whonix to 2GB to improve performance. [392] [393]

Security Enhancements[edit]

  • Disabled maximizing of the Tor Browser window when moving to the top of the screen. [394] [395]
  • Disabled previews / thumbnails in Thunar for better security. [396]

Qubes-Whonix[edit]

Bug Fixes[edit]

  • Corrected Tor Browser in whonix-ws-14 based VMs sometimes blocking JavaScript on first start. [397] [398] [399]
  • Qubes templates: removed the broken graphical updater (Apper). [400] [401]
  • Resolved the command failure when running qubesctl state.sls qvm.anon-whonix. [402] [403]
  • Added missing Whonix tags anon-vm / anon-gateway to user-created, Whonix-based VMs. [404] [405]
  • Fixed failure of Whonix-Gateway to respond after an update. [406] [407]
  • Corrected an update error caused by an expired release file. [408]
  • Corrected a false whonixcheck notification about outdated packages after performing an in-place upgrade. [409]

Builds[edit]

  • Amended builder.conf so template build commands are not ignored. [410]
  • Deprecated Whonix 13. [411]

Code[edit]

  • Set $tag:anon-vm $anyvm deny in template-whonix-ws.sls. [412]
  • Removed the default installation of emacs and vim. [413]
  • Modified the Spectre / Meltdown check so it only runs in Qubes R4 and above. [414]

Security Enhancements[edit]

  • Confirmed Qubes-Whonix templateMVs cannot upgrade in timesync-fail-closed mode. [415]
  • Confirmed the efficacy of jitterentropy random number generation in Xen. [416]

Whonix 15 Changelog[edit]

Whonix 15 was released on July 1, 2019. [417] Significantly, Whonix 15 is based on the Debian buster (Debian 10) distribution which was officially released on July 6, 2019 instead of Debian stretch (Debian 9). The buster release has nearly 60,000 packages and over 62 per cent of them were updated [418] [419] -- see the official Debian 10 release notes to learn more.

All Platforms[edit]

Bug Fixes[edit]

  • Fixed file saving issues in scurl wrappers. [420] [421] [422]
  • Fixed the partial truncation of text in Whonix Connection Wizard. [423]
  • Installed cryptsetup by default so errors do not appear when using a GUI and interacting with encrypted containers. [424] [425] [426]

Builds[edit]

  • Ported the build script to cowbuilder; build packages in chroot and use mmdebstrap for better security. [427]

Code[edit]

  • Modified whonixcheck so it suggests to start networking / onion-grater if it is not running. [428]
  • Improved the /usr/share/sdwdate/unit_test [429] [430]
  • Improved the sdwdate message Tor consensus message. [431]
  • Confirmed the sanity of systemd DNS after porting to Debian buster. [432]
  • Established sane built-in defaults even if configuration files are non-existing. [433] [434]
  • Updated the onion list time sources for sdwdate so that offline and unwanted onions were removed. [435]

Improved Functionality and Usability[edit]

Security Enhancements[edit]

Non-Qubes-Whonix[edit]

Bug Fixes[edit]

  • Corrected a VirtualBox error related to guest utils not starting. [455] [456]

Builds[edit]

  • Significantly reduced the size of Non-Qubes-Whonix images using zerofree. [457]

Improved Functionality and Usability[edit]

Security Enhancements[edit]

Qubes-Whonix[edit]

Bug Fixes[edit]

  • Correctly configured Qubes-Whonix Xfce default start menu entries (whitelisted appmenus). [474]

Builds[edit]

  • Created Qubes-Whonix 15 template configuration files. [475] [476]
  • Confirmed the Whonix-15-gateway template builds. [477]

Improved Functionality and Usability[edit]

  • Simplified instructions for VM kernel in Qubes-Whonix by installing the same recommended Qubes packages as Qubes Debian packages. [478] [479]
  • In Disposables, tb-updater / tb-starter was modified to no longer copy Tor Browser to the user home directory at first boot -- /var/cache/tb-binary is now directly used to improve startup performance. [480] [481]

Security Enhancements[edit]

  • Confirmed Qubes-Whonix TemplateMVs cannot upgrade in timesync-fail-closed mode. [482] [483]

Whonix 15 Updates[edit]

As Whonix is now a rolling distribution, users will benefit from regular small security and usability improvements, features and bug fixes as they enter the Whonix stable repository. Those will be announced here.

Info The majority of the enhancements below also also apply to Qubes-Whonix. Exceptions include:

Many of these will be possible once the use of in-VM kernels is simplified and promoted in Qubes OS. [485] [486]

All Platforms[edit]

In 2019, point releases were announced on 10 September, 22 and 23 November. [487] [488] [489] [490] In 2020, point releases were announced on 16 and 27 February, 19 and 21 March, 29 May, 10 and 18 June, 27 August, 7 and 17 and 30 September, and 17 December. [491] [492] [493] [494] [495] [496] [497] [498] [499] [500] [501] [502] [503] In 2021, point releases were announced on 17, 19, 22 and 27 April, 9 and 12 July. [504] [505] [506] [507] [508] [509] [510]

AppArmor[edit]

apparmor-profile-everything:

  • Further development of AppArmor for everything. APT, systemd, init, all systemd units, all applications. [511] [512] [513]
  • Implemented proper whitespace handling. [514] [515]
  • Fixed various denial errors. [516]

apparmor-profile-torbrowser:

Other AppArmor improvements:

  • Implemented AppArmor Live Mode fixes and various enhancements. [518] [519]
  • Numerous apparmor profile enhancements were added.
  • Added a new apparmor-watch tool to check for DENIED and ALLOWED log messages. [520]
  • Implemented apparmor-info which parses AppArmor denial logs to hide unnecessary information and remove duplicates. [521]

Bug Fixes[edit]

anon-apps-config:

  • Disabled GPG default key servers. [522]
  • Removed SecBrowser code since it is deprecated. [523]

anon-connection-wizard:

  • Updated usr/share/anon-connection-wizard/bridges_default from ~/tor-browser/Browser/TorBrowser/Data/Tor/torrc. [524]
  • Fixed error handling. [525]
  • Minor non-Whonix reliability fix. [526]
  • Modified wording to be similar to the newer tor-launcher. [527]
  • Partial fix for meek lite in Whonix. [528] [529]
  • Added /usr/lib/anon-gw-anonymizer-config/edit-etc-resolv-conf as another part of fixing meek lite in Whonix. [530] [531]
  • Fixed anon-connection-wizard truncated text.
  • Fixed a bug in Whonix 15.0.0.8.9 where anon-connection-wizard added %include /etc/torrc.d/95_whonix.conf to /etc/tor/torrc configuration file even though Whonix was already ported to %include /etc/torrc.d/
  • Fixed some “unknown connection tag” messages in Whonix-Gateway.
  • Fixed default bridges. [532] [533]

anon-gw-anonymizer-config:

  • Reload apparmor profiles after installation to make the package work -- a reboot is no longer required. [534]
  • Partial meek lite fix in Whonix -- added /usr/lib/anon-gw-anonymizer-config/edit-etc-resolv-conf. [535] [536]

anon-meta-packages:

  • Fixed ristretto missing thumbnails and popup by installing tumbler by default -- added “Depends: tumbler” to whonix-workstation-packages-recommended-gui [537] [538] [539]
  • OnionShare is no longer installed by default. [540] Debian buster -- which Whonix 15 is based on -- packages version 1.3.2. This only supports legacy v2 onions which are being phased out and deprecated on July 15th, 2021. [541] [542] The Flatpak installation method is recommended at this time.
  • Bumped python-msgpack to python3. ZeroNet now uses python3 and python2 is removed from Debian as of bullseye. [543]
  • Split the repository-dist GUI / CLI dependencies. [544] [545]

anon-ws-disable-stacked-tor:

  • Fixed "Firefox is offline" messages in Tor Browser 10.5a17 and above. [546]

Various fixes for I2P inside Whonix-Workstation: [547] [548]

  • Preparation for installation of i2p by default.
  • Do not autostart i2p.service if installed.
  • Do not autostart privoxy.service if installed.
  • Do not autostart i2p.service in Qubes Template.
  • Do not autostart privoxy.service in Qubes Template.
  • Fixed the i2pbrowser local browser homepage.

open-link-confirmation:

  • Remove SecBrowser code since it is deprecated. [549]

Qubes-Whonix:

security-misc:

  • Fixed security-misc to allow group sudo and console to use consoles.
  • No longer unconditionally abort pam for user accounts with locked passwords.

tb-default-browser:

  • Removed SecBrowser code since it is deprecated. [551]

tb-starter:

  • Removed SecBrowser-specific code since it is deprecated.
  • Added custom user.js support. [552]
  • Updated Tor Browser Integration. [553]
  • Fixed a tb-starter bug.

tirdad:

  • Load tirdad before LKRG so LKRG does not judge tirdad to be malicious. [554]
  • /etc/modprobe.d/30-tirdad.conf softdep p_lkrg pre: tirdad: Imported from the LKRG package since it does not belong there and because Debian packaging for LKRG is now provided by upstream.

/usr/lib/anon-gw-anonymizer-config/torrc-d-cleaner:

  • During package upgrades of anon-gw-anonymizer-config, avoid moving /etc/torrc.d/95_whonix.conf to /etc/torrc.d/backup/95_whonix.conf.dpkg-new. [555]

whonix-firewall:

  • Miscellenous improvements. [556]
  • Remove deprecated variable SOCKS_PORT_TBB_GPG. [557]
  • Whonix-Gateway firewall: implemented INTERNAL_OPEN_PORTS.
  • Deprecated support for SOCKS_PORT_CUSTOM=" 9230 " syntax; use INTERNAL_OPEN_PORTS+=" 9230 " instead.
  • Refactoring / code simplification. [558] [559]
  • Fixed denial errors. [560]

Other fixes:

  • Fixed whonixcheck msgcollector permission errors.
  • Corrected authentication failures related to Anon Connection Wizard and Whonix repository. [561]
  • Resolved the APT error relating to Debian's suite value changing from 'testing' to 'stable'. [562]
  • Fixed starting pkexec-based applications from start menu, such as gdebi, synaptic and gparted. [563]
  • Added an encrypted swap file to the system to avoid Whonix-Gateway freezing (for systems with low RAM) during the apt full-upgrade procedure. [564] [565] [566]
  • Worked around a NoScript race condition that permitted JavaScript on around 30 sites in Tor Browser when the Security Slider was set to Safest. [567] [568]
  • Prevented the keyboard-configuration debconf popup during apt full-upgrade. [569] [570]
  • Implemented a command-not-found permission fix to avoid the WARNING:root:could not open file '/etc/apt/sources.list' message. [571] [572]
  • Fixed the bug parsing torrc.d twice.
  • Added x11-xserver-utils to kicksecure-desktop-environment-essential-gui to fix Xfce logout button. [573]
  • Disabled vm.unprivileged_userfaultfd=0 because it is currently broken. [574] [575] [576]
  • pkexec wrapper: fixed gdebi / synaptic but at the cost of checking for passwordless sudo /etc/suders /etc/sudoers.d exceptions. [577]
  • SecBrowser / i2pbrowser: no longer use firejail by default even if installed since it is not currently maintained by a contributor in Whonix / Kicksecure.
  • Fixed an onioncircuits error report related to user permissions. [578] [579]
  • Added an ENOUGH_RAM setting to swap-file-creator (1950 MB RAM default), so if there is enough RAM a swap file is not created (improving boot time). [580]
  • first-boot-skel: fixed /etc/skel/.bashrc to /home/user/.bashrc handling if the home folder is completely empty.
  • Disabled the Tor Browser security slider question at first start because it is broken. [581]
  • Disabled proc-hidepid due to pkexec issues.
  • Removed command-not-found from the default package installation, since it is not working out of the box which leads to confusing error messages. [582] [583]
  • Ensured consistent parsing of /usr/local/etc/name.d for applications by Whonix that also parse /etc/name.d. Parsing /rw/config/name.d is still possible for compatibility but will be deprecated.
  • Fixed adduser -- no longer writing to /nonexistent.
  • Set the environment variable QMLSCENE_DEVICE=softwarecontext (in VirtualBox, and also after upgrades in KVM) to workaround a VM-specific Monero bug.
  • Implemented a sdwdate python 3.7 fix if the host timezone is set to something other than UTC.
  • Fixed a false positive live mode detection in live mode indicator.
  • Fixed update-torbrowser not seeing version 10.0.6 due to a new, upstream version format. [584]
  • Tor Browser Starter by Whonix Developers: fixed opening URLs which contain question marks and added more folder permission checks.
  • ro-mode-init: fixed the non-functional Live Mode Indicator. [585]
  • Fixed Thunderbird connectivity out of the box with a torbirdy replacement.
  • qtox is no longer installed by default. [586]
  • Disabled the following Tor stream isolation ports since the related applications in Whonix have been deprecated:
    • Mixmaster update (9120)
    • Mixmaster (9121)
    • Privoxy (9112)
    • Polipo (9113)
    • TorChat (9119)
    • Tor Browser Updater by Whonix Developers gpg key download (9116) [587]
    • Tor Messenger (9153)
  • Installation no longer requires auditd by default. [588] [589]
  • kicksecure-meta-packages: Fixed missing ristretto thumbnails and popup by installing tumbler by default -- this adds “Depends: tumbler” to whonix-workstation-packages-recommended-gui. [590] [591] [592]

Builds[edit]

kicksecure-meta-packages:

  • Removed os-prober from non-qubes-vm-enhancements-cli since it is only useful for multi-boot which is rarely done inside VMs because it can cause build issues. [593]
  • Split repository-dist GUI / CLI dependencies. [594] [595]
  • Removed SecBrowser code since it is deprecated. [596]

repository-dist:

  • Reduced dependencies for CLI version; split dependencies into repository-dist (CLI) and repository-dist-wizard (GUI). [597] [598]

Whonix Build Script:

  • Ported onion support from onion v2 to onion v3.
  • Mac M1 / arm64 architecture support development. [599]

Other changes:

Contentious Changes[edit]

  • Tor Browser Updater (by Whonix developers): reduced old versions being kept to 0 in /var/cache/tb-binary.

Developer Notes[edit]

anon-base-files:

  • Do not create a home folder during postinst.
  • Leave user user creation to Qubes.
  • Fixed and actually use --no-create-home.

repository-dist:

  • The same GPG signing key is now used with new e-mail addresses. [605]

sdwdate:

  • Split Anon Meta Packages into Anon Meta Packages (Whonix) and Kicksecure Meta Packages.
  • Renamed whonix-repository to repository-dist.
  • Renamed setup-dist to setup-dist.
  • Renamed whonix-setup-wizard to setup-wizard-dist.
  • Renamed whonixcheck to systemcheck.
  • Ported to onion v3. [606] [607]
    • Removed all v2 onion sources.
    • Ported to onion v3 onion sources.
  • Restored MAX_FAILURE_RATIO=0.34 since enough v3 onions are available. [608] [609] [610]
  • Added /usr/share/sdwdate/onion_test_confirm; this is a script to check if onions correspond to archived link. [611]
  • Moved comment field rules to Sdwdate: Comment Field Rules. [612]
  • Change the onion source comment format, the archived link now appears first. [613]
  • Implemented a more human-readable format. [614]
  • Config test changes. [615]
  • Implemented arm64 architecture support fixes. [616]
  • Fixed onion_tester. [617]
  • Split arch-specific syscalls from the base whitelist. [618]
  • Added one more SystemCallFilter syscall for arm64. [619]
  • Added extra SystemCallFilter syscalls required for restarting sdwdate on arm64. [620]
  • Fixed systemd sandboxing for the arm64 platform. [621]
  • Fixed systemd sandboxing for the powerpc64 / ppc64el platform. [622] [623]

developer-meta-files:

  • prepare_release: added libvirt raw image support and multiple platform support. [624]

Other changes:

  • Added anon-base-files to whonix-host-xfce-kvm-freedom.
  • Added hardened-malloc to hardened-packages-dependencies-cli.
  • Removed unneeded dependency live-config-systemd.
  • No longer depend on logrotate.
  • Whonix Development News
  • Significant progress regarding Whonix-Host development.
  • Whonix is slowing migrating from GitHub to GitLab. [625] [626]

Documentation[edit]

Multiple, new wiki chapters:

Multiple wiki improvements/enhancements:

Improved Functionality and Usability[edit]

anon-apt-sources-list:

anon-connection-wizard:

  • Updated the default bridges in anon-connection-wizard from The Tor Project [637] and removed ‘-max 3’ from the snowflake command.
  • Removed the deprecated obfs3 bridges option from Anon Connection Wizard.

anon-consensus-delete:

anon-log:

  • Created the new anon-log command line utility.
  • anon-log simplifies the manual dump Tor log command by only showing relevant log entries and no non-issues.

anon-verify:

  • Report extraneous Tor configuration files (files that do not end with file extension .conf).
  • Ignore file names starting with dot (.) [639]
  • Ignore subfolders when using %include /path/to/folder [640]
  • Fix checking of all files in torrc.d folders for issues.

binaries-freedom:

  • Upgraded the Bitcoin Electrum wallet to version 4.1.2. [641]
  • Added ThomasV signing key. [642]
  • Added SomberNight signing key. [643]
  • Updated to version 4.1.4. [644]

helper-scripts:

  • Added apt-key-install. [645] This is a utility to install APT signing key to the system Input file. It can support GPG keys in either ASCII-armored or binary format. [646]

genmkfile:

  • Changed the output of genmkfile deb-chl-bumpup-manual. [647]

gvfs:

  • Installed gvfs by default: [648] [649] [650] [651] [652]
  • Fixed access to LUKS encrypted USB drive with Thunar.
  • Added gvfs to kicksecure-desktop-applications-xfce.

helper-scripts:

  • Added the initramfs-debug-enable debugging tool which enables xtrace (set -x). [653]
  • Removed unnecessary cat calls. [654] [655]
  • Disabled running anondate-get as diagnostic utility since it cannot currently be run due to no new privs apparmor issues with the sdwdate apparmor profile. [656] [657]

Monero:

  • Installed Monero GUI by default in Whonix-Workstation.
  • Upgraded the monero-gui package to version 0.17.2.1. [658]

onion-grater:

  • Added new command line tools onion-grater-add / onion-grater-remove which will allow to simplify instructions that require onion-grater configuration changes.
  • Removed Whonix specificity from onion-grater. [659]
  • Simplifed and updated 40_bitcoind.yml so it works with bitcoind v0.21 [660] [661]
  • Added Wahay profile. [662]
  • Added changes for arm64. [663]

Onion services authentication: [664]

sdwdate-gui:

  • Ported from tor-control-status tor_status to anon-connection-wizard and fixed minor confusing log output. [665] [666]
  • Disabled systemxcheck “Connecting to Tor…” and “Connected to Tor.” messages in favor of sdwdate-gui. [667]

security-misc:

  • Implemented systemd RemainAfterExit=yes for better usability. [668] [669]
  • pam abort when attempting to login to root when the root password is locked.

systemcheck:

  • Depends: replaced bsdtar with libarchive-tools. [670] [671]
  • Improved the text. [672] [673]
  • Added a check for deprecated derivative (Whonix or Kicksecure) versions. [674] [675]
  • Ensured Kicksecure compatibility.
  • Fix telling if Tor is disabled. [676]
  • Added a Package Manager Consistency Check. [677] [678]
  • Reorderd tests. [679]
  • Fixed the AppArmor profile for ppc64le. [680]

tor-control-panel:

  • Removed obfs2 and obfs3. [681]
  • Utilize the same default bridges as anon-connection-wizard. [682]

Tor:

  • Upgraded Tor to version 0.4.2.6-1, 0.4.3.5, 0.4.5.7 and then again to version 0.4.5.9 in a later release. [683] [684] [685]

tb-updater:

  • Upgraded Tor Browser to version 10 and later releases in this series.
  • Set alpha tbb_hardcoded_version=“10.5a16”. [686]
  • Set tbb_hardcoded_version=“10.0.18”. [687]
  • Utilize the Heikki Lindholm GPG signing key for digital signature verification of arm64 builds from sourceforge.net created by Heikki Lindholm. [688] [689]
  • Added the Heikki Lindholm GPG signing key for arm64 builds. [690] [691]
  • Created an arm64 port. [692]
  • Added arm64 platform support. [693] [694] [695]
  • Updated the signing key. [696] [697]
  • Fixed DispVM mounting. [698] [699]
  • Updated to Tor Project onion v3 for --onion. [700]
  • Depends: replaced bsdtar with libarchive-tools [701] [702]

Tor Browser Downloader configuration options:

  • Added --onion to optionally download over onions.
  • Added --alpha to optionally download alpha rather than stable versions.

usability-misc:

uwt:

  • Now guess and tell the user which package needs installing. [705] [706]
  • Improved output. [707] [708]

VirtualBox:

whonix-libvirt:

Other changes:

  • Added support for OnionShare “bundled Tor”.
  • Packaged str_replace for literal search and replace functions.
  • Display the pulseaudio plugin by default.
  • Added arc-theme, gnome-themes-extra, gnome-themes-extra-data and gtk2-engines-murrine for better visual presentation and a more modern look.
  • Set SUDO_EDITOR="mousepad" if: mousepad is installed and the environment variable SUDO_EDITOR has not already been set.
  • Full /etc/torrc.d/*.conf configuration snippet drop-in folder support. [714]
  • The Whonix build script now optionally supports installing packages from the Whonix remote repository, rather than building packages locally. [715]
  • Simplified the default sudo lecture (presenting text upon first run) so it only shows the default password for Whonix. [716] [717] [718]
  • Work towards Whonix Host operating system.
  • Renamed package non-qubes-vm-audio to non-qubes-audio.
  • corridor -- Tor traffic whitelisting gateway and leak tester -- merged upstream changes and improved Debian host support. [719] [720]
  • Added usability and output enhancements to grub-live, and improved the live mode indicator systray. [721] [722] [723]
  • Added packaging and other improvements to Hardened Malloc [724]
  • Added a sudo askpass wrapper for automated testing. [725] [726]
  • Added packaging and other enhancements for kloak. [727]
  • Refactored Qubes-Whonix network proxy setup. [728]
  • Created debug-misc: opt-in package which enables miscellaneous debug settings for easier debugging. [729]
  • Added links to search engines to the Whonix landing page in Tor Browser.
  • Split most of /usr/share/tor/tor-service-defaults-torrc into /etc/torrc.d drop-in configuration snippets.
  • Hide verbose output messages during boot to improve startup speed (logs are still available in the journal).
  • Changed the desktop background images to better distinguish Whonix-Gateway from Whonix-Workstation and vice versa.
  • Upgraded packages by packages.debian.org
  • Set hostname to localhost for VM builds. [730]
  • Disable DNSCrypt by default for now due to issues. [731]
  • The Debian stable-updates repository is now enabled by default. [732]
  • Merged python-guimessages into helper-scripts.
  • Set ClientOnionAuthDir in /var/lib/tor/authdir.
  • Permit Tor Browser to show improved error pages for onion service errors.
  • Whonix-Workstation Firewall: added a configuration option firewall_allow_udp=true to allow outgoing UDP.
  • anon-apps-config: Skip setting timezone to UTC if file /etc/noutc or /usr/local/etc/noutc exists.
  • whonixcheck now warns if dmesg contains “Bad RAM detected”.
  • Added a DVD drive by default for Whonix-Custom-Workstation. [733] [734]
  • Created a constrained system resources program starter wrapper which is useful to run applications with limited system resources.
  • Implemented an apt-get-reset command for improved usability. [735]
  • whonix-welcome-page: added a link to https://web.archive.org/https://t.me/s/Whonix_
  • Added gpg-dearmor. [736] This is a wrapper to convert to GPG ASCII-armored format binary format. [737].

Kernel and Related Hardening[edit]

Significant kernel and other security hardening has been implemented; numerous enhancements have been made to security-misc: [738]

  • Enabled kernel panic on kernel oops after boot, see: set oops=panic kernel parameter or kernel.panic_on_oops=1 sysctl for better security.
  • Enabled pam_umask.so usergroups, so group permissions are the same as user permissions. [739]
  • Removed read, write and execute access for others for all users who have home folders under folder /home. [740] [741]
  • Group sudo membership is required to use su.
  • Passwordless, recovery / emergency mode has been implemented.
  • Lock user accounts with pam_tally2 after five failed authentication attempts are detected. [742]
  • Fix pam_tally2 check when read-only disk boots without ro-mode-init or grub-live.
  • The thunderbolt and firewire modules were blacklisted, since they can be used for Direct Memory Access (DMA) attacks.
  • Every module must now be signed before being loaded; any module that is unsigned or signed with an invalid key cannot be loaded. [743]
  • Uncommon network protocols were blacklisted: these are rarely used and may have unknown vulnerabilities. [744]
  • Enabled IOMMU.
  • The SysRq key is restricted to only allow shutdowns/reboots.
  • Restrict the SysRq key so it can only be used for shutdowns and the Secure Attention Key.
  • A systemd service mounts /proc with hidepid=2 at boot, thereby preventing users from seeing each other’s processes.
  • A systemd service clears System.map on boot as these contain kernel symbols that could be useful to an attacker. [745]
  • Remove System.map after a kernel upgrade.
  • remove-system-map: use shred instead of rm.
  • The kernel logs are restricted to root only.
  • The BPF JIT compiler is restricted to the root user and is hardened.
  • The ptrace system call is restricted to the root user only.
  • Added user root to group sudo. This is necessary so it is still possible to login as a user in a virtual console. [746]
  • Kernel symbols in /proc/kallsyms are hidden. This prevents malware from reading and using them to learn more about system vulnerabilities that can be attacked.
  • Kexec is disabled because it can be used for live patching of the running kernel.
  • Bluetooth is blacklisted to reduce the attack surface.
  • Added experimental SUID Disabling and Permission Hardening: [747] [748]
    • A systemd service removes SUID / GUID from non-essential binaries as these are often used in privilege escalation attacks. [749]
  • Enables mitigations for the L1TF (L1 Terminal Fault) vulnerability. [750]
  • Unconditionally enable all kernel patches for CPU bugs (spectre, meltdown, L1TF and so on) -- this might reduce performance: [751] [752]
    • spectre_v2=on
    • spec_store_bypass_disable=on
    • tsx=off
    • tsx_async_abort=full,nosmt
  • The MSR kernel module is blacklisted to prevent CPU MSRs from being abused to write to arbitrary memory.
  • Vsyscalls are disabled as they are obsolete, are at fixed addresses and are a target for ROP.
  • Page allocator freelist randomization is enabled.
  • The vivid kernel module is blacklisted as it is only required for testing and has been the cause of multiple vulnerabilities.
  • An initramfs hook sets the sysctl values in /etc/sysctl.conf and /etc/sysctl.d before init is executed so sysctl hardening is enabled as early as possible.
  • The kernel panics on oopses to prevent it from continuing to run a flawed process and to deter brute forcing.
  • Improve entropy collection: [753] [754]
    • Load jitterentropy_rng kernel module.
    • Distrust the CPU for initial entropy at boot as it is not possible to audit, may contain weaknesses or a backdoor.
    • Disable trusting RDRAND.
    • random.trust_cpu=off
  • Experimental: remount /home, /tmp, /dev/shm and /run with nosuid,nodev (default) and noexec (opt-in). To disable this, see footnote. [755] [756] [757]
  • Fix xfce4-power-manager xfpm-power-backlight-helper pkexec lxsudo popup.
  • Do show lxqt-sudo password prompt if there is a sudoers exception.
  • Improved pkexec wrapper logging.
  • Installation fix in the case when user user does not exist.
  • Better output if trying to login with a non-existing user.
  • Add user user to group console in Whonix and Kicksecure.
  • Lock user accounts after 50 rather than 100 failed login attempts.
  • Disable the busmaster bit on all PCI bridges during very early boot to avoid holes in IOMMU. [758] [759] [760]
  • Only allow symlinks to be followed when outside of a world-writable sticky directory, or when the owner of the symlink and follower match, or when the directory owner matches the symlink’s owner. Prevent hardlinks from being created by users that do not have read/write access to the source file. These prevent many TOCTOU races:
    • fs.protected_symlinks=1
    • fs.protected_hardlinks=1
  • Restrict loading TTY line disciplines to CAP_SYS_MODULE to prevent unprivileged attackers from loading vulnerable line disciplines with the TIOCSETD ioctl which has been used in exploits before. [761] [762] [763]
  • For a full list of changes, see: https://github.com/Kicksecure/security-misc

hardened-kernel:

  • Enabled CONFIG_KPROBES. [764]
  • Reverted “Optionally enable kprobes/ftrace for LKRG support” [765]

KVM[edit]

  • Command line control of KVM VMs is now supported. [766]
  • The microphone is disabled by default.
  • Switched RNG to /dev/urandom.
  • pvspinlock is enabled.
  • Fixed Whonix-Gateway firewall desktop shortcuts.
  • No longer install pulseaudio by default on Whonix-Gateway.
  • Various apparmor fixes.
  • Created new apparmor profiles for bootclockrandomization, permission lockdown, and pam tally2 information.
  • Ensured future compatibility for apparmor-profile-everything.
  • Improved the output of remove system.map.
  • Fixed the KVM prepare_release script.
  • Fixed the GPU tag in libvirt XML.
  • Updated Tor Browser to version 9.0.1, then later versions (9.5).
  • Fixed Kicksecure KVM’s broken networking.
  • Moved to gitlab.com. [767]
  • Other platforms build fix.
  • monero-gui can be uninstalled.
  • Fixed /etc/resolv.conf.
  • Enabled export QMLSCENE_DEVICE=softwarecontext for KVM.
  • Upgraded to the 2020 Whonix Logo version.
  • Upgraded monero-gui.

Security Enhancements[edit]

anon-shared-build-apt-sources-tpo:

  • Updated deb.torproject.org comments to onion v3 [768] [769]

Much stronger Linux user account isolation has been enforced in Non-Qubes-Whonix: [770]

Added vanguards to protect against guard discovery and related traffic analysis attacks: [777] [778] [779]

  • The daemon in Tor through 0.4.1.8 and 0.4.2.x through 0.4.2.6 does not verify that a rendezvous node is known before attempting to connect to it, which might make it easier for remote attackers to discover circuit information -- vanguards fixes this.
  • Use vanguards from packages.debian.org
  • Ensured vanguards do not start in a Template in Qubes-Whonix.

Eased installation of Linux Kernel Runtime Guard (LKRG) for users of Non-Qubes-Whonix, Kicksecure and Debian hosts -- sudo apt install lkrg: [780] [781]

  • Improves overall system security and is compatible with tirdad.
  • Hardens kernel security by killing whole classes of exploits, detecting exploits and performing Linux kernel runtime integrity checking.
  • Worked with LKRG upstream to fix LKRG VirtualBox host support.
  • Packaging enhancements were incorporated, so any standard Debian build tool can be used. [782]
  • Disabled the “System is clean!” message to avoid spamming dmesg and tty1.
  • Fixed compilation using DKMS on kernel upgrade by adding support for make variable KERNELRELEASE (DKMS sets it).
  • Auto-load LKRG after installation. [783]
  • Upgraded LKRG to the latest upstream version (version 0.8.1; although not yet installed by default).

sandbox-app-launcher:

  • Wait (blocking) for processes inside the sandbox to be killed. [784]
  • Replaced dynamic wrapper script creation with static script for code simplification. [785] [786]
  • Fixed wrapper script creation and access rights. [787]
  • Improved the command to create a wrapper script for more self-explanatory bash xtrace. [788]
  • Unduplicated/removed permission check code in function run_program because it is already performed in function setup_or_check which runs anyhow. [789]
  • Minor usability improvements: [790]
    • Downgraded messages if removal previously completed to INFO:. [791]
    • Show INFO: after setup was successfully completed.
    • ShowINFO: after remove was successfully completed.
  • Run all checks before start. [792] [793]
  • Indentation. [794]
  • Use sal_is_run_with_root instead of extra id calls. [795]
  • Reordering. [796]
  • Implemented more robust checks. [797]
  • Removed if statement when copying wrapper-script-wx. [798]
  • Check for wrapper-script-wx. [799]
  • Fixed AppArmor. [800]
  • Added an option to list all currently configured sandboxes. [801]
  • Pass app_user to bwrap-wrapper. [802]
  • Pass variables to bwrap-wrapper. [803]
  • Implemented proper whitespace handling. [804]
  • Added proper quoting for multiple parameter support. [805]
  • Added usr/share/sandbox-app-launcher/bwrap-wrapper. [806]
  • Created an initial unfinished bwrap-wrapper implementation. [807] [808]

sdwdate:

  • Improved sandboxing.
  • Code refactoring.
  • Updated onion time sources.
  • Increased the timeout to 120 seconds to deal with potentially slow onions.
  • Implemented Time Replay Protection. [809]

security-misc:

  • pam-abort-on-locked-password: implemented more descriptive error handling. [810] [811]
  • Restricted sudo’s file permissions. [812]
  • config-package-dev: displaced /etc/dkms/framework.conf [813] [814]
  • Modified DKMS configuration file /etc/dkms/framework.conf: lower parallel compilation jobs to 1 if there is less than 2 GB RAM to avoid virtual machine freezing (parallel_jobs=1). [815] [816] [817] [818]
  • Added /etc/dkms/framework.conf.security-misc original. [819] [820] [821]

Other security enhancements:

  • Advanced users can utilize Signify to verify Whonix digital signatures.
  • Updated various security-critical software including APT, electrum, Monero, Tor Browser, Tor Browser Downloader by Whonix Developers and Hardened Malloc.
  • Implemented TCP ISN CPU Information Leak Protection to prevent de-anonymization of Tor onion services and installed Tirdad kernel module for random ISN generation by default. [822] [823] [824] [825] [826] [827]
  • Fixed compilation using DKMS on kernel upgrade by adding support for make variable KERNELRELEASE (DKMS sets it).
  • Console lockdown: allow members of group console to use console. Everyone else except members of group console-unrestricted are restricted from using console using ancient, unpopular login methods such as using /bin/login over networks, which might be exploitable. [828]
  • Protect Linux user accounts against brute force attacks -- lock user accounts after 50 failed login attempts using pam_tally2.
  • No longer install firejail by default because of fingerprinting reasons.
  • Prevent verbose output during boot to prevent kernel information leaks.
  • Extensive security hardening and updated packages.
  • Improved Thunderbird protocol level leak prevention by enforcing functionality previously provided by TorBirdy. [829] [830]
  • Improved systemd sandboxing for onion-grater. [831]
  • Implemented the OpenSSL security fix for Debian and Tor Browser (OpenSSL 1.1.1d) (CVE-2021-3449).
  • Added a minimum-time-check feature for better security. [832]
  • Created and implemented hardened-malloc-type-test. [833] [834]

VirtualBox[edit]

  • As at April 2021, the recommended VirtualBox version is 6.1.20.
    • Implemented a Whonix compatibility fix for VirtualBox version 6.1.20. [835] [836]
    • Switched to SATA AHCI virtual storage controller hardware. [837] [838]
  • Upgraded VirtualBox guest additions to version 6.1.14.
  • vm-config-dist: run vbox-guest-installer when package virtualbox-guest-additions-iso is updated.
  • VirtualBox 6.1.12 upgrade: [839]
  • Reverted to vmsvga grapics controller settings due to issues.
  • Increased Whonix-Gateway default RAM to 1280 MB. Otherwise, VirtualBox guest additions kernel modules fail to compile.
  • Current VirtualBox screen resolution situation:
    • Functional VirtualBox VM Window → View → Virtual Screen 1 → resize to resolution
    • Functional VirtualBox VM Window → View → Adjust Window Size
    • A workaround to improve this situation is still required.
    • Added xserver-xorg-video-vmware to kicksecure-desktop-environment-essential-gui because it is required by VirtualBox Graphics Controller VMSVGA for auto resize and resize through VirtualBox settings menu.
    • Again set the VirtualBox Graphics Controller to VMSVGA (equivalent to “VirtualBox → click a VM → Settings → Display → Graphics Controller → VMSVGA → OK”). [841] [842]
    • Increased Whonix VirtualBox Whonix-Gateway video RAM to 128 MB since the previous assignment of only 16 MB RAM can cause resize issues.
    • Updated VirtualBox and VirtualBox guest addition to 6.1.4. The VirtualBox guest addition has been further upgraded to 6.1.6 in a later Whonix release.
  • Added a workaround for the bug causing the VirtualBox screen resolution to be too small; the screen resolution is now 1920x1080 by default for all VMs.
  • Configured three (instead of four) virtual CPU cores by default as this can improve stability. [843]
  • Enabled the Debian stable-updates repository by default. [844]
  • Consolidated Whonix packages. [845]
  • Installed fewer unneeded packages such as rsyslog (see footnote). [846]
  • Unbreak VirtualBox clearnet DNS settings when not using DNSCrypt.

Website Improvements[edit]

  • Wiki editing over onion.
  • Using Whonix forums over onion.
  • Mostly fixed onion forum site redirects to clearnet. [847]
  • Implemented the Onion-Location header, which shows the “onion available” message to any Tor Browser user visiting the clearnet version of whonix.org.
  • Fixed a false Mediawiki message that identified Whonix forum logins as insecure over onion (thereby offering a https connection to the onion URL). [848] [849]
  • Implemented Expect-CT security header for whonix.org. [850]
  • Fixed URL with no onion mirror. [851]
  • Reviewed hardenize.com results (no clean HSTS-Preload / DNSSEC). [852]
  • Researched DANE TLSA (DNS-based Authentication of Named Entities) for whonix.org. [853]
  • Whonix software signature verification documentation discussion: VirtualBox vs KVM - GPG / signify / codecrypt. [854]
  • Checked broken discourse email replies. [855]
  • Investigated uploaded images not presenting after creating a topic. [856]
  • Documented Testing the Whonix server with test websites such as hardenize.com / securityheaders.com / Mozilla Observatory / SSL Labs / hstspreload.org.
  • Improved documentation chapter Trusting the Whonix Website.
  • Considered drop-www vs yes-www.
  • Considered Hide Server IP.
  • Set up a dedicated server for Kicksecure, with dedicated domain kicksecure.com, homepage, wiki and soon forums. [857]

See Also[edit]

Footnotes[edit]

  1. https://forums.whonix.org/t/whonix-13-released/2505
  2. https://phabricator.whonix.org/maniphest/query/TfpGK0Sq8w1j/#R
  3. A handful of issues were fixed in both Whonix 13 and Whonix 14 and backported to both versions.
  4. https://phabricator.whonix.org/T672
  5. https://phabricator.whonix.org/T314
  6. https://phabricator.whonix.org/T201
  7. https://phabricator.whonix.org/T499
  8. https://phabricator.whonix.org/T666
  9. https://phabricator.whonix.org/T465
  10. The same firewall rules are still applied.
  11. https://phabricator.whonix.org/T286
  12. https://phabricator.whonix.org/T482
  13. https://phabricator.whonix.org/T480
  14. https://phabricator.whonix.org/T451
  15. For instance, tor-arm, restart Tor and other terminal programs.
  16. https://phabricator.whonix.org/T435
  17. This does not enable transparent proxying by default, but is required in Qubes so tinyproxy traffic can be redirected to 127.0.01 instead of to qubes-netvm-gateway.
  18. https://phabricator.whonix.org/T419
  19. https://phabricator.whonix.org/T300
  20. https://phabricator.whonix.org/T200
  21. https://phabricator.whonix.org/T159
  22. https://phabricator.whonix.org/T40
  23. https://phabricator.whonix.org/T158
  24. https://phabricator.whonix.org/T418
  25. https://phabricator.whonix.org/T472
  26. https://phabricator.whonix.org/T764
  27. https://phabricator.whonix.org/T497
  28. https://phabricator.whonix.org/T266
  29. https://phabricator.whonix.org/T528
  30. This fixes various bugs relating to Tor starting / failing multiple times and qubes-whonix-torified-updates-proxy sometimes failing.
  31. https://phabricator.whonix.org/T724
  32. https://phabricator.whonix.org/T723
  33. Qubes R4 RC1.
  34. https://phabricator.whonix.org/T384
  35. https://phabricator.whonix.org/T671
  36. https://phabricator.whonix.org/T496
  37. https://phabricator.whonix.org/T454
  38. https://phabricator.whonix.org/T452
  39. https://phabricator.whonix.org/T527
  40. https://phabricator.whonix.org/T710
  41. https://phabricator.whonix.org/T498
  42. https://phabricator.whonix.org/T416
  43. https://phabricator.whonix.org/T507
  44. https://phabricator.whonix.org/T433
  45. The qubes-update-check.service already has improved upgrade notifications.
  46. https://phabricator.whonix.org/T429
  47. For instance, plasma-widget-folderview, kde-kdm-autologin, split the anon-shared-desktop-kde package and so on.
  48. https://phabricator.whonix.org/T428
  49. https://phabricator.whonix.org/T491
  50. https://phabricator.whonix.org/T477
  51. https://phabricator.whonix.org/T461
  52. https://phabricator.whonix.org/T414
  53. https://phabricator.whonix.org/T501
  54. https://phabricator.whonix.org/T421
  55. https://phabricator.whonix.org/T417
  56. https://phabricator.whonix.org/T406
  57. https://phabricator.whonix.org/T502
  58. https://www.debian.org/releases/stretch/
  59. https://www.debian.org/News/2017/20170617
  60. https://www.debian.org/releases/stable/amd64/release-notes/
  61. https://www.debian.org/releases/stable/i386/release-notes/
  62. https://forums.whonix.org/t/apparmor-and-kernel-4-14-18-1-creates-tons-of-kern-log-pop-ups/4811
  63. https://phabricator.whonix.org/T676
  64. https://phabricator.whonix.org/T672
  65. https://phabricator.whonix.org/T587
  66. https://phabricator.whonix.org/T568
  67. https://phabricator.whonix.org/T532
  68. https://phabricator.whonix.org/T557
  69. The Whonix documentation recommends that advanced users install apparmor-notify to investigate relevant warnings.
  70. https://phabricator.whonix.org/T640
  71. https://phabricator.whonix.org/T626
  72. https://phabricator.whonix.org/T592
  73. https://phabricator.whonix.org/T787
  74. https://phabricator.whonix.org/T797
  75. https://phabricator.whonix.org/T462
  76. https://phabricator.whonix.org/T490
  77. https://phabricator.whonix.org/T675
  78. https://phabricator.whonix.org/T700
  79. https://phabricator.whonix.org/T760
  80. https://phabricator.whonix.org/T761
  81. https://phabricator.whonix.org/T643
  82. https://phabricator.whonix.org/T666
  83. https://phabricator.whonix.org/T688
  84. https://phabricator.whonix.org/T686
  85. https://phabricator.whonix.org/T650
  86. https://phabricator.whonix.org/T768
  87. https://phabricator.whonix.org/T648
  88. https://phabricator.whonix.org/T632
  89. https://phabricator.whonix.org/T628
  90. https://phabricator.whonix.org/T627
  91. https://phabricator.whonix.org/T608
  92. https://phabricator.whonix.org/T603
  93. https://phabricator.whonix.org/T601
  94. gtk3-engines-oxygen.
  95. https://phabricator.whonix.org/T578
  96. https://phabricator.whonix.org/T548
  97. https://phabricator.whonix.org/T623
  98. This also reduces the RAM load caused by too many socat instances.
  99. https://phabricator.whonix.org/T689
  100. This measure takes place over Tor using a v3 onion. It does not include collection of IP addresses or unique identifiers of any kind, and can be easily disabled.
  101. https://phabricator.whonix.org/T551
  102. https://phabricator.whonix.org/T535
  103. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=833474
  104. https://phabricator.whonix.org/T537
  105. https://phabricator.whonix.org/T192
  106. https://phabricator.whonix.org/T488
  107. https://phabricator.whonix.org/T639
  108. https://phabricator.whonix.org/T762
  109. https://phabricator.whonix.org/T637
  110. https://phabricator.whonix.org/T589
  111. https://phabricator.whonix.org/T563
  112. https://phabricator.whonix.org/T796
  113. https://phabricator.whonix.org/T691
  114. https://github.com/systemd/systemd/issues/5207
  115. https://phabricator.whonix.org/T686
  116. https://phabricator.whonix.org/T50
  117. https://phabricator.whonix.org/T699
  118. https://forums.whonix.org/t/censorship-circumvention-tor-pluggable-transports/2601
  119. https://phabricator.whonix.org/T716
  120. OnionShare is not installed by default in Whonix 14 because it is not in the stretch repository, however it may be manually installed using the available wiki instructions.
  121. https://phabricator.whonix.org/T657
  122. onion-grater:

    Filters out Tor control protocol commands that are dangerous for anonymity such as GETINFO ADDRESS using a whitelist. Acts as a proxy between the client application and Tor.

    For example it allows using Tor Browser's New Identity feature on Anonymity Distribution Workstations, fixes Tor Browser's about:tor default homepage and Tor Button status indicator without exposing commands that are dangerous for anonymity.

  123. https://phabricator.whonix.org/T701
  124. https://forums.whonix.org/t/onioncircuits-viewing-the-status-and-circuits-of-tor/2539
  125. https://phabricator.whonix.org/T579
  126. https://phabricator.whonix.org/T576
  127. https://phabricator.whonix.org/T574
  128. https://phabricator.whonix.org/T573
  129. https://phabricator.whonix.org/T510
  130. https://phabricator.whonix.org/T503
  131. https://phabricator.whonix.org/T357
  132. https://phabricator.whonix.org/T274
  133. https://phabricator.whonix.org/T561
  134. https://phabricator.whonix.org/T481
  135. https://phabricator.whonix.org/T73
  136. This is no longer recommended, since the The Tor Project has ceased development and stopped building and distributing sandboxed-tor-browser binaries.
  137. https://phabricator.whonix.org/T583
  138. By default, kloak is packaged in Whonix 15 for the Non-Qubes-Whonix platform. Unfortunately Qubes-Whonix is unsupported (dysfunctional) due to the following Qubes issues:
  139. https://phabricator.whonix.org/T647
  140. https://phabricator.whonix.org/T617
  141. https://phabricator.whonix.org/T612
  142. https://phabricator.whonix.org/T599
  143. https://phabricator.whonix.org/T764
  144. Previously both clearnet and onion sources were in use and priority was given to the latter, with v3 onion connections being preferred (clearnet provided a fallback). Onions will not be set by default until OnionBalance is available for v3 onions, and the repositories can be reached reliably.
  145. https://phabricator.whonix.org/T590
  146. https://phabricator.whonix.org/T500
  147. https://phabricator.whonix.org/T356
  148. https://phabricator.whonix.org/T610
  149. https://phabricator.whonix.org/T471
  150. https://phabricator.whonix.org/T475
  151. https://phabricator.whonix.org/T559
  152. https://phabricator.whonix.org/T736
  153. The default Whonix PDF reader.
  154. https://www.locklizard.com/track-pdf-monitoring/
  155. https://phabricator.whonix.org/T776
  156. Until it is determined how to enable kde-folderview in Debian stretch.
  157. https://phabricator.whonix.org/T680
  158. https://phabricator.whonix.org/T638
  159. https://phabricator.whonix.org/T598
  160. https://github.com/Whonix/shared-folder-help/commit/2130d872d4e346bc490e70fca79e572d1d1f86df
  161. https://phabricator.whonix.org/T790
  162. https://forums.whonix.org/t/reducing-size-of-ova-images
  163. VirtualBox .ova and libvirt qcow2 raw images.
  164. The Whonix-Gateway is reduced from 1.7 GB to 850 MB, while the Whonix-Workstation is reduced from 2 GB to 1.1 GB.
  165. https://phabricator.whonix.org/T722
  166. https://phabricator.whonix.org/T714
  167. grub-live is not installed by default in Whonix 14 and is an optional package only.
  168. https://phabricator.whonix.org/T703
  169. https://phabricator.whonix.org/T702
  170. https://github.com/Whonix/anon-meta-packages/commit/a22b1807c79cb1d21447c83ed251c331cf6222f1
  171. https://phabricator.whonix.org/T408
  172. https://phabricator.whonix.org/T724
  173. https://phabricator.whonix.org/T723
  174. Qubes R4 RC1.
  175. https://phabricator.whonix.org/T651
  176. https://phabricator.whonix.org/T767
  177. https://phabricator.whonix.org/T671
  178. https://phabricator.whonix.org/T620
  179. https://phabricator.whonix.org/T607
  180. https://phabricator.whonix.org/T505
  181. https://phabricator.whonix.org/T781
  182. https://github.com/Kicksecure/tb-updater/issues/2
  183. https://phabricator.whonix.org/T789
  184. https://github.com/QubesOS/qubes-issues/issues/4033
  185. https://github.com/QubesOS/qubes-issues/issues/4093
  186. https://github.com/QubesOS/qubes-issues/issues/3469
  187. https://github.com/QubesOS/qubes-issues/issues/4098
  188. A persistent configuration now applies upon reboot.
  189. https://github.com/QubesOS/qubes-issues/issues/4095
  190. https://github.com/QubesOS/qubes-issues/issues/3595
  191. https://phabricator.whonix.org/T791
  192. The anon-vm tag enforces selected settings from Templates to TemplateBasedVMs which are necessary for anonymity.
  193. https://phabricator.whonix.org/T792
  194. https://github.com/QubesOS/qubes-issues/issues/4113
  195. https://github.com/QubesOS/qubes-issues/issues/4055
  196. The bug caused a version downgrade to APT 1.0.9.8.4
  197. https://github.com/QubesOS/qubes-issues/issues/3882
  198. https://github.com/QubesOS/qubes-issues/issues/3740
  199. https://github.com/QubesOS/qubes-issues/issues/2334
  200. https://github.com/QubesOS/qubes-issues/issues/1156
  201. https://phabricator.whonix.org/T527
  202. https://github.com/QubesOS/qubes-issues/issues/3766
  203. https://github.com/QubesOS/qubes-issues/issues/4063
  204. https://github.com/QubesOS/qubes-issues/issues/4086
  205. https://github.com/QubesOS/qubes-issues/issues/4130
  206. https://phabricator.whonix.org/T619
  207. https://phabricator.whonix.org/T697
  208. https://phabricator.whonix.org/T641
  209. https://github.com/QubesOS/qubes-issues/issues/4080
  210. https://phabricator.whonix.org/T698
  211. https://phabricator.whonix.org/T463
  212. https://phabricator.whonix.org/T726
  213. https://forums.whonix.org/t/qubes-dispvm-technical-discussion/3232/58
  214. https://github.com/QubesOS/qubes-issues/issues/3765
  215. https://phabricator.whonix.org/T788
  216. https://github.com/QubesOS/qubes-issues/issues/4087
  217. https://phabricator.whonix.org/T810
  218. Whonix is licensed under GPLv3. The repository in question can be found here.
  219. https://github.com/QubesOS/qubes-issues/issues/4094
  220. https://phabricator.whonix.org/T521
  221. https://forums.whonix.org/t/splitting-whonix-documentation-into-a-short-and-long-edition-for-better-usability
  222. https://phabricator.whonix.org/T811
  223. For example this simplifies processes when installing additional software safely.
  224. https://www.whonix.org/wiki/Multiple_Qubes-Whonix_Templates
  225. https://phabricator.whonix.org/T580
  226. https://forums.whonix.org/t/document-recovery-procedure-after-compromise
  227. https://phabricator.whonix.org/T544
  228. This template simplifies instructions for Onion Services.
  229. https://phabricator.whonix.org/T567
  230. https://www.whonix.org/wiki/Multiple_Whonix-Workstation
  231. https://phabricator.whonix.org/T523
  232. Apache has a large attack surface and some features erode privacy and leak information about a server's configuration.
  233. https://www.whonix.org/wiki/Hidden_Services#Hidden_Webserver
  234. https://forums.whonix.org/t/website-fingerprinting-defenses-at-the-application-layer?
  235. https://phabricator.whonix.org/T545
  236. The template reminds Qubes users that newly installed packages must be installed in the Template to be persistent.
  237. The wrapper was integrated into tb-updater and tb-starter.
  238. https://forums.whonix.org/t/todo-research-and-document-how-to-use-tor-browser-for-security-not-anonymity-how-to-use-tbb-using-clearnet/3822
  239. https://phabricator.whonix.org/T877
  240. https://phabricator.whonix.org/T597
  241. https://www.whonix.org/wiki/ZeroNet
  242. Including:
  243. This greatly assists with documentation efforts, since documentation does not break and need updating based on a new point release being available.
  244. https://phabricator.whonix.org/T809
  245. https://phabricator.whonix.org/T870
  246. Whonix already has a Youtube channel, but Peertube provides a further avenue for information on new/fresh projects.
  247. https://phabricator.whonix.org/T847
  248. https://phabricator.whonix.org/T846
  249. https://phabricator.whonix.org/T836
  250. https://phabricator.whonix.org/T830
  251. https://phabricator.whonix.org/T839
  252. https://phabricator.whonix.org/project/board/144/
  253. https://phabricator.whonix.org/T840
  254. https://forums.whonix.org/t/why-does-the-tor-browser-apparmor-profile-have-sys-admin-sys-chroot-and-ptrace-capabilties/7409
  255. https://github.com/Kicksecure/apparmor-profile-torbrowser/pull/6
  256. The Tor Browser AppArmor profile has capability sys_admin, capability sys_chroot, and ptrace. This looks pretty insecure.

    ptrace will allow the Tor Browser to modify and inspect other running processes.

    sys_admin will allow the Tor Browser to do a whole load of things that it probably shouldn’t be able to.

    sys_chroot will allow the Tor Browser to chroot which can make an attacker able to put a setuid program inside a chroot jail with a fake /etc/passwd and /etc/shadow which can fool it into giving it root access.

  257. https://forums.whonix.org/t/tor-browser-8-wont-launch/5863
  258. https://github.com/Kicksecure/apparmor-profile-torbrowser/commit/5b1550cc51d73652d63af1fd010d9beb34e2069e
  259. https://forums.whonix.org/t/whonix-apparmor-profiles-development-discussion/108/682
  260. https://github.com/Kicksecure/systemcheck/commit/5873f4c3bb1665a6fb92224968805f561aca87e3
  261. https://github.com/Kicksecure/apparmor-profile-torbrowser/pull/3
  262. This allows the same apparmor profile to be used for i2p browser (~/.i2pb/i2p-browser) or for a hypothetical ZeroNet browser (~/.zerob/zeronet-browser/) and so on.
  263. https://github.com/Kicksecure/apparmor-profile-torbrowser/commit/21c36545df427bd8943a92279af78e53ea627056
  264. https://github.com/Kicksecure/apparmor-profile-hexchat/pull/2
  265. https://phabricator.whonix.org/T855
  266. whonixcheck runs as user whonixcheck, so a wrapper might be needed which is called using sudo (with a sudoers.d exception for this test).
  267. https://phabricator.whonix.org/T820
  268. https://forums.whonix.org/t/missing-pinentry-package-whonix-14/5630
  269. https://github.com/Whonix/whonix-firewall/commit/8d9767a72fdbaac863f8e372a10dfa6f2779ce6f
  270. https://github.com/Kicksecure/tb-starter/commit/7f3ac3b6d7beb659333f39b0506cd32fb07dc1bb
  271. https://github.com/Whonix/onion-grater/commit/70e735dae1c15920c356b07fc6aaf4b9589b465a
  272. https://github.com/Kicksecure/open-link-confirmation/commit/30810e6fa96b80a749505ea60e9dfb0d915edf14
  273. https://github.com/Kicksecure/usability-misc/commit/63c1ba7cae2914bd3bcfe5d7d2e5edf495a79c02
  274. https://forums.whonix.org/t/bug-not-all-files-form-etc-skel-are-copied-to-home-user/6778
  275. See: apt security update - DSA 4371-1
  276. https://forums.whonix.org/t/fixed-apt-rce-announced-new-whonix-images-needed-whonix-build-not-safe-at-the-moment/6715
  277. https://phabricator.whonix.org/T854
  278. https://phabricator.whonix.org/T400
  279. Such as --cpuid-portability-level or --cpuidremoveall in VirtualBox, since the attempts have proven futile or even posed security risks.
  280. https://phabricator.whonix.org/T408
  281. https://phabricator.whonix.org/T881
  282. https://github.com/Whonix/anon-meta-packages/commit/04851c3ef4a5fa4e4e25917860392273b80a3ebb
  283. https://github.com/Kicksecure/repository-dist/commit/24f6479ec1c7015aa50aa2caf1a6d66aec28f429
  284. https://github.com/Kicksecure/repository-dist/commit/e6de603931735647aa69ab97202a8eb01589a42b
  285. https://github.com/Kicksecure/systemcheck/commit/2dcc1257f728639772f66f055134ea6ed960012c
  286. https://github.com/Kicksecure/systemcheck/commit/7f9d648909e790a8d188dda5f83622367fd432c3
  287. https://github.com/Kicksecure/systemcheck/commit/5111b2765e7e2d0b8d24cdfb5e7c6996da7a1e25
  288. https://github.com/Kicksecure/sdwdate-gui/commit/964fcb62d1961b52f4b126cc427d429cf2475ef4
  289. https://github.com/troubadoour/sdwdate-gui/commit/0b7d851476ac5c9d352de537f0ddfea8f1095b34
  290. https://github.com/Kicksecure/sdwdate-gui/commit/63b9a0b1c7f979362ec114aebed5d62d2138f63f
  291. https://github.com/Kicksecure/helper-scripts/commit/a87cd4fa6cadc541262a90f810a585fa4c4bdc0b
  292. https://github.com/Whonix/anon-ws-disable-stacked-tor/commit/1f7bf8ff3af2548cb735ab9450c7395d9d4065cf
  293. So arbitrary packaging scripts can be avoided.
  294. https://github.com/Kicksecure/dist-base-files/commit/fe5433f52678597c4e26ca06ecfab4c3619e45de
  295. https://forums.whonix.org/t/thunderbird-no-longer-installed-by-default/6505
  296. Due to breakage that has been experienced; see here for details.
  297. https://github.com/Whonix/whonix-welcome-page/pull/5
  298. The landing page was otherwise stuck in the left corner and not centered.
  299. This is useful if trying to avoid unnecessary package installation; for example just installing sdwdate on Debian.
  300. https://github.com/Kicksecure/sdwdate-gui/commit/f9a269b352eeb2965a352c91e0a033576c01f0e1
  301. https://github.com/Kicksecure/helper-scripts/commit/bb3fab3b3de448ede51417f2b2b2e4760d9a467b
  302. https://forums.whonix.org/t/calling-1-package-from-whonix-repo-will-pull-all-the-packages/6182/7
  303. https://forums.whonix.org/t/whonix-langpacks-useful/5692
  304. https://github.com/Whonix/anon-meta-packages/commit/64db5cf89152d0114aaa331f8321fec061bea2c1
  305. https://phabricator.whonix.org/T888
  306. Poll: https://forums.whonix.org/t/user-poll-xfce-vs-kde-kde-deprecation-considered/6235
  307. https://groups.google.com/g/qubes-devel/c/pkvvm1WNznY
  308. https://phabricator.whonix.org/T771
  309. https://forums.whonix.org/t/onionshare-alternatives/4877/11
  310. This is because OnionShare is not in Debian stable. magic-wormhole is a great alternative to easily share data between two endpoints, although it requires a uwt wrapper to support stream isolation.
  311. https://github.com/Kicksecure/usability-misc/pull/7
  312. https://forums.whonix.org/t/use-sudoedit-in-whonix-documentation-and-whonix-software/7599
  313. https://github.com/Whonix/anon-gw-anonymizer-config/commit/252416d91a2158da3b07f1791416ecc8c261f18c
  314. One example implementation is to use iptables to force all traffic through those ports. This requires two flashproxy ports -- one for TCP traffic and one for DNS.
  315. https://github.com/Whonix/whonix-firewall/commit/5ffcbb5ad30b04a6c5ea57734a8907cdc08c9b9f
  316. https://github.com/Whonix/whonix-firewall/commit/6882aa9a449e0b6317f96f35d54ddcfcf56df858
  317. https://github.com/Whonix/whonix-firewall/commit/5cf35f4ffe9d2f7ff2d2f8200dd0f2ad82ea5f14
  318. https://forums.whonix.org/t/disable-onions-by-default-due-to-unreliability/6650
  319. https://github.com/Kicksecure/repository-dist/commit/f04391c5ad438732c5a9ae886b926530e277e9cd
  320. https://github.com/Kicksecure/anon-apt-sources-list/commit/8846e18a3bae24ed64fb5e9351f2ef614eaf1566
  321. This includes small, efficient GUI decompression tools like xarchiver, unxz, unrar and p7zip.
  322. https://forums.whonix.org/t/archive-decompression-tools/6533
  323. https://github.com/Whonix/anon-meta-packages/pull/19
  324. https://github.com/Whonix/anon-connection-wizard/pull/22
  325. https://forums.whonix.org/t/tor-controller-gui-tor-control-panel-testers-wanted/5444
  326. https://phabricator.whonix.org/T878
  327. Otherwise this redirects and discloses the traffic to onion addresses.
  328. https://phabricator.whonix.org/T821
  329. whonixcheck will now always run and check for updates on first boot of Whonix-Workstation since numerous updates will likely be available, including kernel updates.
  330. https://github.com/Kicksecure/systemcheck/commit/4d65231b87b1dbc7827cd47c86f1f4d5476bcda2
  331. https://github.com/Whonix/commit/47d9bdde4f9985aa8b29d64c2bd81f17addf18b6
  332. https://phabricator.whonix.org/T721
  333. https://lists.debian.org/debian-security/2017/10/msg00006.html
  334. https://phabricator.whonix.org/T678
  335. The optional --onion parameter can also be set through an environment variable export tb_onion=true or in the /etc/torbrowser.d/50_user.conf config with the same syntax.
  336. https://github.com/madaidan/onion-grater/commit/f0312d95bc721580088a10c4230ab10ff97f30f9
  337. https://github.com/Kicksecure/sdwdate/pull/21
  338. apt-transport-tor (tor+http) is the default from Whonix 14 onward because it provides better error handling and stream isolation.
  339. https://github.com/Kicksecure/repository-dist/commit/8beb14f2782a2730c07a2b233f44b5ea5df021c2
  340. https://github.com/Kicksecure/anon-shared-build-apt-sources-tpo/commit/32d6efed5344aaac9de5c3dac04ba1a3d6236905
  341. https://github.com/Kicksecure/anon-apt-sources-list/commit/d74b8e8abd7832200d57aee8736e8f31084db964
  342. Disables DCCP, SCTP, RDS and TIPC in case they have unknown vulnerabilities; serious problems were discovered in the past.
  343. https://github.com/Kicksecure/security-misc/pull/7
  344. https://forums.whonix.org/t/blacklist-uncommon-network-protocols/7391
  345. https://forums.whonix.org/t/bitcoin-core-onion-grater-profile/6216
  346. To allow the creation of a mainnet or testnet hidden service and discarding of the private key to keep services ephemeral.
  347. https://github.com/Whonix/onion-grater/pull/1
  348. https://github.com/Whonix/onion-grater/pull/2
  349. https://phabricator.whonix.org/T822
  350. https://forums.whonix.org/t/kdesudo-error-popup-window-sdwdate-gui
  351. https://github.com/Whonix/anon-apps-config/commit/008d206ec20c74e0d03926b939522b7036b8693b
  352. https://phabricator.whonix.org/T737
  353. https://github.com/Kicksecure/usability-misc/commit/c2a0c84b4a12b5bebc241b65a932b96a33cacedb
  354. https://github.com/Whonix/commit/5760a2491cc42482945e3d50ed0ccb33d539d92d
  355. https://github.com/Whonix/commit/98fd2361ec4e1ef73de3660ccb4c21e5ec86bf5f
  356. https://github.com/Whonix/commit/8679c7f1b94e269b8f110743654c2431a0725cc2
  357. https://forums.whonix.org/t/user-poll-xfce-vs-kde-kde-deprecation-considered/6235
  358. https://phabricator.whonix.org/T738
  359. https://phabricator.dds6qkxpwdeubwucdiaord2xgbbeyds25rbsgr73tbfpqpt4a6vjwsyd.onion/T69
  360. https://phabricator.whonix.org/T630
  361. https://phabricator.whonix.org/T705
  362. https://phabricator.whonix.org/T706
  363. https://phabricator.whonix.org/T733
  364. https://phabricator.whonix.org/T734
  365. https://phabricator.whonix.org/T735
  366. https://phabricator.whonix.org/T633
  367. https://github.com/Whonix/pull/423/commits/bb87de2006d5ea6389480d4443b58ea82c11bef2
  368. https://github.com/Kicksecure/helper-scripts/pull/4
  369. https://github.com/Whonix/anon-meta-packages/pull/15
  370. https://github.com/Kicksecure/desktop-config-dist
  371. https://github.com/Kicksecure/systemcheck/commit/7eec772015948573319e281da67b9b1ffb93e201
  372. https://github.com/Whonix/anon-meta-packages/commit/fd2570327ea7a4da054c2d3825ff04debc70a557
  373. So it is not installed on Whonix-Gateway by default.
  374. https://github.com/Whonix/anon-meta-packages/commit/8bfca1d9a9c7a0e76bcd0222f9fd01dd72a0277b
  375. https://github.com/Whonix/anon-meta-packages/commit/1de173ad50669a575171200d76b0d3e4878fb78b
  376. https://github.com/Whonix/anon-meta-packages/commit/28582d8272a38b9d0ce7cd234f94a7b983358a64
  377. https://github.com/Whonix/anon-meta-packages/commit/eaac36060f9fea574c098967b85690d41f122562
  378. https://github.com/Kicksecure/security-misc/commit/137bc073c5d65988cce832336ebee5c47071e732
  379. https://github.com/Kicksecure/desktop-config-dist/commit/c8959135d699bc3ce74b95f736cbfbbc8ff391d9
  380. https://github.com/Kicksecure/desktop-config-dist/commit/0e9daa97e9f9e70120c969aa9c9d52cace46971a
  381. https://github.com/Whonix/whonix-firewall/commit/c55b2652eecd214804afb32d89dc8fdf05e31221
  382. To prevent broken functionality due to missing packages.
  383. https://forums.whonix.org/t/whonix-cli-development/6309
  384. https://forums.whonix.org/t/whonix-for-arm64-raspberry-pi-rpi/1788
  385. Virtual ovas and KVM libirt.xz files are both available as a single download containing both VMs.
  386. https://forums.whonix.org/t/unified-whonix-download-rather-than-separate-whonix-gateway-whonix-workstation-download/6851
  387. https://forums.whonix.org/t/whonix-virtualbox-14-0-1-4-4-unified-ova-downloads-testers-wanted/6979/2
  388. https://github.com/Kicksecure/security-misc/pull/4
  389. https://github.com/Whonix/whonix-setup-wizard/commit/7fa64df04025d304fa97458a23f730bcc8aedbd8
  390. https://github.com/Whonix/anon-meta-packages/commit/701edd4aa46d76b03fc84a482a9046834beb43ab
  391. https://github.com/Kicksecure/desktop-config-dist/commit/0aba7c2c3676469ea28f7949a5e58795cd529e34
  392. https://forums.whonix.org/research-disabling-tbb-e10-mutiprocess-for-performance-boost/6431
  393. https://github.com/Whonix/commit/e75f61f32eee4d947bbeea61d898fcce815b57e5
  394. https://phabricator.whonix.org/T880
  395. https://forums.whonix.org/t/whonix-xfce-14-0-0-9-6-for-virtualbox-released/6368/14
  396. https://github.com/Kicksecure/security-misc/commit/008a97d9e7f891a706a277c8e9bb2e3a958d1e63
  397. https://phabricator.whonix.org/T894
  398. https://forums.whonix.org/t/tor-browser-in-whonix-blocks-javascript-only-when-started-for-the-first-time-and-in-dispvms/6843
  399. This was reported to occur in approximately 50 percent of start up cases.
  400. Since it does not report upgrades, even when they are available.
  401. https://phabricator.whonix.org/T373
  402. Which failed with return code 1.
  403. https://github.com/QubesOS/qubes-issues/issues/4154
  404. https://github.com/QubesOS/qubes-issues/issues/4155
  405. https://github.com/QubesOS/qubes-core-admin-addon-whonix/pull/6
  406. Related to the missing package python3-xcffib.
  407. https://github.com/QubesOS/qubes-issues/issues/4443#issuecomment-436484078
  408. https://github.com/QubesOS/qubes-issues/issues/3323
  409. https://github.com/QubesOS/qubes-issues/issues/4340
  410. https://github.com/QubesOS/qubes-issues/issues/4536
  411. https://github.com/QubesOS/qubes-builder/pull/81
  412. https://github.com/QubesOS/qubes-core-admin/pull/221
  413. https://github.com/QubesOS/qubes-issues/issues/4195
  414. https://github.com/QubesOS/qubes-issues/issues/4295
  415. https://phabricator.whonix.org/T858
  416. https://github.com/QubesOS/qubes-issues/issues/4174
  417. Some fixes/changes were implemented in both Whonix 14 and 15.
  418. https://www.debian.org/News/2019/20190706
  419. More than 91 per cent of the source packages included in Debian 10 are reproducible (will build bit-for-bit identical binary packages).
  420. https://phabricator.whonix.org/T899
  421. https://github.com/Kicksecure/usability-misc/blob/master/usr/bin/scurl/pull/1
  422. A few fixes were needed, such as:
    • Remove --remote-name and replace it with --remote-name-all.
    • Improve download wrappers and add --remote-header-name.
  423. https://phabricator.whonix.org/T923
  424. https://phabricator.whonix.org/T890
  425. For instance, an error would otherwise appear when using Xfce file manager with encrypted USBs.
  426. https://forums.whonix.org/t/have-cryptsetup-installed-by-default-in-whonix/6684/5
  427. https://forums.whonix.org/t/fixed-apt-rce-announced-new-whonix-images-needed-whonix-build-not-safe-at-the-moment/6715
  428. https://phabricator.whonix.org/T853
  429. https://phabricator.whonix.org/T712
  430. Specifically:
    • Make it simpler (to split urls into chunks of 3).
    • Generate average, total etc. for each pool.
    • Add curl command for the failures (timeouts).
  431. https://phabricator.whonix.org/T850
  432. https://phabricator.whonix.org/T866
  433. https://phabricator.whonix.org/T503
  434. This was completed for whonix-gw-firewall, whonix-ws-firewall, whonixcheck, sdwdate, uwt, onion-grater (Control Port Filter Proxy), rads, open-link-confirmation, tb-starter, tb-updater and anon-ws-disable-stacked-tor.
  435. https://github.com/TNTBOMBOM/sdwdate/commit/2985fc70625ae13aed45225b8c83592575c21a78
  436. https://forums.whonix.org/t/port-whonix-from-debian-stretch-to-debian-buster/7101
  437. https://phabricator.whonix.org/T869
  438. https://forums.whonix.org/t/install-firejail-firetools-by-default/5363/3
  439. MAT2 only removes metadata from your files, it does not anonymise their content, nor can it handle watermarking, steganography, or any too custom metadata field/system.

  440. https://phabricator.whonix.org/T885
  441. https://forums.whonix.org/t/add-mat2-to-whonix-15/6489
  442. zulumount-gui is also installed.
  443. https://phabricator.whonix.org/T769
  444. https://forums.whonix.org/t/zulucrypt-in-whonix-14/4876
  445. https://phabricator.whonix.org/T595
  446. https://forums.whonix.org/t/feature-request-onionshare-support/300/7
  447. https://github.com/Whonix/anon-meta-packages/commit/8d5e892d3b603bb1390d3c152f70f8b8e8bfefef
  448. Primarily due to incompatibility with v3 onions.
  449. https://forums.whonix.org/t/remove-ricochet-from-whonix/5009
  450. https://forums.whonix.org/t/what-about-nyx/6380
  451. nyx is actually the same project; just the name has changed and the presentation is very similar.
  452. https://phabricator.whonix.org/T798
  453. https://phabricator.whonix.org/T817
  454. Using the Jitter RNG core, the rngd provides an entropy source that feeds into the Linux /dev/random device if its entropy runs low. ... Especially during boot time, when the entropy of Linux is low, the Jitter RNGd provides a source of sufficient entropy.

  455. https://phabricator.whonix.org/T848
  456. https://forums.whonix.org/t/failed-failed-to-start-virtualbox-guest-utils/5975/4
  457. https://forums.whonix.org/t/reducing-size-of-ova-images/5095
  458. https://phabricator.whonix.org/T886
  459. https://github.com/Kicksecure/grub-live
  460. https://github.com/Whonix/anon-meta-packages/pull/18
  461. https://forums.whonix.org/t/installing-whonix-live-mode-in-all-distributed-images/6467
  462. This means Non-Qubes-Whonix users can boot into live-mode out of the box, without needing to install it.
  463. https://phabricator.whonix.org/T825
  464. Such as the root password, Whonix home page and so on.
  465. https://forums.whonix.org/t/add-description-to-whonix-vbox-images/5828/1
  466. https://forums.whonix.org/t/how-do-i-enter-the-whonix-shell-from-cli/7271
  467. https://phabricator.whonix.org/T782
  468. The floppy and optical settings were disabled in both the Gateway and Workstation, while the Gateway audio was also disabled.
  469. kloak is a privacy tool that makes keystroke biometrics less effective. This is accomplished by obfuscating the time intervals between key press and release events, which are typically used for identification. This project is experimental.

  470. https://forums.whonix.org/t/kloak-keystroke-anonymization-tool/7089
  471. See recent pull requests here.
  472. https://forums.whonix.org/t/kernel-hardening/7296/9
  473. The specific changes include:

    Kernel symbols in /proc/kallsyms are hidden to prevent malware from reading them and using them to learn more about what to attack on your system.

    Kexec is disabled as it can be used for live patching of the running kernel.

    The BPF JIT compiler is restricted to the root user and is hardened.

    ASLR effectiveness for mmap is increased.

    The ptrace system call is restricted to the root user only.

    The TCP/IP stack is hardened.

    This package makes some data spoofing attacks harder.

    SACK is disabled as it is commonly exploited and is rarely used.

    This package disables the merging of slabs of similar sizes to prevent an attacker from exploiting them.

    Sanity checks, redzoning, and memory poisoning are enabled.

    The kernel now panics on uncorrectable errors in ECC memory which could be exploited.

    Kernel Page Table Isolation is enabled to mitigate Meltdown and increase KASLR effectiveness.

    SMT is disabled as it can be used to exploit the MDS vulnerability.

    All mitigations for the MDS vulnerability are enabled.

    DCCP, SCTP, TIPC and RDS are blacklisted as they are rarely used and may have unknown vulnerabilities.

  474. https://phabricator.whonix.org/T883
  475. https://github.com/QubesOS/qubes-template-configs/pull/6/commits/d4f429669b849fc73973e2e557a24cceab47c45e
  476. https://github.com/QubesOS/qubes-builder/pull/82/commits/64a661241430c6a22ca98bb11370b2a3e3cf0e12
  477. https://github.com/QubesOS/qubes-issues/issues/4957
  478. https://github.com/Whonix/qubes-whonix/commit/8d8ab41bbf9c7fa63f3e79b8511d439efe33caeb
  479. https://github.com/Whonix/qubes-whonix/commit/c08dfed97cfba369ff753b4d96755b47240fffb2
  480. https://github.com/QubesOS/qubes-issues/issues/4918
  481. Neither are backups of Tor Browser maintained anymore; previously three backups were stored.
  482. https://phabricator.whonix.org/T858
  483. timesync-fail-closed means sdwdate did not succeed yet. Networking for all but Tor and sdwdate should still be locked in this scenario.
  484. https://github.com/Kicksecure/apparmor-profile-everything
  485. https://github.com/QubesOS/qubes-issues/issues/5212
  486. https://forums.whonix.org/t/qubes-whonix-security-disadvantages-help-wanted/8581
  487. https://forums.whonix.org/t/whonix-virtualbox-15-0-0-4-9-point-release/8076
  488. https://forums.whonix.org/t/whonix-kvm-15-0-0-4-9-point-release/8096
  489. https://forums.whonix.org/t/whonix-virtualbox-15-0-0-6-6-point-release/8524
  490. https://forums.whonix.org/t/whonix-kvm-15-0-0-7-1-point-release/8540
  491. https://forums.whonix.org/t/whonix-kvm-kicksecure-15-0-0-8-7-released-a-qunatum-leap-forward/8921
  492. https://forums.whonix.org/t/whonix-virtualbox-15-0-0-8-9-point-release-vanguards-tcp-isn-leak-protection-extensive-hardening/8994
  493. https://forums.whonix.org/t/whonix-virtualbox-15-0-0-9-4-point-release/9157
  494. https://forums.whonix.org/t/qubes-whonix-15-templatevms-4-0-1-202003070901-point-release/9159
  495. https://forums.whonix.org/t/whonix-virtualbox-15-0-1-3-4-point-release/9616
  496. https://github.com/Whonix/compare/15.0.0.9.4-developers-only...15.0.1.3.4-developers-only
  497. https://forums.whonix.org/t/whonix-kicksecure-kvm-15-0-1-3-4-released/9729
  498. https://forums.whonix.org/t/whonix-kicksecure-kvm-15-0-1-3-9-released/9785
  499. https://forums.whonix.org/t/whonix-kicksecure-kvm-15-0-1-4-9-released/10167
  500. https://forums.whonix.org/t/whonix-kicksecure-15-0-1-4-8-for-virtualbox-point-release/10231
  501. https://forums.whonix.org/t/qubes-whonix-15-templatevms-4-0-6-202009121407-point-release-testers-wanted/10274
  502. https://forums.whonix.org/t/whonix-15-0-1-5-1-for-virtualbox-point-release/10294
  503. https://forums.whonix.org/t/whonix-15-0-1-5-4-for-virtualbox-point-release/10835
  504. https://forums.whonix.org/t/whonix-for-virtualbox-15-0-1-7-2-point-release/11349
  505. https://forums.whonix.org/t/qubes-whonix-15-templatevms-15-4-0-6-202103292247-point-release/11355
  506. https://forums.whonix.org/t/whonix-kvm-15-0-1-7-2-point-release-is-out/11458
  507. https://forums.whonix.org/t/whonix-for-virtualbox-15-0-1-7-3-point-release-includes-virtualbox-6-1-20-compatibility-fix/11496
  508. https://forums.whonix.org/t/whonix-15-0-1-9-3-for-virtualbox-point-release/11876
  509. https://forums.whonix.org/t/qubes-whonix-15-templatevms-15-4-0-6-202106242108-point-release/11891
  510. https://forums.whonix.org/t/whonix-kvm-15-0-1-9-3-released/11923
  511. https://github.com/Kicksecure/apparmor-profile-everything/compare/f3140ea2153fcee68a901ef0c86d552d6fa0ec3e...ffbe4873836b7bc364f3bfee1fef56ba8fd9b0be
  512. https://github.com/Kicksecure/apparmor-profile-everything/compare/ffbe4873836b7bc364f3bfee1fef56ba8fd9b0be...63fdd0312a81f878d266ae9197803ccbd6bc18df
  513. More work is required such as multiple boot modes for better security: persistent user | live user | persistent admin | persistent superadmin | persistent recovery mode before it is installed by default.
  514. https://github.com/Kicksecure/apparmor-profile-everything/commit/d3eccd40b1547114159ef5309518a75f14800391
  515. See: Dev/bash.
  516. https://github.com/Kicksecure/apparmor-profile-everything/commit/ded4058ba369e00409c761b2c9a3126beb0f6fb3
  517. https://github.com/Kicksecure/apparmor-profile-torbrowser/commit/1ae495a91cd2121ebe8b98a798122a5dfa19ed92
  518. https://forums.whonix.org/t/whonix-apparmor-profiles-development-discussion/108
  519. https://forums.whonix.org/t/live-mode-etc-apparmor-d-tunables-home-d-live-mode-breaks-aa-enforce/5868
  520. https://github.com/Kicksecure/helper-scripts/commit/8aabfbbe96595b92d8cc7bf35fb3ca690d9a2313
  521. https://github.com/Kicksecure/helper-scripts/commit/3ddf9feba6ddebc7657712c6a604c9dfe500889e
  522. https://forums.whonix.org/t/gpg-recv-keys-fails-no-longer-use-keyservers-for-anything/5607/8
  523. https://github.com/Whonix/anon-apps-config/commit/8ec996766db99d98e69202a341805a54263b9209
  524. https://github.com/Kicksecure/anon-connection-wizard/commit/fba74756136ac85b68e64f63311d64107cf5383f
  525. https://github.com/Kicksecure/anon-connection-wizard/commit/380b4b3411aa9f8a1a31e8a2b2decedc52d431df
  526. https://github.com/Kicksecure/anon-connection-wizard/commit/cb20675cecb5c023dc47e3a8df680c98df544501
  527. https://github.com/Kicksecure/anon-connection-wizard/commit/47a9303bcb8c34517c90fb4439e03951a029281b
  528. See: censorship circumvention / Tor pluggable transports.
  529. https://github.com/Kicksecure/anon-connection-wizard/commit/3d1d5ad3f5ec5a9da997c248cdc78ad0c8669533
  530. See: Whonix Gateway CLI-15.0.1.5.4 - meek-azure bridge "TLS_ERROR".
  531. https://github.com/Kicksecure/anon-connection-wizard/commit/2b33df7e051a2d7426b6312ecc9a128f7e7ffa95
  532. https://github.com/Kicksecure/anon-connection-wizard/commit/56cdf3e3de1753f61827cf402116357b3292a80b
  533. https://forums.whonix.org/t/anon-connection-wizard-crash/11782
  534. https://github.com/Whonix/anon-gw-anonymizer-config/commit/57e1b3a3678b3026a2ab30b031f42f4ca7f4f173
  535. https://github.com/Whonix/anon-gw-anonymizer-config/commit/3242a0fc37b24847a6168cd7563af9ab582dbb4a
  536. See forum threads: censorship circumvention / Tor pluggable transports and Whonix Gateway CLI-15.0.1.5.4 - meek-azure bridge "TLS_ERROR" .
  537. https://github.com/whonix/anon-meta-packages/commit/0ad99f40b5496bf4ddb38aa5aa8ec42e6d923075
  538. tumbler is a “Recommends:” of ristretto.
  539. Which image viewer to install by default?
  540. https://github.com/whonix/anon-meta-packages/commit/3e0d2bdceea7046e1120e289e0077d3127057ee5
  541. https://lists.torproject.org/pipermail/tor-dev/2020-May/014322.html
  542. OnionShare Whonix integration development discussion.
  543. https://github.com/whonix/anon-meta-packages/commit/d95f9ec9333591ad1edd100662c5a71b5cd66f9b
  544. https://github.com/whonix/anon-meta-packages/commit/7fa7f26037976fea5b48bb1852d7caa5809e3ee2
  545. https://forums.whonix.org/t/kicksecure-minimal-version/11613/4
  546. https://github.com/Whonix/anon-ws-disable-stacked-tor/commit/73a4e81dee4a2cb5f0453d024d41f20a307802e8
  547. https://forums.whonix.org/t/i2p-inside-whonix-workstation-broken/8610/83
  548. i2p is not yet installed by default because of this reason.
  549. https://github.com/Kicksecure/open-link-confirmation/commit7c8fce21d7146a370adbd3073f25b4602901b813
  550. https://github.com/whonix/anon-meta-packages/commit/4e6db57c3fba6329dd1f23818523e43fa4e1e98d
  551. https://github.com/Kicksecure/tb-default-browser/commit/e2a05621ae54cad84dccc293ed43089fcc745b87
  552. https://github.com/Kicksecure/tb-starter/commit/b5d2280ad445bc1fbdb613424664bf8503e6f395
  553. https://forums.whonix.org/t/tor-browser-integration/11912
  554. https://github.com/Kicksecure/tirdad/commit/2fc3c726dd09dbf9cfe0ad51a327d02ce392a16b
  555. https://github.com/Whonix/anon-gw-anonymizer-config/commit/97baabc4b71abf6395ef0d1815cd63e74b7da050
  556. fix, don’t lock down network if IPv6 isn’t available and thereby no need to firewall, apparmor profile added in complain mode.
  557. https://github.com/Whonix/whonix-firewall/commit/24dd32c992a426c43d08e972fb8004614a314f75
  558. INTERNAL_OPEN_PORTS setting
  559. https://github.com/Whonix/whonix-firewall/commit/f8fce1133fbb1408b281dd9175b781f657fa3d5e
  560. https://github.com/Whonix/whonix-firewall/commit/b5e89fb8e13e8b64006aa65cd39baa2c50abe823
  561. https://github.com/Whonix/commit/5067d7eca6cfb36b71fe62ff7f3461f87bcdb3f6
  562. https://forums.whonix.org/t/apt-get-error-e-repository-tor-https-cdn-aws-deb-debian-org-debian-security-buster-updates-inrelease-changed-its-suite-value-from-testing-to-stable/7704
  563. https://forums.whonix.org/t/cannot-use-pkexec/8129
  564. This also creates a new encrypted swapfile with a random password on every boot.
  565. https://github.com/Whonix/swap-file-creator
  566. https://forums.whonix.org/t/swap-swap-file-whonix-gateway-freezing-during-apt-get-dist-upgrade-encrypted-swap-file-creator/8317
  567. https://forums.whonix.org/t/noscript-with-security-slider-at-safest-permits-around-30-sites/8160
  568. https://github.com/Whonix/commit/9fa062aafe9d3d8ad94aa6850225664f914174f0
  569. https://forums.whonix.org/t/keyboard-configuration-debconf-popup-during-apt-get-dist-upgrade/8318
  570. https://github.com/Kicksecure/legacy-dist/commit/4bb3f9a93cef7a2076a70b986aa2c34d28ae1acf
  571. https://github.com/Kicksecure/legacy-dist/commit/4202681132b1f0307cc95ceb3a1ca231fe6d9b3d
  572. https://forums.whonix.org/t/command-not-found-warningcould-not-open-file-etc-apt-sources-list/7903
  573. Whonix host operating system
  574. Kernel Hardening
  575. Reverts “Restrict the userfaultfd() syscall to root as it can make heap sprays easier.”
  576. https://duasynt.com/blog/linux-kernel-heap-spray
  577. cannot use pkexec
  578. disksd[572]: failed to load module crypto: libbd_crypto.so.2: cannot open shared object file: No such file or directory

  579. onioncircuits started from tor-control-panel by running it under user debian-tor rather than root.
  580. Fix Non-Qubes-Whonix Whonix-Gateway slow boot.
  581. Also: check for noexec, remount exec and work on Qubes DispVM exec / noexec.
  582. It is also not compatible with apt speedup, see: Speeding up "apt update" with Acquire::Languages=none and Contents-deb::DefaultEnabled=false - It's so much faster!
  583. For instructions on how to use command-not-found, see here.
  584. https://forums.whonix.org/t/update-torbrowser-does-not-see-version-10-0-6/10711
  585. https://forums.whonix.org/t/ro-mode-init-live-mode-indicator-not-working/6795/17
  586. https://forums.whonix.org/t/tox-qtox-whonix-integration/1219/18 no longer installed by default
  587. The key is now hardcoded in package source code.
  588. https://github.com/Whonix/anon-gw-anonymizer-config/commit/520f232dd68dafd9e66f0c78a37ebc3223d691c0
  589. https://phabricator.whonix.org/T537
  590. https://github.com/Kicksecure/kicksecure-meta-packages/commit/493155ea1b77c22b3e0e4749105503b42f03d2c7
  591. tumbler is a “Recommends:” of ristretto.
  592. Which image viewer to install by default?
  593. https://github.com/Kicksecure/kicksecure-meta-packages/commit/31c50ba43b8acd9477f375f1635b931eaaa599f4
  594. https://forums.whonix.org/t/kicksecure-minimal-version/11613/4
  595. https://github.com/Kicksecure/kicksecure-meta-packages/commit/25f3d81398d90653ea632604381b161a63cfadd0
  596. https://github.com/Kicksecure/kicksecure-meta-packages/commit/6fc4f399b9ae2dab67b062a640be2364d33acb7b
  597. https://forums.whonix.org/t/kicksecure-minimal-version/11613
  598. https://github.com/Kicksecure/repository-dist/commit/e1faf410205132c3fa19800febe44f5c8e169998
  599. https://forums.whonix.org/t/whonix-on-mac-m1-arm/11310
  600. Build CI builds on Travis CI
  601. Integration with APT and packaging is not yet complete. Help welcome!
  602. Help is welcome to finish this work.
  603. See: Error. Failed bilding Whonix gateway on physical host.
  604. In other words, packages can now be built without genmkfile.
  605. https://github.com/Kicksecure/repository-dist/commit/b369b4417083d9f270898d40531c6f04bd91d88b
  606. https://forums.whonix.org/t/suggest-trustworthy-tor-hidden-services-as-time-sources-for-sdwdate/856/176
  607. https://forums.whonix.org/t/sdwdate-time-sources-criteria/11035/4
  608. https://forums.whonix.org/t/suggest-trustworthy-tor-hidden-services-as-time-sources-for-sdwdate/856/191
  609. MAX_FAILURE_RATIO=0.7 was previously set, see: https://forums.whonix.org/t/suggest-trustworthy-tor-hidden-services-as-time-sources-for-sdwdate/856/191
  610. https://github.com/Kicksecure/sdwdate/commit/2173934e555975c61db81b54da259aacca87cfbd
  611. https://github.com/Kicksecure/sdwdate/commit/05bee21d01827644376713990c4246f4f29bdb52
  612. https://github.com/Kicksecure/sdwdate/commit/0d546e5f2f53805c1cd21fe936f0f352da98c6f9
  613. https://github.com/Kicksecure/sdwdate/commit/f20463362bc15f2f6bf70e6d1199620644f89855
  614. https://github.com/Kicksecure/sdwdate/commit/eff69c4bfe6dfe91e9558cd85d952236f40dbdfe
  615. https://github.com/Kicksecure/sdwdate/commit/d4c94e61d548a1e362741f6ee31ac3f0a7cd1b4b
  616. https://github.com/Kicksecure/sdwdate/commit/149835c753b937eee8854a50a35e0d61da37073c
  617. https://github.com/Kicksecure/sdwdate/commit/85fcd64b5e9c8c0a51682ef3d1083bf80c54901b
  618. https://github.com/Kicksecure/sdwdate/commit/154008697f6530c3609d8de2509e3a6436691fa5
  619. https://github.com/Kicksecure/sdwdate/commit/41e714f326d45773c90c9cba667967aa866c46aa
  620. https://github.com/Kicksecure/sdwdate/commit/fd5cadd6c79287fea165f62c9937a0be0cae2f85
  621. https://github.com/Kicksecure/sdwdate/commit/3759520aac6f13d5882f9450a54f49a5afa938cb
  622. https://forums.whonix.org/t/apply-systemd-sandboxing-by-default-to-some-services/7590/58
  623. https://github.com/Kicksecure/sdwdate/commit/4d1aeac0fa2e119bc7e0277175acd86aa45503c6
  624. https://github.com/Kicksecure/developer-meta-files/commit/1a8f1c6916683f76c611895cb9f3349a66fa0e29
  625. See: Whonix moving from GitHub to GitLab.
  626. The current developers-only version and next stable version of Whonix can be built completely from GitLab.
  627. https://forums.whonix.org/t/whonix-networking-implementation-developer-documentation-feedback-wanted/8274
  628. https://forums.whonix.org/t/whonix-experimental-for-how-long/5206/6
  629. Old: “Whonix is experimental software. Do not rely on it for strong anonymity.” New: “Whonix is a research project.”
  630. vanguards - Additional protections for Tor Onion Services
  631. https://github.com/Kicksecure/anon-apt-sources-list/commit/478336061969596efe9b7ddc3b36c51afb51139a
  632. https://github.com/Kicksecure/anon-apt-sources-list/commit/4832b9233b923624aa5df742e302576bdbd1882b
  633. https://github.com/Kicksecure/anon-apt-sources-list/commit/4832b9233b923624aa5df742e302576bdbd1882b
  634. https://github.com/Kicksecure/anon-apt-sources-list/commit/a7429c32d94c406e4f00478fa095989fb98e4546
  635. Since it is not used on https://onion.debian.org.
  636. https://github.com/Kicksecure/anon-apt-sources-list/commit/e3a261a3ab032f964c65c47a3187d6f4624f01f4
  637. https://gitweb.torproject.org/builders/tor-browser-build.git/tree/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
  638. This is not usually required.
  639. Quote Tor manual: ‘Files starting with a dot are ignored.’
  640. Quote Tor manual: ‘Files on subfolders are ignored.’
  641. Added electrum-4.1.2-x86_64.AppImage. See: https://github.com/Kicksecure/binaries-freedom/commit/8ba7669ec2177434619d449b0190bd44ee0d2da0
  642. https://github.com/Kicksecure/binaries-freedom/commit/368a6667fb8c4d162cfeb20bcd5b91d6a02d29f8
  643. https://github.com/Kicksecure/binaries-freedom/commit/6e7ef0e7468f03a99fb32c0a5aefb4c7016ed404
  644. https://github.com/Kicksecure/binaries-freedom/commit/c5905a63a1934db3a7fe628dc2f69092e2f539f9
  645. https://github.com/Kicksecure/helper-scripts/commit/5b0c3c7e9526691ce1b0e27bf51ef6994596963f
  646. Due to apt-key deprecation by Debian; see apt-key Deprecation / Apt 2.2 changes.
  647. https://github.com/Kicksecure/genmkfile/commit/c2c649bc91cddc4fa1884213cc0b6bed14d43f2f
  648. https://phabricator.whonix.org/T965
  649. Cannot access encrypted USB drive with Thunar in Whonix 15
  650. Whonix host operating system
  651. Whonix Xfce Development
  652. Use sudoedit in Whonix documentation and Whonix software
  653. https://github.com/Kicksecure/helper-scripts/commit/ab21083cf0330f081172ca060b1fa996b6387442
  654. https://github.com/Kicksecure/helper-scripts/commit/fa66630cbb81e99cbfe34326bd14558cc26b8e97
  655. https://github.com/Kicksecure/helper-scripts/commit/1ac0cdca37dcaa073caebdccce58ff4c7f47f4ae
  656. This AppArmor bug is likely fixed in Debian bullseye.
  657. https://github.com/Kicksecure/helper-scripts/commit/9aa8fe97277d7bdbdf8530c796b512345b6bed8f
  658. https://gitlab.com/kicksecure/monero-gui/-/commit/7aee0082903927991367008810d38cfb3f4870f5
  659. Remove Whonix specificity (default config file) from onion-grater (Whitelisting filter for dangerous Tor control protocol commands).
  660. https://github.com/Whonix/onion-grater/commit/9539d88c7e0b8336b74586d8c93821cad946fc90
  661. https://github.com/Whonix/onion-grater/commit/f72b60124841b29440eaa46d1233bb0c11e411f6
  662. https://github.com/Whonix/onion-grater/commit/97b8feb8dcc739eb4ffd67528fa12c6ff425384b
  663. https://github.com/Whonix/onion-grater/commit/465180909f97a2853eaa0192c024af0a979bb080
  664. Onion Services Authentication
  665. https://forums.whonix.org/t/full-system-apparmor-policy-testers-wanted/10381/83
  666. https://github.com/Kicksecure/sdwdate-gui/commit/b0aef886b6eda84e9d787868f10b0f105402863b
  667. whonixcheck connectivity check code checks Tor as well as sdwdate. Due to slow Tor/onion speed it often times out. Improving that code is difficult, so sdwdate-gui is used instead as a solution that provides better visual feedback to users.
  668. https://github.com/Kicksecure/security-misc/commit/41734ec523eb3cd233fe4651b9807222c8ccb1d5
  669. Restrict Hardware Information to Root - Testers Wanted!
  670. https://github.com/Kicksecure/systemcheck/commit/577da7d2e5aa122b2ac0fd87ade605c9747f181d
  671. https://github.com/Kicksecure/systemcheck/pull/15
  672. https://forums.whonix.org/t/one-time-popup-notification-of-whonix-15-deprecation-once-whonix-16-was-released/11720/3
  673. https://github.com/Kicksecure/systemcheck/commit/41fd10a4929448e820533910a3bdd5026199afe4
  674. https://forums.whonix.org/t/one-time-popup-notification-of-whonix-15-deprecation-once-whonix-16-was-released/11720
  675. https://github.com/Kicksecure/systemcheck/commit/fa28f533b77b0232342dac81bd8b437cb01418ae
  676. https://github.com/Kicksecure/systemcheck/commit/2703fc9f692115c04d1525ad36c9ff22dde20b76
  677. This reports if the output of command dpkg --audit is non-empty, which would indicate in most cases a previously interrupted upgrade.
  678. https://github.com/Kicksecure/systemcheck/commit/7f006875d930004295a9d7eed1cfdb0522d27586
  679. https://github.com/Kicksecure/systemcheck/commit/a1be8de3360d0377073acc9298d68d79b70f5543
  680. https://github.com/Kicksecure/systemcheck/commit/6a928ddd1345decc552db1391742d46ca54fe482
  681. https://github.com/Kicksecure/tor-control-panel/commit/39c0d67c7b536cbf9dbf4cb7306161ce63d41ef6
  682. https://github.com/Kicksecure/tor-control-panel/commit/115b65e34785793b37a6f8f87f70195c5cbfeb99
  683. tor_0.4.2.6-1~d10.buster+1_amd64.deb from deb.torproject.org
  684. Tor 0.4.25 release how can we upgrade
  685. Onion Services DDOS Defense Tor 0.4.2.5
  686. https://github.com/Kicksecure/tb-updater/commit/6900f4d100a8b71572f055a61bec557fa633c5ce
  687. https://github.com/Kicksecure/tb-updater/commit/1bf4af07d859c89c66880d7376c1707841022b77
  688. https://forums.whonix.org/t/arm64-tor-browser-maintainer/11786
  689. https://github.com/Kicksecure/tb-updater/commit/e0ad939dc0d8978198d0a85df6f2ff63947c0f6c
  690. https://forums.whonix.org/t/arm64-tor-browser-maintainer/11786
  691. https://github.com/Kicksecure/tb-updater/commit/129ee59b2768b902b6ad6f8ff58fc738ab3b3c02
  692. https://github.com/Kicksecure/tb-updater/commit/285fa1a3569395a722486cb80a999e3d370efdcb
  693. https://forums.whonix.org/t/arm64-tor-browser/11806
  694. https://forums.whonix.org/t/arm64-tor-browser-maintainer/11786
  695. https://github.com/Kicksecure/tb-updater/commit/36bbe964ddd40f3d81bfeb005db056ecf5095c78
  696. https://forums.whonix.org/t/tor-browser-downloader-gpg-download-signature-could-not-be-verified/11794
  697. https://github.com/Kicksecure/tb-updater/commit/5c31abf6b689e1506624cecaaa90986080433c01
  698. https://github.com/Kicksecure/tb-updater/commit/ab0143d84c018563d553a124ca05adac9e79419a#r51740265
  699. https://github.com/Kicksecure/tb-updater/commit/8310c98af8791ab0985ba67cad6720cf8ecbac38
  700. https://github.com/Kicksecure/tb-updater/commit/e4f848d8fe084d528ddec94a7cbca12cae7c5bb2
  701. https://github.com/Kicksecure/tb-updater/commit/eb6ba9b1c48afc0a394b26e1c331564948a53bd1
  702. https://github.com/Kicksecure/systemcheck/pull/15
  703. Speeding up "apt update" with Acquire::Languages=none and Contents-deb::DefaultEnabled=false - It's so much faster!.
  704. https://github.com/Kicksecure/usability-misc/commit/d5347a7a13f73a94e6cc2cc8764ec97324c1729d
  705. https://github.com/Whonix/uwt/commit/21aa111631f17e71b989636f62748d5f77d37c30
  706. Whonix Workstation Xfce-15.0.1.5.4 - sudo git - uwtwrapper uwt wrapper ERROR: /usr/bin/git.anondist-orig does not exist.
  707. https://github.com/Whonix/uwt/commit/7e6b623ffaf2d7359774904d1344387c7f746432
  708. Whonix Workstation Xfce-15.0.1.5.4 - sudo git - uwtwrapper uwt wrapper ERROR: /usr/bin/git.anondist-orig does not exist.
  709. https://forums.whonix.org/t/serial-console-in-virtualbox/8021
  710. This helps for recovery efforts and simplifies setting up the kernel boot parameters inside the VM.
  711. https://forums.whonix.org/t/send-sysrq-commands-to-virtualbox-usability-helper-virtualbox-send-sysrq/8369
  712. See also: Serial Console.
  713. https://github.com/Kicksecure/libvirt-dist/commit/f88e3b3876e5ed11b998fd7502ccaade4a57789f
  714. torrc.d cleaner
  715. https://forums.whonix.org/t/whonix-build-script-now-optionally-supports-installing-packages-from-whonix-remote-repository-rather-than-building-packages-locally/8107
  716. https://forums.whonix.org/t/disable-or-change-sudo-lecture-at-frist-run-we-trust-you-have-received-the-usual-lecture-from-the-local-system-administrator-it-usually-boils-down-to-these-three-things/8323
  717. https://github.com/Kicksecure/dist-base-files/commit/a929f1c438a9ac2a7cc01926e30b8d210debe442
  718. https://github.com/Kicksecure/dist-base-files/blob/master/usr/share/derivative-base-files/sudo-default-password-lecture
  719. Merge upstream changes.
  720. Improved Debian host support.
  721. Usability, output enhancements.
  722. Added compatibility with restrict hardware information to root for Live Mode Indicator Systray.
  723. Fixed Live Mode Indicator Systray to detect ro-mode-init.
  724. Packaging enhancements, no longer depend on genmkfile, fix, use same version number as upstream (2.0).
  725. dsudo - add sudo askpass wrapper for automated testing.
  726. This means as long as the password is set to changeme, it is possible to use dsudo and not be asked to enter the default password.
  727. Packaging enhancements, no longer depend on genmkfile, can be build using standard Debian packaging tools, apparmor enhancements.
  728. Refactoring /usr/lib/qubes-whonix/init/network-proxy-setup.
  729. This replaces grub-output-verbose.
  730. This is a sane default that works with default /etc/hosts without generating warnings about a wrong hostname when using sudo. /etc/hostname is not managed by any configuration package and can be changed.
  731. This might be re-introduced later as an opt-in package, see: Use DNSCrypt by default in Kicksecure? (not Whonix!)
  732. See: enable Debian stable-updates repository by default.
  733. This avoids a grave usability issue whereby users cannot choose ISO in VirtualBox first start wizard (which asks for which ISO to boot).
  734. https://forums.whonix.org/t/no-longer-add-virtual-dvd-drive-to-vm-by-default/9337
  735. https://github.com/Kicksecure/usability-misc/commit/d8a390c2c546e560c9b31c483b9ab4bcc1f0b067
  736. https://github.com/Kicksecure/helper-scripts/commit/5ffcd6d28454195889c8dd208a35a5d405524430
  737. Due to apt-key deprecation by Debian. Only GPG binary format is understood by Debian’s APT; see: apt-key Deprecation / Apt 2.2 changes.
  738. https://github.com/Kicksecure/security-misc/compare/a99dfd067ac8a43bdcd779cf57b3533bdaa404fb...163e20b886f298cb9d3aca54c14f66991001b396
  739. By default, Debian utilizes User Private Groups (UPG). Also see: /usr/share/pam-configs/usergroups-security-misc
  740. For example, this affects those running “chmod o-rwx /home/user” during package installation or an upgrade.
  741. This is only performed once for each folder in the parent /home folder, so users who wish to relax file permissions can do so. This action protects files in the user's home folder which were previously created with lax file permissions prior to the installation of this package.
  742. See: unlock instructions. This means it is possible to have short, easy-to-remember, "weak" passwords for the user user account, while still preventing compromised non-root users from bruteforcing it.
  743. This makes it harder to load a malicious module.
  744. See: /etc/modprobe.d/uncommon-network-protocols.conf
  745. Forum discussion.
  746. See: debian/security-misc.postinst
  747. Disable SUID Binaries
  748. https://github.com/Whonix/anon-apps-config/compare/a6a6c2ed3c58ef5b023866a8aed4ae1996d93420...9cbfad0aa30ce2014b65d997007baa3bf26005ca#diff-44b21d78d2546f10b7f1ba806e28e1f1
  749. It is disabled by default for now during testing and can optionally be enabled by running systemctl enable permission-hardener.service as root.
  750. This is interesting when using security-misc or Kicksecure.
  751. This is interesting when using security-misc on the host or using Kicksecure as the host operating system.
  752. Should all kernel patches for CPU bugs be unconditionally enabled? Vs Performance vs Applicability
  753. RDRAND reception
  754. https://twitter.com/pid_eins/status/1149649806056280069
  755. Run “sudo touch /etc/remount-disable”. To opt-in noexec, run “sudo touch /etc/noexec” and reboot (easiest). Alternatively file /usr/local/etc/remount-disable or file /usr/local/etc/noexec could be used.
  756. (re-)mount home (and other?) with noexec (and nosuid among other useful mount options) for better security?
  757. More work needed. Help welcome!
  758. GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX efi=disable_early_pci_dma"
  759. https://mjg59.dreamwidth.org/54433.html
  760. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4444f8541dad16fefd9b8807ad1451e806ef1d94
  761. Such as CVE-2017-2636.
  762. https://lkml.org/lkml/2019/4/15/890
  763. Sets dev.tty.ldisc_autoload=0
  764. https://github.com/Kicksecure/hardened-kernel/commit/1fdfc87335534e627a29b6cc8d140c5634ce9dd5
  765. This reverts the following commit.
  766. See: KVM Command Line Interface (CLI)
  767. https://forums.whonix.org/t/whonix-moving-from-github-to-gitlab/9676
  768. https://github.com/Kicksecure/anon-shared-build-apt-sources-tpo/commit/0153003e7f3d1f7e2788e0ba697290a04f5017d3
  769. http://apow7mjfryruh65chtdydfmqfpj5btws7nbocgtaovhvezgccyjazpqd.onion/
  770. This does not yet apply to Qubes-Whonix.
  771. Qubes issue.
  772. This is a purposeful security feature and there are no user freedom restrictions; read more here.
  773. See: gpg --recv-keys fails / no longer use keyservers for anything.
  774. https://forums.whonix.org/t/use-sudoedit-in-whonix-documentation-and-whonix-software/7599
  775. Running any editor as root is insecure. sudoedit copies the file to a temporary location, edits it as a normal user and then overwrites the original using sudo.
  776. https://forums.whonix.org/t/restrict-hardware-information-to-root/7329/2
  777. CVE-2020-8516 Hidden Service deanonymization
  778. enable vanguards by default
  779. install by default
  780. Also available in Qubes OS Debian templates and Qubes-Whonix with use of an in-VM kernel.
  781. LKRG will likely be installed by default in Whonix and Kicksecure in one of the next stable releases.
  782. This is quick and easy. For example: “dpkg-buildpackage -b”
  783. Since LKRG now supports module parameters and VirtualBox host support, it can be automatically started after installation since it would no longer kill VirtualBox VMs running on a host.
  784. https://github.com/Kicksecure/sandbox-app-launcher/commit/24ca2da82bc90add9cc1fe38ccb826714c4127fd
  785. https://github.com/Kicksecure/sandbox-app-launcher/commit/f939fe8b579063478576e8fab02e3468a09dd03c
  786. System-wide sandboxing framework - sandbox-app-launcher.
  787. https://github.com/Kicksecure/sandbox-app-launcher/commit/133558cc97d3ee0523f555a53dfb2c9a1cd5daa8
  788. https://github.com/Kicksecure/sandbox-app-launcher/commit/a9a760071be1266157e989178e898d685a0de01a
  789. https://github.com/Kicksecure/sandbox-app-launcher/commit/83b68c672277269207e9bb0a0ca6b2e5a3517a33
  790. https://github.com/Kicksecure/sandbox-app-launcher/commit/cc319021ad289c78ffcde4889809f4757dac3840
  791. This is not an issue worth notifying users about.
  792. https://github.com/Kicksecure/sandbox-app-launcher/commit/1f181df1709b63e113397c94ea29b425d01d1b7f
  793. System-wide sandboxing framework - sandbox-app-launcher.
  794. https://github.com/Kicksecure/sandbox-app-launcher/commit/f176e5e5a2b3e0f621424472e9991544d8cd5172
  795. https://github.com/Kicksecure/sandbox-app-launcher/commit/392aabdb4f6c293f076ecc2c08e69db3f7441a92
  796. https://github.com/Kicksecure/sandbox-app-launcher/commit/2e5de688bfa7d280882f7f86ff502934b9b0cf6f
  797. https://github.com/Kicksecure/sandbox-app-launcher/commit/984d90dd15992e482c35bba701cc6fff770ab467
  798. https://github.com/Kicksecure/sandbox-app-launcher/commit/b818157203ff1ecba84e07e9565457db7153528a
  799. https://github.com/Kicksecure/sandbox-app-launcher/commit/e763f9122041800f15d5c4903701c3d7f7bf05b6
  800. https://github.com/Kicksecure/sandbox-app-launcher/commit/203f411b9201b7a3b8a78de5854bdbb73d32f7c2
  801. https://github.com/Kicksecure/sandbox-app-launcher/commit/29c44641b00aebb12450a7a153c8ba9059dfaf99
  802. https://github.com/Kicksecure/sandbox-app-launcher/commit/088e4a0170f817e99851db0a886cab9f2982fd92
  803. https://github.com/Kicksecure/sandbox-app-launcher/commit/c4fd64dcf572db1ba6dd10ae06da9bfd0c181e75
  804. https://github.com/Kicksecure/sandbox-app-launcher/commit/41a88bad2885b01e95c89c633bd5311636e58a6e
  805. https://github.com/Kicksecure/sandbox-app-launcher/commit/820aa9a2864281e2a2c842c101389edfa88f6940
  806. https://github.com/Kicksecure/sandbox-app-launcher/commit/12657eec166f8732fbc8fb45c4e50fcfc2a2b055
  807. https://forums.whonix.org/t/system-wide-sandboxing-framework-sandbox-app-launcher/9008/359
  808. https://github.com/Kicksecure/sandbox-app-launcher/commit/fd0469807144edfe69fe0dbe9579a3b94235453a
  809. A minimum unixtime timestamp is utilized so that if sdwdate onion services later provide false time information due to a bug or attack, the clock is never set to a much earlier date (like 1980) or an earlier date than the release date.
  810. https://forums.whonix.org/t/restrict-root-access/7658/1
  811. https://github.com/Kicksecure/security-misc/commit/74e39cbf690dae2bf72bd9f152ea91c364f5feff
  812. https://github.com/Kicksecure/security-misc/commit/97d8db3f74b9fc00c8f4416cb72966e62c7de88e
  813. https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880/58
  814. https://github.com/Kicksecure/security-misc/commit/6e759f9196412b1742db1e4c68a70867e1ad8629
  815. This does not necessarily belong in security-misc. However, it is likely security-misc will need to modify /etc/dkms/framework.conf in the future to enable kernel module signing.
  816. https://forums.whonix.org/t/linux-kernel-runtime-guard-lkrg-linux-kernel-runtime-integrity-checking-and-exploit-detection/8477/26
  817. https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880/58
  818. https://github.com/Kicksecure/security-misc/commit/e2afd00627b097f75467cd0e2fe7e15977141026
  819. From https://github.com/dell/dkms/blob/master/dkms_framework.conf and https://raw.githubusercontent.com/dell/dkms/master/dkms_framework.conf
  820. https://forums.whonix.org/t/enforce-kernel-module-software-signature-verification-module-signing-disallow-kernel-module-loading-by-default/7880/58
  821. https://github.com/Kicksecure/security-misc/commit/3ba3b371873d221db6845fb0fe52191b8b349b0a
  822. TCP ISN CPU Information Leaks can be used de-anonymize Tor onion services. tirdad fixes that.
  823. An analysis of TCP secure SN generation in Linux and its privacy issues
  824. Tirdad kernel module for random ISN generation
  825. Tor Project bug report: Add research idea for Linux TCP Initial Sequence Numbers may aid correlation
  826. Research paper: Hot or not: revealing hidden services by their clock skew
  827. Whonix ticket
  828. See CVE-2001-0797, using pam_access.
  829. See torbirdy deprecated - replacement required.
  830. This was ported from Tails to anon-apps-config by Whonix developer HulaHoop. Sincere appreciation is expressed to Tails for the torbirdy replacement!
  831. https://github.com/Whonix/onion-grater/commit/1fd8701dd6197b3325b83ad03bfd9ecedbcbdee6
  832. https://github.com/Kicksecure/helper-scripts/commit/7ad34f8c7594d0ddcce4be12a660e2d0463649b9
  833. https://github.com/Kicksecure/helper-scripts/commit/0ae844a0b26e8d03b41eccc9d37ec0124bce7587
  834. https://github.com/Kicksecure/helper-scripts/commit/a536530ad078e29381ff9ced69ec26b3b840c88b
  835. https://github.com/Whonix/derivative-maker/commit/9e6f38ed35132cd908bfa7f9408f1d74b389b2a9
  836. See forum thread: Whonix VirtualBox - failed to start - NS_ERROR_FAILURE (0x80004005) - The VM session was aborted. and the wiki: Failed to open a session for the virtual machine.
  837. https://github.com/Whonix/derivative-maker/commit/9e6f38ed35132cd908bfa7f9408f1d74b389b2a9
  838. It is speculated this setting might lead the to the issue High I/O causing filesystem corruption; unfortunately it is unavoidable and there is presently no other solution due to this VirtualBox host software bug. If it manifests, refer to the wiki link for possible workarounds.
  839. In earlier release updates, VirtualBox was upgraded to version 6.1.2; see Get VirtualBox from Debian sid and recompile for Debian buster
  840. Related: VirtualBox Guest Additions ISO Freedom vs Non-Freedom
  841. Quote VirtualBox manual:

    VMSVGA: Use this graphics controller to emulate a VMware SVGA graphics device. This is the default graphics controller for Linux guests.

  842. This has better desktop resolution in CLI (virtual terminal) mode. When it was previously disabled, this led to a black screen on 15.0.0.6.6 and 15.0.0.7.1.
  843. https://www.virtualbox.org/ticket/19500
  844. https://forums.whonix.org/t/enable-debian-stable-updates-repository-by-default/9382
  845. https://forums.whonix.org/t/consolidating-whonix-packages/1945
  846. https://forums.whonix.org/t/whonix-default-packages-review-mmdebstrap-varriant-related-risk-of-regressions/9254
  847. https://forums.whonix.org/t/onion-forum-site-redirects-to-clearnet/197/13
  848. https://forums.whonix.org/t/wiki-miss-offer-secure-connection-while-the-connection-over-onion/10349/7
  849. Mediawiki thinks the connection is insecure since it does not have internal concepts onion traffic. I am now sending http request X-Forwarded-Proto: https for onion to let mediawiki know that it’s a secure connection.

  850. https://forums.whonix.org/t/expect-ct-security-header-for-whonix-org/10286/3
  851. https://forums.whonix.org/t/url-with-no-onion-mirror/10341
  852. https://forums.whonix.org/t/no-clean-hsts-preload-dnssec/10255
  853. https://forums.whonix.org/t/dane-tlsa-dns-based-authentication-of-named-entities-for-whonix-org/10218/2
  854. https://forums.whonix.org/t/whonix-software-signature-verification-documentation-discussion-virtualbox-vs-kvm-gpg-signify-codecrypt/10043/22
  855. https://forums.whonix.org/t/discourse-reply-by-e-mail-broken/9650/3
  856. https://forums.whonix.org/t/uploaded-images-doesnt-show-up-after-creating-topic/5623
  857. This website is not yet public; a significant effort is required to rewrite the wiki for Kicksecure.
Notification image

We believe security software like Whonix needs to remain open source and independent. Would you help sustain and grow the project? Learn more about our 13 year success story and maybe DONATE!