保護應用程式及其管理存取,限制後端接聽程式,保護洋蔥服務金鑰,並透過相容的用戶端測試發布。洋蔥路由是設計的一層。它不會移除應用程式弱點、已發布內容的錯誤,或定義誰應有存取權的需要。
定義發布內容及其對象
先確立合法的發佈目的,並描述目標受眾。公開研究出版品與受限的專案入口網站有不同的存取需求。決定哪些內容應公開、哪些需要應用程式驗證,以及哪些絕不應進入網站根目錄。將這些決定與用來連線至網站的傳輸方式分開處理。
部署前先撰寫一份小型資料清單:頁面、上傳內容、資料庫內容、管理員帳號與服務設定。為更新與事件處理指派負責人。網站使用 onion 位址這件事,並不能決定保留政策、內容權利或安全責任。這些仍是實際的應用程式決策,需要明確的營運計畫。
讓後端接聽程式保持刻意設計
onion 服務會將連線對應至本機應用程式端點。檢視該端點監聽的位置,以及哪些其他網路可以觸達它。Tor Project 的設定指南指出,Unix socket 是避免將後端暴露於本機網路的有用方式。選擇你的伺服器支援的方法,並驗證其實際可達性。
可透過 Tor 運作的連線,可能與非預期的公開監聽並存。測試預定的存取路徑以及後端周圍的邊界。避免套用一般性的設定假設;閱讀應用程式的監聽設定與網頁伺服器的虛擬主機路由。將管理介面與公開預定的服務區分開來,並限制誰可以變更這些設定。
檢閱應用程式發布的內容
以讀者會遇到的方式檢視頁面、上傳檔案、錯誤輸出與內嵌資源。應用程式可能透過除錯訊息洩露營運細節,或連結至外部資產,而這在其主要設計中並不明顯。檢視產生的 URL 與內容中介資料。只提供出版品所需的資源,並了解它發起的任何第三方請求。
以一個示範研究網站為例,在推出前檢視範例文章、附件與聯絡頁面。確認私人編輯文件與環境檔案位於公開目錄之外。檢查上傳時使用非敏感的測試素材。成功的 onion 連線證明可達性;這項內容檢視則檢查服務實際向其受眾揭露了什麼。
將服務身分視為受保護資料
onion 服務設定包含必須保持私密的金鑰素材。將其置於公開網站檔案之外,並限制只有需要它的操作人員可以存取。規劃合法的復原如何保留預定的服務身分,以及如何處理外洩。不要將服務金鑰放入公開封存、支援訊息或共享的專案儲存庫。
在復原設計中包含應用程式、資料與必要的服務設定,並為每一項提供適當的保護。僅備份網站內容可能無法還原預定的位址,而包含私密金鑰的副本則會形成敏感備份。記錄誰可以解密與還原它,並在演練報告中不暴露金鑰的情況下測試該存取。
明確選擇公開或限制存取
應用程式登入與 Tor 用戶端授權是不同的層級。Tor Project 記錄了用戶端授權,可讓 v3 onion 服務的存取取決於用戶端憑證。決定該模式是否符合受眾與營運流程。公開出版品並不自動需要它,而且當用戶端連線後,它也不能取代應用程式的權限。
設想一個由小型核准群組使用的專案入口網站。你需要一種方式,以私密方式散佈、更換與撤銷存取素材,並管理應用程式帳號。分別測試移除已授權的用戶端與應用程式使用者。下表將這些控制區分開來,而不是承諾某一項設定就能解決所有存取問題。
| 控制 | 它回答的問題 | 各自獨立的責任 |
|---|---|---|
| 後端監聽 | 誰可以觸達本機應用程式端點? | 網頁伺服器與網路設定 |
| 用戶端授權 | 哪些用戶端可以連線至 onion 服務? | 私密憑證的散佈與撤銷 |
| 應用程式權限 | 已連線的使用者可以做什麼? | 帳號角色與資料存取 |
| 發佈檢視 | 網站揭露了什麼? | 內容、上傳與錯誤處理 |
透過讀取者的連線進行測試
使用相容的用戶端,透過預定的 onion 存取路徑測試頁面、導覽、表單與下載。以無害的測試流量觀察錯誤與應用程式資源使用情況。避免只測量本機後端請求,因為那並未實際演練讀者的完整連線。將測試帳號與任何受限存取的憑證保持私密。
也要檢查復原與維護程序。應用程式更新應有可回復的基準點,以及之後驗證 onion 路由的方法。定義有用的營運日誌與保留政策,但不要假設某個散布或傳輸標籤就能建立零日誌政策。保留足夠的證據以診斷故障,同時避免不必要的收集。
將代管選項視為設計的一部分來閱讀
SwissOctet Veil 列出應用程式堆疊、onion 位址與備份選項。選擇你的軟體所預期的堆疊,以及足以負擔工作負載的 CPU、記憶體與儲存空間。在依賴它之前,確認實際服務如何處理部署、服務身分與還原。該目錄的瑞士地點與你應用程式的隱私行為是兩回事。
讓服務用於合法的發佈與已授權使用者。規劃管理員更新、存取檢視,以及對應用程式憑證外洩的回應。當內容、後端暴露與復原都能被理解時,onion 出版品運作得最好;傳輸方式應支援該計畫,而不是成為跳過一般軟體安全的藉口。
您的實用檢查清單。
- 部署前定義公開與受限內容。
- 驗證後端監聽的實際暴露情況。
- 檢視頁面、上傳與外部資源請求。
- 保護並測試服務金鑰素材的復原。
- 將用戶端授權與應用程式角色分開。
- 透過 onion 路徑測試維護與讀者歷程。
重要細節。
onion 主機代管本身會讓應用程式匿名嗎?+
不會。已發佈的內容、設定、帳號與營運實務都可能洩露資訊。檢視整個服務,而不是依賴連線方式。
每個 onion 網站都應使用用戶端授權嗎?+
不用。依預定受眾來決定。用戶端授權會限制連線存取並增加憑證生命週期;應用程式權限仍各自獨立。
我必須在復原副本中保護什麼?+
網站資料與設定需要適當的存取控制。任何包含的服務金鑰素材尤其敏感,在儲存與還原期間都必須保持私密。
前往來源。
這些參考資料支持本指南中的技術概念。在變更生產系統之前,請遵循最新文件。
- Tor Project:設定你的 onion 服務 community.torproject.org
- Tor Project:進階 onion 服務設定 community.torproject.org
- Tor Project:用戶端授權 community.torproject.org
由 SwissOctet 提供的編輯指引。範例僅供說明。服務規格、可用選項與合約條件必須另行驗證。