Whonix

来自 ArchWiki

Whonix 是一个为高级安全性和隐私而设计的桌面操作系统设置。本页介绍了 Arch 用户如何使用 Whonix 网关通过 Tor 路由所有流量,并从下述的分区隔离中获得许多其他安全优势。

Whonix 和 Tor 的背景知识

Whonix 设置的工作原理是将两个独立的操作系统分区隔离在两个独立的虚拟机中运行,以提高安全性,同时通过 Tor 路由所有流量。这种更高的安全模型 提供了若干好处

  • 只允许通过 Tor 的连接。
  • 服务器可以运行,应用程序也可以通过互联网匿名使用。
  • DNS 泄露是不可能的。
  • 具有 root 权限的恶意软件无法发现用户的真实 IP 地址。
  • 行为不端的应用程序和用户错误造成的威胁被最小化。

Whonix wiki 提供了许多具体的攻击和软件缺陷示例,这些示例通常会造成安全和/或隐私问题,但会被这种分区隔离模型所阻止。它还描述了该模型可能仍然失效的地方,因此理解该页面非常重要。

第一个操作系统是“工作站”,是您执行日常任务的操作系统。第二个是“网关”,它强制将工作站的所有流量通过 Tor 路由,同时提供上面列出的额外安全优势。

主要的 Whonix 团队提供了基于 Debian 的网关和工作站,但 Arch 用户可能会喜欢使用 Arch 作为其主要工作站操作系统。本页介绍了如何实现这一点。

下载和安装 Whonix 网关

您不会将网关用于日常任务。它仅用于将您的工作站活动与互联网隔离,同时通过 Tor 路由所有流量。

下载并安装 Whonix 网关

转到 Whonix VirtualBox 页面,使用可用的下载选项之一下载“Whonix-Gateway”,然后使用该页面上描述的方法之一验证下载。确保您也安装了 VirtualBox

接下来,通过转到文件 > 导入虚拟电脑 > Whonix-Gateway-<version>.ova,在 VirtualBox 中导入 Whonix-Gateway,选择刚下载的网关文件,然后同意描述使用 Whonix 的系统要求和安全注意事项的条件。按照先前链接的 Whonix 下载页面上提供的说明进行操作可能会有所帮助。还有 视频教程 演示此过程。

安装完虚拟电脑后,使用启动图标启动网关。

更新 Whonix 网关

在我们启动 Arch 之前,我们需要同意条款并确保我们的 Whonix 网关拥有所有最新的安全补丁。与上面导入虚拟电脑一样,您必须同意的条款声明您理解运行 Whonix 的安全注意事项。启动网关后,同意这些条款,声明您打算使用稳定存储库,并选中“我已准备好启用 TOR”。之后,打开终端。它将向您显示有关如何以 root 用户或普通用户身份登录的信息。

以 root 用户身份登录到此终端并运行

# apt-get update
# apt-get dist-upgrade

然后重启您的 Whonix 网关。重启后,打开终端,这次以普通用户身份登录。运行 whonix 检查

$ whonixcheck

您也可以运行 nyx

$ nyx

以监控通过网关的流量。

将 Arch 安装为 Whonix 工作站

在 VirtualBox 中启动 Arch

安装 Whonix-Gateway 后,并在网关运行时,在单独的 VirtualBox 实例中安装 Arch 实例。此安装过程与正常安装过程相同,除了下面描述的几个重要步骤外,因此应遵循安装指南

创建 Arch 实例后,在启动之前,需要选择三个重要的设置。首先,网络必须指向正在运行的 Whonix 网关。为此,选择设置 > 网络 > 连接到 > 内网 > Whonix 以选择通过 Whonix 的网络连接。

另外,最好启用 PAE,因此选择设置 > 系统 > 处理器 > 扩展特性 > 启用 PAE/NX

最后,通过转到设置 > 存储 > 空 > 光驱 > 选择虚拟光盘文件 > archlinux-<version>.iso,选择您下载的 Arch 安装 iso 作为启动存储。

选择这三个设置后,启动您的 Arch VirtualBox 实例。

在 Arch 安装期间连接到互联网

本文或章节需要改进语言、wiki 语法或风格。请参阅 Help:Style 以供参考。

原因: 重复 网络配置。(在 Talk:Whonix 中讨论)

当通过 Whonix 网关将非预设工作站连接到互联网时,必须手动设置一些设置如此处所述。地址必须设置为 10.152.152.50,子网掩码设置为 255.255.192.0,网关设置为 10.152.152.10,名称服务器设置为 10.152.152.10。首先,通过运行找到您的接口

# ip a

并查找您的以太网接口。类似 eth0 或 enp0s3 很常见。接下来,使用以下命令停用接口

# ip link set interface down

其中 interface 替换为上面找到的接口名称。接下来,我们必须配置静态网络连接以使用上面显示的值。也许最简单的方法是复制静态示例文件

# cp /etc/netctl/examples/ethernet-static /etc/netctl/whonix

