Syllabus

8 modules, 32 lessons, 12 labs. The modules are meant to be done in order.

1Threat models first

Decide what you are protecting before you touch a tool. Most bad setups are good tools aimed at the wrong problem.

  1. 1.1 What you are protecting, and from whom Assets, adversaries, and what happens if you lose.
  2. 1.2 Privacy, anonymity, security Three different problems that people treat as one.
  3. 1.3 What actually leaks IP addresses, DNS, metadata, fingerprints, and habits.
  4. 1.4 Writing your threat model A one-page document you will revisit at the end of the course. [lab]

2Tor, as far as you need it

Enough of the protocol to reason about what Whonix does and what it cannot do.

  1. 2.1 Circuits and relays What the entry, middle, and exit relay each know.
  2. 2.2 Exit relays and unencrypted traffic Where your traffic leaves Tor, and who can read it there.
  3. 2.3 Onion services Connections that never leave the Tor network.
  4. 2.4 What Tor does not do The failure modes the rest of the course is built around.

3How Whonix is built

Understand the design well enough to predict how it behaves, rather than following steps.

  1. 3.1 Gateway and Workstation Two virtual machines, one isolated network between them. [lab]
  2. 3.2 Why isolation, not just configuration The difference between asking an app not to leak and making sure it can't.
  3. 3.3 The user and sysmaint sessions Why sudo says permission denied, and why that is intended.
  4. 3.4 Choosing a platform VirtualBox, KVM, or Qubes, and how to decide.

4Install and verify

Get a working lab and prove to yourself that it behaves the way you think it does.

  1. 4.1 Preparing the host Hardware virtualization, memory, and disk.
  2. 4.2 Downloading and verifying images Checking a signature, and knowing what the check does and doesn't tell you. [lab]
  3. 4.3 First boot Bringing up the Gateway and connecting to Tor. [lab]
  4. 4.4 Connecting from restrictive networks Bridges and pluggable transports, for networks where a direct Tor connection fails.
  5. 4.5 Updates and snapshots A maintenance routine you will actually keep. [lab]

5Daily work

Use the system for real tasks without quietly undoing its protections.

  1. 5.1 Tor Browser on the Workstation Why the defaults matter, and why customising makes you stand out.
  2. 5.2 Installing software Adding tools without weakening the setup.
  3. 5.3 Stream isolation Keeping different applications off the same circuit. [lab]
  4. 5.4 Moving files in and out The boundary between host and guest is where mistakes happen. [lab]
  5. 5.5 Time and sdwdate Clocks are an identifier too.

6Compartments

Keep separate activities separate, including when you are tired and in a hurry.

  1. 6.1 Multiple Workstations One Gateway, several isolated work environments. [lab]
  2. 6.2 Qubes-Whonix and disposables Throwaway environments for untrusted material.
  3. 6.3 Keeping identities apart Most identity links come from behaviour rather than from network failures.
  4. 6.4 Writing your own procedures Checklists for the steps you can't afford to get wrong. [lab]

7Onion services for your own work

Run a small service, such as a contact point for sources, on infrastructure you control.

  1. 7.1 Hosting an onion service The Tor configuration lives on the Gateway, and the service runs on the Workstation. [lab]
  2. 7.2 Client authorization and keys Restricting who can reach the service, and protecting its identity.
  3. 7.3 Keeping a service running The maintenance that is easy to forget.

8Review your own setup

Test the lab you built, and return to the threat model from module 1.

  1. 8.1 Auditing your lab Check what your setup does against what you expect it to do. [lab]
  2. 8.2 How setups fail in practice A tour of the common mistakes, most of them not technical.
  3. 8.3 Final review Update your threat model and document your configuration. [lab]

Apply for the course →