This document outlines the required hardware components necessary to successfully install and operate a SecureDrop instance, and recommends some specific components that we have found to work well. If you have any questions, please email firstname.lastname@example.org.
For an installation of SecureDrop, you must acquire:
- 2 computers with memory and hard drives to use as the SecureDrop servers.
- Mouse, keyboard, monitor (and necessary dongle or adapter) for installing the servers.
- Dedicated physical computers for the Admin, Journalist, and Secure Viewing Station that can boot to Tails. At minimum this is 2 computers.
- Dedicated airgapped hardware for the mouse, keyboard, and monitor (only if you are using a desktop for the Secure Viewing Station).
- Network firewall.
- At least 3 ethernet cables.
- Plenty of USB sticks: 1 drive for the master Tails stick, 1 drive for each Secure Viewing Station, 1 drive for each Transfer drive, and 1 drive for each admin and journalist.
In the sections that follow, we provide additional details on each item.
These are the core components of a SecureDrop instance.
- Application Server: 1 physical server to run the SecureDrop web services.
- Monitor Server: 1 physical server which monitors activity on the Application Server and sends email notifications to an admin.
- Network Firewall: 1 physical computer that is used as a dedicated firewall for the SecureDrop servers.
An acceptable alternative that requires more technical expertise is to configure an existing hardware firewall.
We are often asked if it is acceptable to run SecureDrop on cloud servers (e.g. Amazon EC2, DigitalOcean, etc.) or on dedicated servers in third-party datacenters instead of on dedicated hardware hosted in the organization. This request is generally motivated by a desire for cost savings and/or convenience. However: we consider it critical to have dedicated physical machines hosted within the organization for both technical and legal reasons:
- While the documents are stored encrypted at rest (via PGP) on the SecureDrop Application Server, the documents hit server memory unencrypted (unless the source used the GPG key provided to encrypt the documents first before submitting), and are then encrypted in server memory before being written to disk. If the machines are compromised then the security of source material uploaded from that point on cannot be assured. The machines are hardened to prevent compromise for this reason. However, if an attacker has physical access to the servers either because the dedicated servers are located in a datacenter or because the servers are not dedicated and may have another virtual machine co-located on the same server, then the attacker may be able to compromise the machines. In addition, cloud servers are trivially accessible and manipulable by the provider that operates them. In the context of SecureDrop, this means that the provider could access extremely sensitive information, such as the plaintext of submissions or the encryption keys used to identify and access the Tor Hidden Services.
- In addition, attackers with legal authority such as law enforcement agencies may (depending on the jurisdiction) be able to compel physical access, potentially with a gag order attached, meaning that the third party hosting your servers or VMs may be legally unable to tell you that law enforcement has been given access to your SecureDrop servers.
One of the core goals of SecureDrop is to avoid the potential compromise of sources through the compromise of third-party communications providers. Therefore, we consider the use of virtualization for production instances of SecureDrop to be an unacceptable compromise and do not support it. Instead, dedicated servers should be hosted in a physically secure location in the organization itself. While it is technically possible to modify SecureDrop’s automated installation process to work on virtualized servers (for example, we do so to support our CI pipeline), doing so in order to run it on cloud servers is at your own risk and without our support or consent.
SecureDrop depends on the Tails operating system for its bootable USB drives. Since the release of Tails 3.0, 32-bit computers are no longer supported.
To see if you have a 64-bit machine, run
uname -m from a terminal. If you
x86_64, then Tails should work on your current machine. If, on the
other hand, you see
i686, your current machine will not work with Tails
3.0 or greater. For more details, see the Tails website.
These components are necessary to do the initial installation of SecureDrop and to process submissions using the air-gapped workflow.
Secure Viewing Station (SVS)¶
1 physical computer used as an air-gap to decrypt and view submissions retrieved from the Application Server.
The chosen hardware should be solely used for this purpose and should have any wireless networking hardware removed before use.
At least 1 physical computer that is used as a workstation for SecureDrop admins and/or journalists.
Each Admin and Journalist will have their own bootable Tails USB with an encrypted persistent partition that they will use to access SecureDrop. You will need at least one workstation to boot the Tails USBs, and may need more depending on: the number of admins/journalists you wish to grant access to SecureDrop, whether they can share the same workstation due to availability requirements, geographic distribution, etc.
At least 2 USB drives to use as a bootable Tails USB for the SVS and the Admin Workstation/Journalist Workstation.
If only one person is maintaining the system, you may use the same Tails instance as both the Admin Workstation and the Journalist Workstation; otherwise, we recommend buying 1 drive for each admin and each journalist.
We also recommend buying two additional USBs to use as bootable backups of the SVS and Admin Workstation.
Two-factor authenticator: Two-factor authentication is used when connecting to different parts of the SecureDrop system. Each admin and each journalist needs a two-factor authenticator. We currently support two options for two-factor authentication:
- Your existing smartphone with an app that computes TOTP codes (e.g. FreeOTP for Android and for iOS).
- A dedicated hardware dongle that computes HOTP codes (e.g. a YubiKey).
We recommend using FreeOTP (available for Android and for iOS) to generate two-factor authentication tokens because it is Free Software. However, if it does not work for you for any reason, alternatives exist:
Transfer Device(s): You need a mechanism to transfer encrypted submissions from the Journalist Workstation to the SVS to decrypt and view them. The most common transfer devices are DVD/CD-R discs and USB drives.
From a security perspective, it is preferable to use write-once media such as DVD/CD-R discs because it eliminates the risk of exfiltration by malware that persists on the Transfer Device (e.g. BadUSB).
On the other hand, using write-once media to transfer data is typically inconvenient and time-consuming. You should consider your threat model and choose your transfer device accordingly.
Monitor, Keyboard, Mouse: You will need these to do the initial installation of Ubuntu on the Application and Monitor Servers.
Depending on your setup, you may also need these to work on the SVS.
If you cannot afford to purchase new hardware for your SecureDrop instance, we encourage you to consider re-purposing existing hardware to use with SecureDrop. If you are comfortable working with hardware, this is a great way to set up a SecureDrop instance for cheap.
Since SecureDrop’s throughput is significantly limited by the use of Tor for all connections, there is no need to use top of the line hardware for any of the servers or the firewall. In our experience, relatively recent recycled Dell desktops or servers are adequate for the SecureDrop servers, and recycled ThinkPad laptops work well for the Admin Workstation/Journalist Workstation.
If you choose to use recycled hardware, you should of course consider whether or not it is trustworthy; making that determination is outside the scope of this document.
This hardware is not required to run a SecureDrop instance, but most of it is still recommended.
It is often useful to print submissions from the Secure Viewing Station for review and annotation.
To maintain the integrity of the air-gap, this printer should be dedicated to use with the Secure Viewing Station, connected via a wired connection, and should not have any wireless communication capabilities.
The SVS is booted from a Tails USB drive, which has an encrypted persistent volume but typically has a fairly limited storage capacity since it’s just a USB drive. For installations that expect to receive a large volume of submissions, we recommend buying an external hard drive that can be encrypted and used to store submissions that have been transferred from the Application Server to the SVS.
It’s useful to run periodic backups of the servers in case of failure. We recommend buying an external hard drive that can be encrypted and used to store server backups.
Since this drive will be connected to the Admin Workstation to perform backups, it should not be the same drive used for Offline Storage.
If your firewall has fewer than four NICs, you will need an additional Ethernet switch to perform installation and maintenance tasks with the Admin Workstation. This switch is generally useful because it allows you to connect the Admin Workstation to your firewall’s LAN port without taking down either of the SecureDrop servers.
As you have probably noticed by now, a SecureDrop installation has a plethora of components. Some of these components can be hard to tell apart; for example, if you buy 3 of the same brand of USB sticks to use for the Admin Workstation, Journalist Workstation, and Secure Viewing Station, they will be indistinguishable from each other unless you label them. We recommend buying some labeling equipment up front so you can label each component as you provision it during the installation process.
There is a multitude of options for labeling equipment. We’ve had good results with small portable labelmakers, such as the Brother P-Touch PT-210 or the Epson LabelWorks LW-300. We like them because they produce crisp, easy-to-read labels, and it’s easy to customize the size of the label’s text, which is great for clearly labeling both large components (like computers) and small components (like USB sticks).
If you do not have a label maker available but have an inkjet printer available to you, it may also be possible to print and cut out labels using adhesive-backed paper and some scissors. These are some labels designed by our team which may be used for labeling:
Specific Hardware Recommendations¶
Application and Monitor Servers¶
We currently recommend the Intel NUC for SecureDrop servers.
If using non-recommended hardware, ensure you remove as much extraneous hardware as physically possible from your servers. This could include: speakers, cameras, microphones, fingerprint readers, wireless, and Bluetooth cards.
Intel 7th-gen NUC¶
The Intel NUC (Next Unit of Computing) is an inexpensive, quiet, low-power device that can be used for the SecureDrop servers. There are a variety of models to choose from.
The NUCs typically come as kits, and some assembly is required. You will need to purchase the RAM and hard drive separately for each NUC and insert both into the NUC before it can be used. We recommend:
- 2x 240GB SSDs (2.5”)
- 1x memory kit of compatible 2x4GB sticks - You can put one 4GB memory stick in each of the servers.
We have tested and can recommend the NUC7i5BNH - these tend to be readily available in retail stores.
The NUC7i5BNH has soldered-on wireless components, which cannot easily be removed. For security reasons, we recommend that you take the following steps to disable wireless functionality:
- before installation of the RAM and storage, disconnect the wireless antennae leads.
- before the initial OS installation, boot into the BIOS by pressing F2 at startup, navigate to Advanced > Devices > Onboard Devices, and disable unwanted hardware - everything except LAN.
Other 7th-generation NUCs have also been reported to work, although we have not tested them. For example, the NUC7i5DNHE uses the same Ethernet chipset as the NUC7i5BNH, and also has a removable wireless card, simplifying the server setup process. However, it may be harder to find a retail source for this model.
Previous Server Recommendations¶
Intel 5th-gen NUC¶
We previously recommended the NUC5i5MYHE, however, it has now reached end-of-life. We will continue to support and test SecureDrop on this hardware, but if you are building a new SecureDrop instance we recommend using 7th-generation NUCs instead.
The NUC5i5MYHE supports wireless through optionally-purchased expansion cards. This means the wireless components aren’t soldered on which would make them nearly impossible to remove without inflicting damage to the NUC. This optional support is preferable, since you want neither WiFi nor Bluetooth.
If you encounter issues booting Ubuntu on the NUCs, try updating the BIOS according to these instructions.
2014 Mac Minis¶
We previously recommended the 2014 Apple Mac Minis (part number MGEM2) for installing SecureDrop. These will soon be officially obsolete. Unfortunately the 2018 revision of the Mac Mini is not a viable candidate for use with SecureDrop, as security features of the device prevent Linux from being installed on its internal storage. We will continue to support existing instances using 2014 Mac Minis, but if you are building a new instance we recommend using the 7th-gen Intel NUCs.
2014 Mac Minis have removable wireless cards that you should remove. This requires a screwdriver for non-standard TR6 Torx security screws.
However, on the first install of Ubuntu Server the Mac Minis will not boot: this is a known and documented issue. The workaround requires a one-time modification after you install Ubuntu but before you move on to install SecureDrop. After Ubuntu is installed, for each Mac Mini you should:
Connect your Ubuntu installation media (USB drive or CD)
Boot your Mac Mini while holding down the Option key.
Select EFI Boot and select Rescue a broken system at the Ubuntu install screen.
Accept the default options for the install steps until you get to Device to use as root file system.
At the Device to use as root file system prompt, select
/dev/app-vg/rootfor the monitor and application servers respectively.
Select to mount the separate
Select Execute a shell in
/dev/app-vg/root) and select Continue.
You should now be at a rescue Linux shell. Type
efibootmgr, and you should see the following:
BootCurrent: 0000 Timeout: 5 seconds BootOrder: 0080 Boot0000* ubuntu Boot0080* Mac OS X BootFFFF*
efibootmgr -o 00.
efibootmgr. This time you should see the following:
BootCurrent: 0000 Timeout: 5 seconds BootOrder: 0000 Boot0000* ubuntu Boot0080* Mac OS X BootFFFF*
Select Reboot the system and remove the installation media. Your server should now boot to Ubuntu by default.
Journalist Workstation and Admin Workstation¶
Both the Journalist Workstation and the Admin Workstation must be compatible with the Tails operating system. Compare any hardware you want to procure or allocate for this purpose against the list of known issues maintained by the Tails project, but please be advised that the list is far from exhaustive.
We advise against using Macs, as there are many Tails compatibility issues both with older and with newer models. Instead, we recommend the ThinkPad T series, and have had good experiences specifically with the T420 and T440. The ThinkWiki is an excellent, independently maintained resource for verifying general Linux compatibility of almost any ThinkPad model.
For any Tails workstation, we recommend at least 8GB of RAM.
Secure Viewing Station (SVS)¶
The Secure Viewing Station is a machine that is kept offline and only ever used together with the Tails operating system. This machine will be used to generate the GPG keys used by SecureDrop to encrypt submissions, as well as decrypt and view submissions. Since this machine will never touch the Internet or run an operating system other than Tails, it does not need a hard drive or network device; in fact, we recommend removing these components if they are already present.
As with the workstations, one good option is to buy a Linux-compatible laptop from the Lenovo ThinkPad T series. We have tested the T420 and successfully removed the wireless components with ease. It’s possible to re-purpose old laptops from other manufacturers, as long as the wireless components are removable.
Just as with the servers, you can also use an Intel NUC for the SVS. As noted before, NUCs do not ship with a hard drive, and can be configured without any wireless components, so you’ll save time by not having to remove these, since they won’t be present. However, NUCs do contain an IR receiver, which we recommend taping over with opaque masking tape.
If you choose to use an Intel NUC that differs from our recommended model, make sure you use one that offers wireless as an option. If the model is advertised as having “integrated wireless”, such as the NUC5i5RYK, this could mean it’s built into the motherboard, making it physically irremovable, and attempting to do so would risk damaging the unit; instead, look for attributes like M.2 22×30 slot and wireless antenna pre-assembled (for wireless card support), as advertised by the NUC5i5MYHE that we recommend.
Tails no longer supports 32-bit computers. Please see the note in the Workstations section for more details.
We strongly recommend getting USB 3.0-compatible drives to run Tails from. The transfer speeds are significantly faster than USB 2.0, which means a live operating system booting from one will be much faster and more responsive.
You will need at least an 8GB drive to run Tails with an encrypted persistent partition. We recommend getting something in the 16-64GB range so you can handle large amounts of submissions without hassle. Anything more than that is probably overkill.
If you are using USBs for the transfer device, the same general recommendations for the Tails USBs also apply. One thing to consider is that you are going to have a lot of USB drives to keep track of, so you should consider how you will label or identify them and buy drives accordingly. Drives that are physically larger are often easier to label (e.g. with tape, printed sticker or a label from a labelmaker).
If you are using DVD/CD-R’s for the transfer device, you will need two DVD/CD writers: one for burning DVDs from the Journalist Workstation, and one for reading the burned DVDs on the SVS. We recommend using two separate drives instead of sharing the same drive to avoid the potential risk of malware exfiltrating data by compromising the drive’s firmware. We’ve found the DVD/CD writers from Samsung and LG to work reasonably well, you can find some examples here.
Finally, you will need a stack of blank DVD/CD-R’s, which you can buy anywhere.
We recommend the pfSense SG-3100. It has 3 NICs and an internal switch, increasing the number of available ports to 6.
This is optional, for people who are using a firewall with less than 4 ports. Any old switch with more than 3 ports will do, such as the 5-port Netgear ProSafe Ethernet Switch.
Careful consideration should be given to the printer used with the SVS. Most printers today have wireless functionality (WiFi or Bluetooth connectivity) which should be avoided because it could be used to compromise the air-gap.
Unfortunately, it is difficult to find printers that work with Tails, and it is increasingly difficult to find non-wireless printers at all. To assist you, we have compiled the following partial list of air-gap-safe printers that have been tested and are known to work with Tails:
|Printer Model||Testing Date||Tails Versions||Printer Type|
|HP DeskJet F4200||06/2017||3.0||Color Inkjet|
|HP DeskJet 1112||06/2017||3.0||Color Inkjet|
|HP DeskJet 1110||08/2017||3.1||Color Inkjet|
|HP LaserJet 400 M401n||06/2015||1.4||Monochrome Laser|
|HP DeskJet 6940||04/2015||1.3.2||Monochrome Injket|
We’ve documented both the HP DeskJet F4200 and HP LaserJet 400 M401n with screenshots of the installation process, in our section on Setting Up a Printer in Tails. While the F4200 installed automatically, the 400 M401n required that we set “Make and model” to “HP LaserJet 400 CUPS+Gutenprint v5.2.9” when manually configuring the drivers.
If you know of another model of printer that fits our requirements and works with Tails, please submit a pull request to add it to this list.
Monitor, Keyboard, Mouse¶
We don’t have anything specific to recommend when it comes to displays. You should make sure you know what monitor cable you need for the servers, since you will need to connect them to a monitor to do the initial Ubuntu installation.
You should use a wired (USB) keyboard and mouse, not wireless.