然后将该文件的内容替换为

/etc/netctl/whonix
Description='Whonix static ethernet connection'
Interface=enp0s3
Connection=ethernet
IP=static
Address=('10.152.152.50/18')
Gateway='10.152.152.10'

您应该在其中使用找到的 interface 替换 enp0s3。/18 是上述子网掩码的 CIDR 表示法。然后编辑 /etc/resolv.conf

/etc/resolv.conf:
nameserver 10.152.152.10

然后编辑 /etc/environment 以防止潜在的 Tor over Tor 问题

/etc/environment
TOR_SKIP_LAUNCH=1
TOR_NO_DISPLAY_NETWORK_SETTINGS=1
TOR_SKIP_CONTROLPORTTEST=1

现在启用 Whonix 网络连接

# netctl start whonix

并重新启动您的接口

# ip link set interface up

再次将 interface 替换为您的接口。接下来,使用以下命令确认地址 10.152.152.50/18 现在是否显示在您的接口下

# ip a

如果检查通过,请尝试加载您喜欢的网站,例如

# lynx www.google.com

如果 lynx 成功加载网站,则互联网通过 Whonix 工作。如上所述在网关中运行“nyx”将进一步确认数据包正在通过网关发送。

将文件映射到您的 arch-chroot 安装环境

编辑完这些文件并且您的互联网可以工作后,继续正常的 Arch 安装过程。准备驱动器、格式化等。然后在运行 pacstrap 之后,但在 arch-chroot 进入您的安装 chroot 之前,您需要将上面创建的文件复制过来。

# cp /etc/netctl/whonix /mnt/etc/netctl/whonix
# cp /etc/resolv.conf /mnt/etc/resolv.conf
# cp /etc/environment /mnt/etc/environment

然后执行标准 arch-chroot 并在那里启用您的网络设置

# arch-chroot /mnt
# netctl enable whonix

确保您仍然连接到互联网,并像平常一样完成您的 Arch 安装。设置 root 密码、引导加载程序等。重要的是,您要将时区设置为 UTC 以匹配网关。安装完成后,重启。

Tor 检查

安装完成后,您已重启进入 Arch,并验证 Whonix 网关正在运行,您应该能够访问通过 Tor 路由的互联网。您可以通过安装您喜欢的网络浏览器并执行 Tor 检查来验证流量是否通过 Tor 路由。此 Tor 检查应明确说明您正在使用 Tor。

(可选)安装后注意事项

安装 Tor 浏览器

人们在 Arch 中安装的标准网络浏览器将被强制通过 Tor 路由所有流量,并将获得 Whonix 分区隔离的所有好处。这可以通过执行 Tor 检查以及下面描述的其他 DNS 测试来轻松检查。

但是,有些人可能希望使用官方 Tor 浏览器,该浏览器附带额外的插件和安全审计,以便与 Tor 一起使用。要安装 Tor 浏览器,请从此处下载浏览器 并将其解压到 ~/.tb,如下所示。

$ mkdir -p ~/.tb
$ tar -xf tor-browser-version.tar.xz
$ mv tor-browser_version ~/.tb/tor-browser

安装 Tor 浏览器后,我们需要设置配置以通过 Whonix 网关正确访问 Tor,这可以通过编辑以下文件来完成

~/.tb/tor-browser/Browser/TorBrowser/Data/Browser/profile.default/user.js
user_pref("extensions.torbutton.use_privoxy", false);
user_pref("extensions.torbutton.settings_method", "custom");
user_pref("extensions.torbutton.socks_host", "10.152.152.10");
user_pref("extensions.torbutton.socks_port", 9100);
user_pref("network.proxy.socks", "10.152.152.10");
user_pref("network.proxy.socks_port", 9100);
user_pref("extensions.torbutton.custom.socks_host", "10.152.152.10");
user_pref("extensions.torbutton.custom.socks_port", 9100);
user_pref("extensions.torlauncher.control_host", "10.152.152.10");
user_pref("extensions.torlauncher.control_port", 9052);

现在启动 Tor 浏览器。

$ cd ~/.tb/tor-browser
$ ./start-tor-browser.desktop

Tor 检查应验证您正在使用 Tor 和 Tor 浏览器。

DNS 泄露测试

可以执行多项泄露测试来验证是否有流量泄漏到 Tor 之外

这些测试也有助于验证是否没有位置或其他身份识别信息被泄露。

Whonix DNS 泄露测试 Wiki 还有其他有用的泄露测试,除了检查网站外,还可以执行这些测试。

熟悉 Whonix 模型和 Tor 的优点和缺点

如上所述,熟悉Whonix 模型的工作原理与其他方法相比它在特定情况下提供的额外安全性和隐私优势、Tor 的工作原理及其提供的优势,以及 Tor 项目关于 使 Tor 更可靠地工作的建议。

安全性和隐私没有万能的解决方案,但正确理解这些概念可能会带来许多额外的好处。