I recently read over Bruce Schneier's article on setting up an air-gapped computer and am looking to improve my setup (compared to my current "use one Windows PC for everything" model). The main threat I want to protect against is getting hit with malware via a drive-by-download or e-mail attachment...and then having that malware send off sensitive data from my computer to hackers. I have a plan in my head and am hoping to get some feedback on it.
Note: I am looking only for security against remote attackers, not against people breaking into my house, attacking my WiFi network with a van full of antennas, etc. Also, anonymity is not a goal for me.
My plan is: Buy 2 new laptops. One will become the air-gapped machine and one will become the networked machine (used for web browsing, logging into e-mail servers, online banking, chat software, etc). Buy cheap ones that only have WiFi, and no cellular or bluetooth cards.
Air-gapped laptop setup:
- Before turning it on, open up the case and take out the WiFi card. Tape over the web cam.
- Install a linux distro via a DVD I've already burned (yes, I plan on going through the process of verifying the signature on the ISO and all that).
- Connect via ethernet to my router so I can get to the internet long enough to a) run the software updater and b) install gnupg2 and keepassx via apt-get.
- Disconnect it from ethernet and never connect to a network again.
- Generate a PGP key pair.
- Generate and store new strong passwords for my various web sites / e-mail accounts using keepassx.
Networked laptop setup:
- Tape up the web cam.
- Install the same linux distro via the DVD.
- Run the software updater.
- Install VirtualBox.
- Set up a linux VM and run the software updater on that.
- Try to harden the Firefox verison on the VM by tamping down the settings, installing NoScript, HTTPS Everywhere, etc.
- Take a snapshot of the VM.
Web browsing:
- Only browse the web using the VM (not the host OS).
- After each switch in context (from online banking to security research to personal e-mailing etc.) restore the VM to its last good snapshot.
- Run the software updater on the snapshot periodically and store that as the new good snapshot.
E-mailing:
- Use networked machine to retrieve people's public keys. Burn them to CD. Transfer CD to air-gapped machine. Compose and encrypt e-mails on air-gapped machine. Burn to CD and transfer to networked machine to send.
- When reading e-mails, use networked machine to retrieve the e-mails from servers and save them to text files. Burn the text files to CD and transfer to the air-gapped machine for decryption. Then repeat from step 1.
Important note: The only tasks that should be performed on the host OS on the networked machine would be:
- Running the software updater
- Running VirtualBox
- Transfering files to/from the virtual machine via the shared folder VirtualBox feature
- Burning CDs to be used by the air-gapped machine and reading CDs burned by the air-gapped machine.
My questions:
- Is there any particular linux distrubution that would be more resistant to malware coming from drive-by downloads or attachments?
- Are there known instances of malware tampering with the CD-burning process on a networked linux machine such that it can pass the infection to an airgapped linux machine? I realize that an infected air-gapped machine can burn extra data onto a CD (to be read later by malware on the networked machine). But my concern is specifically how malware might infect an air-gapped linux machine via a CD. Windows has its AutoRun vulnerabilities when a DVD or USB stick is inserted, but does linux have something simlar?
- In general, are there missing pieces to my plan or things that could be improved?
Thanks in advance!