Whonix
Whonix はセキュリティとプライバシーの保護に特化したデスクトップオペレーティングシステムです。このページでは Arch ユーザーが Whonix ゲートウェイを使って全ての通信が Tor を通るようにして、分離によるセキュリティ上のメリットを享受する方法を説明します。
目次
Whonix と Tor の背景
Whonix では異なる2つの仮想マシンで別々のオペレーティングシステムを実行することでセキュリティを高め、同時に全ての通信が Tor を経由するように設定します。このセキュリティモデルには 複数のメリット が存在します:
- Tor 経由の接続のみが許可されます。
- 匿名でインターネットにサーバーを建てたりアプリケーションを使うことができます。
- DNS 漏れが発生しません。
- マルウェアに root 権限を奪われてもユーザーの本当の IP アドレスが露出しません。
- 問題のあるアプリケーションやユーザーによる脅威を最小限にできます。
Whonix の wiki には分離モデルによって防ぐことができる様々な攻撃やソフトウェアの脆弱性の例が記載されています。分離モデルによって解決できない問題についても解説されているため非常に重要なページです。
Whonix は通常の作業を行う OS である「ワークステーション」と、ワークステーションからの通信を全て Tor を経由させる「ゲートウェイ」から構成されます。
Whonix のメインチームは Debian で動作するゲートウェイとワークステーションを提供していますが、Arch をメインのワークステーション OS として使うことが可能です。このページでは Arch Linux をワークステーションとして使用する方法を説明します。
Whonix ゲートウェイのダウンロードとインストール
日常的な作業でゲートウェイを使うことはありません。ゲートウェイはワークステーションをインターネットから分離して通信を Tor 経由にすることだけ行います。
Whonix の VirtualBox ページ を開いて "Whonix-Gateway" をダウンロードしてください。ダウンロードしたらダウンロードファイルを検証してください。また、VirtualBox をインストールしてください。
そして、VirtualBox を開いて File > Import Appliance > Whonix-Gateway-<version>.ova からダウンロードしたゲートウェイファイルを選択して Whonix を使用するにあたってのシステム要件とセキュリティ事項を記述した条件に同意して Whonix ゲートウェイをインポートしてください。Whonix のダウンロードページに書かれている手順に従うと良いでしょう。インポート手順を説明する 動画チュートリアル も存在します。
アプライアンスをインストールしたら、起動アイコンを使ってゲートウェイを起動してください。
Whonix ゲートウェイのアップデート
Arch を起動する前に、規約に同意して Whonix ゲートウェイが常に最新のセキュリティパッチが適用された状態にする必要があります。上記でアプライアンスをインポートしたときに表示される規約に Whonix を実行するときのセキュリティ事項が示されます。ゲートウェイを起動したら、規約に同意して stable リポジトリの使用を選択して "I am ready to enable TOR" にチェックしてください。その後、ターミナルを開いてください。root あるいは通常ユーザーでログインする方法が表示されます。
ターミナルに root でログインして以下のコマンドを実行してください:
# apt-get update # apt-get dist-upgrade
そして Whonix ゲートウェイを再起動してください。再起動後、ターミナルを開いて今度は通常ユーザーでログインしてください。そして whonix のチェックを実行してください:
$ whonixcheck
arm を起動してゲートウェイの通信を監視することもできます:
$ arm
Whonix ワークステーションとして Arch をインストール
Whonix ゲートウェイをインストールしたら、ゲートウェイを実行しながら、別の VirtualBox インスタンスに Arch をインストールしてください。インストール手順は通常の場合と同じでインストールガイドに従ってください。重要な点だけ以下で説明します。
Arch インスタンスを作成したら、起動する前に必ず行わなければならない3つの設定を行います。まず、ネットワークの接続先を Whonix ゲートウェイに設定します。Settings > Network > Attached to > Internal Network > Whonix を選択して Whonix 経由でインターネットに接続するようにしてください。
また、PAE を有効にすることが好ましいので Settings > System > Processor > Extended Features > Enable PAE/NX を選択してください。
最後に、Settings > Storage > Empty > Optical Drive > Choose Virtual Optical Disk File > archlinux-<version>.iso から起動ストレージとしてダウンロードした Arch インストール ISO を選択してください。
上記の設定を行ったら VirtualBox の Arch インスタンスを起動してください。
Arch インストール時のインターネット接続
Whonix ゲートウェイにプリセットではないワークステーションを接続するときは こちら に書かれているように手動設定が必要になります。アドレスは 10.152.152.50 に、ネットマスクは 255.255.192.0 に、ゲートウェイは 10.152.152.10 に、ネームサーバーは 10.152.152.10 に設定してください。まずは以下のコマンドを実行して有線インターフェイスを確認してください:
# ip a
大抵は eth0 や enp0s3 などが有線インターフェイスです。そして、以下のコマンドでインターフェイスを無効化してください (interface
はインターフェイスの名前に置き換えてください):
# ip link set interface down
そして上記の値を使うように固定ネットワーク接続を設定してください。サンプルファイルをコピーするのが一番簡単です:
# cp /etc/netctl/examples/ethernet-static /etc/netctl/whonix
ファイルの中身を以下のように置き換えてください (enp0s3
は適切なインターフェイス名に置き換えてください):
/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'
/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
その後インターフェイスを立ち上げてください (interface
は適切なインターフェイス名に置き換えてください):
# ip link set interface up
以下のコマンドで 10.152.152.50/18 アドレスが使われていることを確認してください:
# ip a
問題なければ、以下のようにウェブサイトに ping してみてください:
# ping -c3 www.google.com
ping でデータ転送ができれば Whonix 経由のインターネット接続が確立できています。ゲートウェイで arm
を起動すればゲートウェイ経由でパケットが送信されていることを確認できるはずです。
設定ファイルを arch-chroot 環境にコピー
インターネット接続が完了したら、通常通りに Arch のインストールを行ってください。pacstrap を実行したら、arch-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
その後は通常通りにインストールを完了してください。タイムゾーンはゲートウェイに合わせて UTC に設定してください。インストールが完了したら再起動してください。
Tor Check
インストールが完了したらウェブブラウザをインストールして Tor Check から Tor 経由で接続していることを確認できます。
ヒントとテクニック
Tor Browser のインストール
Arch にインストールしたウェブブラウザは強制的に Tor を使って通信するようになり Whonix による分離の利益を享受することができます。Tor Check や DNS テストを使うことで簡単にテストすることが可能です。
しかしながら、Tor と一緒に使うことができるアドオンやセキュリティ監査が付属した公式の Tor ブラウザを利用しても良いでしょう。Tor ブラウザを使うには こちら からブラウザをダウンロードして以下のように ~/.tb
に展開してください:
$ mkdir -p ~/.tb $ tar -xf tor-browser-version.tar.xz $ mv tor-browser_version ~/.tb/tor-browser
Tor Browser をインストールしたら以下のファイルを編集して 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 Browser を起動してください:
$ cd ~/.tb/tor-browser $ ./start-tor-browser.desktop
Tor Check で Tor と Tor Browser を使っていることを確認できます。
DNS 漏れのテスト
Tor の外に通信が漏れていないか確認することができるリークテストが複数存在します:
上記のサービスは位置情報などの識別情報が漏洩していないか確認するのにも役立ちます。
Whonix DNS Leak Test Wiki にはウェブサイトのチェック以外のリークテストも載っています。