mirror of
https://0xacab.org/anarsec/anarsec.guide.git
synced 2025-06-08 14:52:54 -04:00
more md formatting
This commit is contained in:
parent
b6bbc36b6f
commit
11986c34cb
10 changed files with 237 additions and 88 deletions
|
@ -17,6 +17,7 @@ As an anarchist, you've probably heard the recommendation to use a Linux compute
|
|||
<!-- more -->
|
||||
|
||||
# What is Linux, and Why Use It?
|
||||
|
||||
If you are reading this, you probably use either Windows or macOS on your computer. These are both [operating systems](/glossary#operating-system-os), meaning the system software that runs your device. They are also both 'closed-source', meaning that the software '*source* code' is *closed* to the public, and so can't be inspected for privacy and security. Windows and macOS computers are sending your data to Microsoft and Apple, and you can't trust their [Full-Disk Encryption](/glossary#full-disk-encryption-fde) to protect your data if the computer is being [physically accessed](/glossary/#physical-attacks) (like after a [house raid](https://www.csrc.link/threat-library/techniques/house-raid.html)).
|
||||
|
||||
Linux is a set of operating systems which are [open-source](/glossary#open-source), which means that the *source* code can be analyzed by anyone. Linux is the name for the core (**kernel**) of the operating system, and many different **distributions** (or 'distros') are based on it. Simply put, *Linux is the only type of computer that anarchists can put any trust in*.
|
||||
|
@ -24,14 +25,17 @@ Linux is a set of operating systems which are [open-source](/glossary#open-sourc
|
|||
Linux distributions that anarchists are likely to have heard of are Debian, Ubuntu and Tails. Each different Linux distribution makes different choices about how to manage software, what kernel version to use, etc. In fact, both Ubuntu and Tails are adaptations of Debian for the specific use cases of being user-friendly (Ubuntu) and providing default anonymity (Tails).
|
||||
|
||||
# How Software Works
|
||||
|
||||
In Linux, the term for an application is a **package**. Rather than downloading applications from various websites on the Internet (like in Windows and macOS), a Linux distribution will have a centralized **repository** where the software lives. This has the benefit that the integrity of the software is verified by the distribution, and it is guaranteed to work with that Linux distribution. It is still possible to install software from outside of a distro's repository, but it is generally considered to be riskier and verifying the integrity is your responsibility. Installing a package requires knowing its name, and all packages in a repository can be browsed through a web browser for [Debian](https://www.debian.org/distrib/packages#search_packages) as well as [Fedora](https://packages.fedoraproject.org/).
|
||||
|
||||
How do you actually install from the software repository? Each distribution also has a **package manager**, which is an application which installs software from a software repository. Debian, and distributions based on it, use the `apt` package manager. In some distributions, it is possible to install software with a Graphical User Interface (GUI) that is using the package manager in the background, like the [Synaptic Package Manager](https://tails.boum.org/doc/persistent_storage/additional_software/index.en.html#index3h1) in Tails.
|
||||
|
||||
# Software Alternatives
|
||||
|
||||
Part of the learning curve to Linux is figuring out what open-source software to use, instead of the closed-source options you will be familiar with from Windows and macOS. For example, instead of using Microsoft Word, you can use LibreOffice. An application being open-source is an essential criteria, but is insufficient to be considered secure. For example, Telegram advertises itself as being open-source, but the servers are not open-source and the cryptography is [trash](https://buttondown.email/cryptography-dispatches/archive/cryptography-dispatches-the-most-backdoor-looking/). The list of [included software for Tails](https://tails.boum.org/doc/about/features/index.en.html#index1h1) will cover many of your needs with reputable choices.
|
||||
|
||||
# The Command Line Interface
|
||||
|
||||
The dreaded [command line](/glossary/#command-line-interface-cli)! What even is it? You are used to interacting with applications through a **Graphical User Interface (GUI)**, which means through pointing and clicking buttons with your mouse. Some applications can also be interacted with through a **Command Line Interface (CLI)**, which is textual. Many applications will be available in both CLI and GUI versions.
|
||||
|
||||
For example, navigating the contents of your computer with the File Manager GUI is pretty standard - you click on a folder (called a *directory* in Linux), and it opens. The same navigation around the file system is also possible from the CLI.
|
||||
|
@ -54,10 +58,10 @@ The [Qubes](/tags/qubes/) installation requires the same commands (during the [v
|
|||
* `apt install <PACKAGE_NAME>`: this installs packages on Debian
|
||||
* `dnf install <PACKAGE_NAME>`: this installs packages on Fedora
|
||||
|
||||
|
||||
If you ever don't understand what a command is meant to do, try searching [explainshell](https://explainshell.com/) for it.
|
||||
|
||||
## GPG Explanation
|
||||
|
||||
Using `gpg` during the installation of Tails or Qubes OS will be less confusing if you understand how it works.
|
||||
|
||||
First, some points of clarification. PGP and GPG are terms that can be used interchangeably; PGP (Pretty Good Privacy) is the encryption standard, and GPG (GNU Privacy Guard) is a program that implements it. PGP/GPG is also used for encrypted email communication ([though we don't recommend it](/posts/e2ee/#pgp-email)), but we are using it here exclusively to verify the integrity and authenticity of files.
|
||||
|
@ -68,13 +72,13 @@ Now you need to understand the very basics of public-key cryptography. [This Com
|
|||
|
||||
Tails and Qubes OS sign their releases, and only they can do this because only they possess their private key. However, I can verify that this signature is valid by having a copy of their public key. Now let's walk through the [Tails verification instructions](https://tails.boum.org/install/expert/index.en.html), which is less convoluted than the [Qubes OS equivalent](https://www.qubes-os.org/security/verifying-signatures/).
|
||||
|
||||
**Step: Create a Key-Pair**
|
||||
### Step: Create a Key-Pair
|
||||
|
||||
Tails recommends this [Riseup guide](https://riseup.net/en/security/message-security/openpgp/gpg-keys#using-the-linux-command-line) to generate a key-pair.
|
||||
|
||||
* `gpg --gen-key` will prompt you for some configuration options and then generate your key-pair.
|
||||
|
||||
**Step: Verify the Tails public key**
|
||||
### Step: Verify the Tails public key
|
||||
|
||||
* `gpg --import < tails-signing.key` imports the Tails public key into your keyring, so that it can be used.
|
||||
* `gpg --keyring=/usr/share/keyrings/debian-keyring.gpg --export chris@chris-lamb.co.uk | gpg --import` imports a Debian developer's public key into your keyring, so that it can be used.
|
||||
|
@ -83,13 +87,14 @@ Tails recommends this [Riseup guide](https://riseup.net/en/security/message-secu
|
|||
|
||||
Now we know that we have a genuine version of the Tails public key. `gpg` also knows this because we have decided to certify it.
|
||||
|
||||
**Step: Verify your downloaded Tails .img file**
|
||||
### Step: Verify your downloaded Tails .img file
|
||||
|
||||
* `TZ=UTC gpg --no-options --keyid-format long --verify tails-amd64-5.10.img.sig tails-amd64-5.10.img` allows you to verify that the .img file is signed how it should be, by examining the output as instructed.
|
||||
|
||||
Now we know that we have a genuine version of the Tails .img file, so can proceed to install it to a USB.
|
||||
|
||||
# Going Further
|
||||
|
||||
If you'd like to learn more about Linux, we recommend:
|
||||
|
||||
* The rest of the Tech Learning Collective's [Foundations](https://techlearningcollective.com/foundations/) exercises will give you a much more comprehensive foundation than what you need to use Qubes or Tails.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue