アプリケーションとその管理アクセスを保護し、バックエンドのリスナーを制限し、オニオンサービスの鍵を保護し、互換性のあるクライアントを通して公開をテストします。オニオンルーティングは設計の一層にすぎません。アプリケーションの脆弱性、公開コンテンツの誤り、誰にアクセスを許可すべきかを定義する必要性を取り除くものではありません。
公開範囲とその対象読者を定義する
合法的な公開目的と対象読者の記述から始めます。公開の研究出版物と制限付きのプロジェクトポータルでは、アクセス要件が異なります。どのコンテンツを公開する意図か、どれにアプリケーション認証が必要か、どれをウェブルートに決して到達させないかを決めます。これらの決定は、サイトへの到達に使うトランスポートとは切り離しておきます。
デプロイ前に小規模なデータインベントリを作成します。ページ、アップロード、データベース内容、管理者アカウント、サービス設定です。更新とインシデント対応の担当者を割り当てます。サイトがオニオンアドレスを使っているからといって、保持期間、コンテンツの権利、セキュリティ責任が決まるわけではありません。それらは明示的な運用計画を必要とする実務上のアプリケーション判断として残ります。
バックエンドのリスナーを意図的に保つ
オニオンサービスは接続をローカルのアプリケーションエンドポイントにマッピングします。そのエンドポイントがどこでリッスンし、どの他のネットワークから到達できるかを確認します。Tor Projectのセットアップガイドは、バックエンドをローカルネットワークに露出させない有用な方法としてUnixソケットを説明しています。サーバーがサポートする方式を選び、実際の到達可能性を検証します。
Tor経由で動作する接続は、意図しないパブリックリスナーと共存することがあります。意図したアクセス経路とバックエンド周辺の境界の両方をテストします。一般的な設定の思い込みは避け、アプリケーションのリッスン設定とWebサーバーのバーチャルホストルーティングを読みます。管理インターフェースは公開を意図したサービスから分離し、それらの設定を変更できる人を制限します。
アプリケーションが公開する内容を確認する
読者が遭遇する形で、ページ、アップロードファイル、エラー出力、埋め込みリソースを検査します。アプリケーションはデバッグメッセージを通じて運用上の詳細を明かしたり、主要な設計では明白でない外部アセットにリンクしたりすることがあります。生成されるURLとコンテンツメタデータを確認します。公開に必要なリソースのみを配信し、開始するサードパーティリクエストを理解します。
例示的な研究サイトでは、公開前にサンプル記事、添付ファイル、連絡先ページを確認します。非公開の編集文書と環境ファイルが公開ディレクトリの外にあることを検証します。アップロードを確認する際は機密でないテスト素材を使います。オニオン接続の成功は到達可能性を証明しますが、このコンテンツレビューはサービスが対象読者に実際に開示する内容を確認します。
サービスIDを保護対象の素材として扱う
オニオンサービスの設定には、非公開に保つ必要がある鍵素材が含まれます。公開Webサイトのファイルの外に置き、必要とする運用者だけにアクセスを制限します。正当な復旧が意図したサービスIDをどのように保つか、侵害が起きた場合にどう対応するかを計画します。サービス鍵を公開アーカイブ、サポートメッセージ、共有プロジェクトリポジトリに置かないでください。
復旧設計には、アプリケーション、データ、必要なサービス設定を含め、それぞれを適切に保護します。サイトコンテンツだけのバックアップでは意図したアドレスを復元できないことがあり、秘密鍵を含むコピーは機密性の高いバックアップになります。誰が復号して復元できるかを文書化し、演習レポートで鍵を露出せずにそのアクセスをテストします。
パブリックアクセスか制限付きアクセスかを明示的に選択する
アプリケーションのログインとTorクライアント認証は別の層です。Tor Projectは、v3オニオンサービスへのアクセスをクライアント資格情報に依存させるためのクライアント認証を文書化しています。そのモデルが対象読者と運用プロセスに合うかを決めます。公開出版物に自動的に必要なものではなく、クライアントが接続した後のアプリケーションの権限を置き換えるものでもありません。
少数の承認されたグループによるプロジェクトポータルを考えます。アクセス素材を非公開で配布、交換、失効させる方法と、アプリケーションアカウントを管理する方法が必要です。承認されたクライアントとアプリケーションユーザーの削除を別々にテストします。次の表は、1つの設定ですべてのアクセス問題が解決するとは約束せず、これらの制御を区別したままにします。
| 制御 | 答える問い | 分離された責任 |
|---|---|---|
| バックエンドリスナー | ローカルのアプリケーションエンドポイントに到達できるのは誰か? | Webサーバーとネットワーク設定 |
| クライアント認証 | どのクライアントがオニオンサービスに接続できるか? | 非公開資格情報の配布と失効 |
| アプリケーション権限 | 接続したユーザーは何をしてよいか? | アカウントロールとデータアクセス |
| 公開レビュー | サイトは何を開示するか? | コンテンツ、アップロード、エラー処理 |
読者の接続経路を通してテストする
互換性のあるクライアントを使い、意図したオニオンアクセス経路を通してページ、ナビゲーション、フォーム、ダウンロードをテストします。無害なテストトラフィックでエラーとアプリケーションのリソース使用を観察します。ローカルのバックエンドリクエストだけを測定することは避けてください。読者の完全な接続を検証しないためです。テストアカウントと制限付きアクセスの資格情報は非公開に保ちます。
復旧と保守の手順も確認します。アプリケーション更新にはロールバックポイントと、その後オニオン経路を検証する方法が必要です。配信やトランスポートのラベルがゼロログポリシーを生むと仮定せず、有用な運用ログと保持期間を定義します。不要な収集を避けつつ、障害を診断するのに十分な証拠を保持します。
ホスティングオプションを設計の一部として読む
SwissOctet Veilは、アプリケーションスタック、オニオンアドレス、バックアップの選択肢を一覧にしています。ソフトウェアが想定するスタックと、ワークロードに十分なCPU、メモリ、ストレージを選択します。実際のサービスがデプロイ、サービスID、復元をどう扱うかを確認してから依存してください。カタログのスイス拠点は、アプリケーションのプライバシー挙動とは別です。
サービスは正当な公開と承認されたユーザー向けに保ちます。管理者の更新、アクセスレビュー、アプリケーション資格情報の侵害への対応を計画します。オニオン公開は、コンテンツ、バックエンドの露出、復旧が理解できるときに最もよく機能します。トランスポートはその計画を支えるべきであり、通常のソフトウェアセキュリティを省略する口実になってはなりません。
実践チェックリスト。
- デプロイ前に公開コンテンツと制限付きコンテンツを定義する。
- バックエンドリスナーの実際の露出を検証する。
- ページ、アップロード、外部リソースリクエストを確認する。
- サービス鍵素材の保護と復旧をテストする。
- クライアント認証とアプリケーションロールを分離する。
- オニオン経路を通して保守と読者のジャーニーをテストする。
重要な詳細。
オニオンホスティングだけでアプリケーションは匿名になるか?+
いいえ。公開コンテンツ、設定、アカウント、運用慣行から情報が明らかになることがあります。接続方法に頼らず、サービス全体を確認してください。
すべてのオニオンサイトでクライアント認証を使うべきか?+
いいえ。意図した対象読者から決めます。クライアント認証は接続アクセスを制限し、資格情報のライフサイクルを追加します。アプリケーション権限は別のままです。
復旧コピーで何を保護する必要があるか?+
サイトデータと設定には適切なアクセス制御が必要です。含まれるサービス鍵素材は特に機密性が高く、保管と復元の間も非公開に保つ必要があります。
出典へ。
これらの参考文献は、このガイドの技術的概念をサポートしています。本番システムを変更する前に最新のドキュメントを確認してください。
- Tor Project: オニオンサービスをセットアップする community.torproject.org
- Tor Project: オニオンサービスの詳細設定 community.torproject.org
- Tor Project: クライアント認証 community.torproject.org
SwissOctetによる編集ガイダンス。例は例示目的です。サービス仕様、利用可能なオプション、契約条件は別途確認する必要があります。