-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add sections about post-install configuration, clipboard access
Also updates FAQ
- Loading branch information
Showing
4 changed files
with
134 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
Managing Clipboard Access | ||
========================= | ||
|
||
.. include:: ../includes/top-warning.rst | ||
|
||
Every VM in Qubes has its own clipboard, similar to the clipboard of a Mac, Windows or Linux computer. For example, if you wanted to create a boilerplate "Thank you" message for replies to sources, you could create a textfile in the ``sd-app`` VM and copy its contents to the SecureDrop Client using ``Ctrl+C`` (copy) and ``Ctrl+V`` (paste) keyboard shortcuts. | ||
|
||
Qubes also supports copying information *between* VMs. This is done by using `special keyboard shortcuts <https://www.qubes-os.org/doc/copy-paste/>`_, ``Ctrl+Shift+C`` and ``Ctrl+Shift+V``, in a four-step process. By default, this is disabled for all VMs that are part of SecureDrop Workstation. There are three primary reasons for this: | ||
|
||
1. It is dangerous to copy untrusted content *into* a secure environment. What looks like plain text may contain character sequences that exploit security vulnerabilities in the target environment. | ||
2. The four-step process described above can be difficult to follow, and it is easy to make an operational mistake, such as pasting the wrong content into a message to a source. | ||
3. SecureDrop Workstation aims to minimize the `attack surface <https://en.wikipedia.org/wiki/Attack_surface>`__ adversaries can target to exfiltrate information. For example, if the clipboard implementation in Qubes OS itself contained a security vulnerability, an adversary could attempt to exploit that vulnerability to shuttle a message sent by a source from the networkless ``sd-app`` VM to a networked VM. | ||
|
||
With these considerations in mind, there are use cases where clipboard access may be an important part of your regular use of SecureDrop Workstation. For example: | ||
|
||
- You may want to copy passwords from a password manager to the SecureDrop Client; | ||
- You may want to copy a message you received via SecureDrop into a secure messaging app like Signal, to share it with another journalist. | ||
|
||
To support these use cases, SecureDrop Workstation allows you to grant granular access to the ``sd-app`` clipboard (via the cross-VM clipboard) to selected VMs. | ||
|
||
Configuring clipboard access to ``sd-app`` | ||
------------------------------------------ | ||
|
||
The process for setting up a password manager and permitting the one-directional copying of passwords to the SecureDrop Client is :ref:`outlined in the installation docs <Password Management Section>`. In general, clipboard access to SecureDrop Workstation VMs is governed by *tags* that can be applied in ``dom0`` to selected VMs: | ||
|
||
- the tag ``sd-send-app-clipboard`` can be used to tag a VM that should be able to send its clipboard contents *to* ``sd-app`` via the cross-VM clipboard; | ||
- the tag ``sd-receive-app-clipboard`` can be used to tag a VM that should be able to receive is clipboard contents *from* ``sd-app`` via the cross-VM clipboard. | ||
|
||
You can configure these tags for a given VM by opening a terminal in ``dom0`` and issuing a command like the following: | ||
|
||
.. code-block:: sh | ||
qvm-tags <VM name> add <tag name> | ||
So, for example, if you had a VM for the Signal messenger called ``signal`` and you wanted to copy messages *from* the SecureDrop Client *to* Signal, you would issue the following command: | ||
|
||
.. code-block:: sh | ||
qvm-tags signal add sd-receive-app-clipboard | ||
The syntax for revoking a tag is as follows: | ||
|
||
.. code-block:: sh | ||
qvm-tags <VM name> del <tag name> | ||
Changes to tags take effect immediately, and any VM can have multiple tags. | ||
|
||
.. important:: | ||
|
||
Make sure you fully understand technical and operational security risks before permitting clipboard access to any VM. The "send" and "receive" tags are separate so you can set up only the clipboard direction you need to support a given use case. | ||
|
||
We recommend adding a note about any changes to the clipboard configuration to your internal documentation for SecureDrop. If you are unsure how to configure the clipboard to support a specific use case, please do not hesitate to contact us for assistance. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters