Firefox/隱私 - Arch Linux 中文维基

跳至內容

# Firefox/隱私

出自 Arch Linux 中文维基
< Firefox
翻譯狀態：

- 本文（或部分內容）譯自 Firefox/Privacy，最近一次同步於 2025-01-04，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

相關文章

- Firefox
- Tor
- 瀏覽器擴展
- 瀏覽器插件
- Firefox/微調
- Firefox/在 RAM 中存儲配置

本文概述了如何配置 Firefox 以增強安全性並保護隱私。

## 配置

以下是一些以隱私為導向的調整，用於防止瀏覽器指紋收集和跟蹤。

### 跟蹤保護

Firefox 提供了增強跟蹤保護選項。可以通過 GUI 界面「設置 > 隱私與安全」啟用不同級別的保護，或者在 `about:config` 中設置：

- `privacy.trackingprotection.enabled` 為 `true`

除了隱私益處外，啟用跟蹤保護還可能將加載時間減少 44%。[1]

需要注意的是，這並不能完全替代廣告攔截擴展（例如 uBlock Origin），並且可能無法與 Firefox 衍生版本兼容。若已經運行此類廣告攔截器並使用正確的規則列表，跟蹤保護可能是多餘的。

### 反指紋收集

當隱私設置為「標準」（默認）或「嚴格」時，Firefox #跟蹤保護會屏蔽來自一份列表的已知「指紋追蹤器」。針對指紋收集的保護是 Firefox 中正在積極開發的一項實驗性功能。

作為從 Tor 瀏覽器向上游引入功能項目的一部分，Mozilla 已啟動 Firefox 反指紋收集項目。許多反指紋收集功能可以通過在 `about:config` 中啟用以下設置實現：

- 設置 `privacy.resistFingerprinting` 為 `true`

警告：這是一個實驗性功能，可能導致某些網站功能異常，如時區固定為 UTC0，並且網站會默認使用淺色主題。此外，語音合成功能將被禁用（bug #1636707），某些網站圖標也可能顯示異常（bug #1452391）。

有關更多信息，請參閱：Firefox 針對指紋收集的保護。

### 更改瀏覽器時區

系統的時區信息可能被用於瀏覽器指紋收集。要將 Firefox 的時區設置為 UTC，可以通過以下方式啟動：

    $ TZ=UTC firefox

或者，也可以設置一個腳本來執行上述命令（例如，在 `/usr/local/bin/firefox` 中）。

### 更改用戶代理和平台

可以通過在 `about:config` 中使用 `general.useragent.override` 首選項覆蓋 Firefox 的用戶代理。

該鍵的值是瀏覽器的用戶代理。選擇一個已知的常見用戶代理。

提示：

- 值 `Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0` 是 Tor 瀏覽器的用戶代理，因此非常常見。
- 在 #反指紋收集中啟用的選項也會啟用 Tor 瀏覽器用戶代理，並自動更改瀏覽器平台。

警告：更改用戶代理但不更改相應平台會使您的瀏覽器幾乎獨一無二。

要更改 Firefox 的平台，在 `about:config` 中添加以下 `string` 鍵：

    general.platform.override

選擇與使用的用戶代理相對應的已知常見平台。

提示：值 `Win32` 是 Tor 瀏覽器的使用平台，與上述用戶代理相對應。

### WebRTC 暴露區域網 IP 地址

為防止網站通過 WebRTC 的點對點連接（和 JavaScript）獲取本地 IP 地址，請打開 `about:config` 並設置：

- `media.peerconnection.ice.default_address_only` 為 `true`
- `media.peerconnection.enabled` 為 `false`（僅在希望完全禁用 WebRTC 時）

可使用此 WebRTC 測試頁面和 WebRTC IP 洩漏 VPN / Tor IP 測試來確認您的內部/外部 IP 地址不再洩漏。

### 禁用 HTTP 來源地址（HTTP Referer）

HTTP 來源地址（HTTP Referer）是一個可選的 HTTP 頭欄位，用於標識從連結到當前請求頁面的前一個網頁的地址。

將 `network.http.sendRefererHeader` 設置為 `0` 或 `1`，具體取決於偏好。

注意：某些網站使用 Referer 頭來控制來源條件。完全禁用此欄位可能會導致網站功能中斷。在這種情況下，調整 `network.http.referer.XOriginPolicy` 可能是一個更好的解決方案。

### 禁用連接測試

默認情況下，為了測試連接，Firefox 會定期嘗試連接到 Amazon 和/或 Akamai 伺服器。[2] 例如，在酒店、餐廳或其他需要輸入密碼訪問網際網路的場所，如果存在強制門戶並阻止流量，該功能會阻止所有其他連接嘗試。這可能會洩露您的使用習慣。

要禁用強制門戶測試，在 `about:config` 中設置：

- `network.captive-portal-service.enabled` 為 `false`

注意：有報告稱，禁用此功能可能導致 Mozilla VPN 無法連接。

### 禁用遙測

將 `toolkit.telemetry.enabled` 設置為 `false`，並/或在「偏好設置 > 隱私與安全 > Firefox 數據收集與使用」中禁用。

### 啟用「請勿跟蹤」標頭

將 `privacy.donottrackheader.enabled` 設置為 `true`，或者在「偏好設置 > 隱私與安全 > 跟蹤保護」中切換。

注意：遠程伺服器不一定會尊重「請勿跟蹤」請求。
警告：實際上，「請勿跟蹤」標頭（DNT）可能會被用來識別啟用它的瀏覽器，因為大多數用戶會將該選項保持為禁用狀態。

### 禁用/強制使用「受信遞歸解析器」

Firefox 60 引入了一個名為受信遞歸解析器（TRR）的功能。它繞過了系統中配置的 DNS 伺服器，而是通過 HTTPS 將所有 DNS 請求發送到 Cloudflare 的伺服器。儘管這顯著提高了安全性（因為「傳統」DNS 請求是以明文形式發送的，沿途的每個人都可以窺探這些請求），但也使 Cloudflare 可以讀取所有 DNS 請求，從而提供 TRR 服務。

- 相比於 Cloudflare 所提供的，如果更信任自己配置的 DNS 伺服器，可以在 `about:config` 中將 `network.trr.mode`（整數類型，如果不存在請創建）設置為 `5`。（值為 0 表示默認禁用，可能會被未來更新覆蓋；值為 5 表示選擇性禁用，不會被覆蓋。）
- 如果更加信任 Cloudflare 的 DNS 伺服器，並希望通過加密的 DNS 請求獲得額外的隱私，可以通過將 `network.trr.mode` 設置為 `3`（完全禁用傳統 DNS 請求）或 `2`（默認使用 TRR，如果失敗則回退到傳統 DNS 請求）來強制啟用 TRR。請注意，啟用 TRR 可能會破壞內網網站或本地網絡中主機名的名稱解析。
- 如果希望加密 DNS 請求但不使用 Cloudflare 的伺服器，可以通過將 `network.trr.uri` 設置為您解析器的 URL 來指向一個新的 HTTPS DNS 伺服器。可用解析器的列表以及其他 TRR 配置選項可以在 curl wiki 中找到。

### 加密客戶端問候

要啟用加密客戶端問候（ECH）（以前稱為加密伺服器名稱指示（eSNI）），以使網絡監聽者無法看到建立 TLS 連接的伺服器名稱，請設置：

- `network.dns.echconfig.enabled` 為 `true`
- `network.dns.http3_echconfig.enabled` 為 `true`

可能還需要將 `network.trr.mode` 設置為 `2` 或 `3`。

### 禁用地理定位

在 `about:config` 中將 `geo.enabled` 設置為 `false`。

注意：這可能會破壞需要訪問位置信息的網站。可以選擇按站點允許位置訪問，而不是完全禁用此功能。

### 禁用「安全瀏覽」服務

「安全瀏覽」提供網絡釣魚保護和惡意軟體檢查功能，但可能會將用戶信息（例如 URL、文件哈希等）發送給 Google 等第三方。

要禁用「安全瀏覽」服務，請在 `about:config` 中設置：

- `browser.safebrowsing.malware.enabled` 為 `false`
- `browser.safebrowsing.phishing.enabled` 為 `false`

此外，為禁用下載檢查功能，請將 `browser.safebrowsing.downloads.enabled` 設置為 `false`。

### 禁用 WebGL

WebGL 可能存在安全風險。[3] 若要禁用 WebGL，請在 `about:config` 中將 `webgl.disabled` 設置為 `true`。

## 擴展

參見瀏覽器擴展#隱私。

### 禁用 WebAssembly（及 JavaScript）

WebAssembly（簡稱 Wasm）是一種相對較新的語言。與 JavaScript 不同，Wasm 在瀏覽器中原生執行「預編譯代碼」，以實現高性能模擬和應用。然而，它因可能隱藏惡意軟體路徑以及像 JavaScript 一樣可用於跟蹤用戶而受到批評。Tor 瀏覽器會阻止 JavaScript 和 Wasm。

請參閱瀏覽器擴展#隱私中的 「NoScript」，以通過類似 Tor 瀏覽器的方式阻止 JavaScript，從而在需要時快速啟用。若要禁用 Wasm，請在 `about:config` 中設置：

- `javascript.options.wasm` 為 `false`
- `javascript.options.wasm_baselinejit` 為 `false`
- `javascript.options.wasm_ionjit` 為 `false`

### 刪除系統範圍的隱藏擴展

某些擴展是隱藏的，且默認安裝在 `/usr/lib/firefox/browser/features` 中。許多擴展可以通過 `rm extension-name.xpi` 安全刪除。這些擴展可能默認未啟用，並且可能有啟用或禁用的菜單選項。請注意，刪除的文件會在更新 firefox包 時重新出現。為保持這些擴展被移除，可以將其目錄添加到 `/etc/pacman.conf` 的 NoExtract 中。部分擴展包括：

- `doh-rollout@mozilla.org.xpi`⸺DoH（基於 HTTPS 的 DNS）部署（若選擇使用 #禁用/強制使用「受信遞歸解析器」，請勿刪除）。
- `screenshots@mozilla.org.xpi`⸺Firefox 截圖功能。
- `webcompat-reporter@mozilla.org.xpi`⸺用於報告 Firefox 中受損的網站，Mozilla 可通過 `webcompat@mozilla.org.xpi` 動態修復網站或改進 Firefox。

所有用戶和系統擴展的列表可在 `about:support` 中查看。完整的系統擴展列表及描述其功能的 README 文件可參見 [4]。

默認安裝在 `/opt` 路徑中的 Firefox（例如穩定版）具有安裝在 `/firefox/firefox/browser/features` 下的系統擴展。

## 使用 Searx 進行網絡搜索

注意：自 2023 年 9 月起，SearX 已停止維護，推薦使用其活躍的分支 SearxNG。

通過減少提供給單一實體的信息量，增強隱私保護。例如，每次通過不同的隨機代理發送網絡搜索，使單一搜尋引擎幾乎無法建立用戶畫像。可以使用 Searx 的公共實例（即站點）來實現這一點。Searx 是一個以 AGPL-3.0 授權的開源站點構建器，用於生成站點（稱為「實例」）。每個公共實例都可以作為用戶與各種搜尋引擎之間的中間人。

從這個和這個公共實例列表中，選擇並添加儘可能多的 Searx 網站書籤（如果禁用了 JavaScript，需要暫時啟用它以加載列表）。為了快速訪問這些書籤，可以將書籤名稱更改為 `SX1`、`SX2` ⋯⋯ `SX(n)`（其中 `(n)` 是書籤中 Searx 實例的總數）。

添加書籤後，只需在網址欄中輸入 `sx`、一個數字，然後按 `Enter`，即可加載一個實例。

注意：建議時常或在實例變得不可靠時更新上述書籤，以減少在線指紋。
提示：

- 如果有網絡伺服器和可用帶寬，考慮自建一個公共 Searx 實例，以幫助他人提升隱私保護（更多信息）。
- 為了進一步保護隱私，可在 Tor 瀏覽器中使用 Searx 實例，Tor 的洋蔥路由能提供一定程度的匿名性。
- 還可以通過自建一個私有 Searx 實例來進一步提升隱私。安裝 searxAUR 軟體包並啟動 `uwsgi@searx.service` 服務，Searx 將可通過 http://localhost:8888/ 訪問。

參見 https://www.privacyguides.org/en/search-engines/ 了解其他選項。

## 使用 Invidious 觀看視頻

Invidious 實例是 YouTube 的替代前端，這些網站基於開原始碼構建。利用傳統方法，很難限制為了訪問內容向 YouTube（即向谷歌）發送的信息量。

使用 Invidious 的好處包括：

- 視頻可在不運行腳本的情況下訪問，而 YouTube 強制用戶運行腳本。
- 視頻可以保存以供將來觀看或分享給他人，包括離線觀看。這減少了向 Google 發送關於何時觀看或重看的反饋信息。
- 可選的音頻模式減少帶寬使用。當與類似 Tor 瀏覽器的工具結合使用時，數據包的減少和輕量級的網站可能提高匿名性。
- Invidious 是一個免費的開源界面，簡化了設置獨立、私密的視頻託管服務的過程。因此，一些網站使用 Invidious 提供自己的內容或從 YouTube 刪除的內容。這可能在未來限制 YouTube 創建用戶畫像的能力（參見提示）。

從列表（[5][6][7][失效連結 2024-01-13 ⓘ]）中向書籤中添加儘可能多的有效 Invidious 實例。注意，其中一些實例可能由 Cloudflare 託管。

可以通過將任何 YouTube 視頻 URL 中的 `youtube.com` 替換為實例域名以將其更改為 Invidious URL。

注意：Invidious 不索引來自 Facebook 或 Cloudflare 伺服器的視頻。此外，內容通常仍然通過 Google 伺服器發送給用戶。為獲得更高的隱私保護，請參見 Tor。

## 企業策略

通過使用企業策略，可以建立網絡和系統範圍的策略，這些策略既可以補充也可以覆蓋用戶配置的偏好。例如，文檔沒有記錄禁用測試版渠道更新檢查的用戶偏好，而一個策略可以作為有效的解決方法。可以通過 `policies.json` 管理單個或多個策略，如下所示：

- 禁用應用程式更新
- 強制啟用硬體加速

    {
     "policies": {
      "DisableAppUpdate": true,
      "HardwareAcceleration": true
     }
    }

在 `about:support` 中驗證 `企業策略` 為 `激活` 狀態，並在 `about:policies` 中查看與發布版本相關的具體策略。

## 清理配置文件

### prefs.js

Firefox 配置文件可以用於剔除某些元數據。例如，典型的 `prefs.js` 文件中包含用於標識客戶端和/或用戶的字符串。

    user_pref("app.normandy.user_id", "6f469186-12b8-50fb-bdf2-209ebc482c263");
    user_pref("security.sandbox.content.tempDirSuffix", "2a02902b-f25c-a9df-17bb-501350287f27");
    user_pref("toolkit.telemetry.cachedClientID", "22e251b4-0791-44f5-91ec-a44d77255f4a");

可以通過多種方法重置這些字符串，但需要注意的是，必須首先創建一個不含此類標識符的主 `prefs.js` 文件，並將其同步到工作配置文件中。最簡單的解決方案是關閉 Firefox，然後將其 `prefs.js` 文件複製到單獨的位置：

    $ cp ~/.mozilla/firefox/example.default-release/prefs.js ~/prefs.sanitized.js

通過將條目設置為 0 或直接刪除，可從副本 `prefs.sanitized.js` 中剔除所有標識符字符串和日期代碼。根據需要將清理過的 `prefs.sanitized.js` 同步回使用的配置文件：

    $ rsync -v ~/.prefs.sanitized.js ~/.mozilla/firefox/example.default-release/prefs.js

注意：在下一次啟動 Firefox 時，所需的標識符和日期代碼條目或字符串將自動重新生成並重置為新值。

還可以通過比較清理後的 `prefs.js` 與工作中的 `prefs.js` 在 Fingerprint JS API Demo 中的字符串結果，觀察隱私方面的附加效果。

### extensions.json

`extensions.json` 文件列出記錄的擴展及其設置。值得注意的是其中包含的默認情況下 `.mozilla` 和 `extensions` 文件夾所在的用戶主目錄路徑。可以通過將 `applyBackgroundUpdates` 設置為 `0` 值來禁用不需要的後台更新。需要注意的還有 `installDate` 和 `updateDate` 欄位。Bubblewrap 可以有效地屏蔽用戶名和主目錄路徑，此時可以清理並修改 `extensions.json` 文件以指向沙盒中的 `$HOME` 位置。

    {"schemaVersion":31,"addons":[{"id":"uBlock0@raymondhill.net","syncGUID":"{0}","version":"0","type":"extension","optionsURL":"dashboard.html","optionsType":3,"optionsBrowserStyle":true,"visible":true,"active":true,"userDisabled":false,"appDisabled":false,"embedderDisabled":false,"installDate":0,"updateDate":0,"applyBackgroundUpdates":0,"path":"/home/r/.mozilla/firefox/example.default-release/extensions/uBlock0@raymondhill.net.xpi","skinnable":false,"softDisabled":false,"foreignInstall":true,"strictCompatibility":true}}

可以同樣移除 `addonStartup.json.lz4` 和 `search.json.mozlz4` 中的類似元數據。mozlz4 是一個支持 Mozilla（非標準）LZ4 文件壓縮/解壓的命令行工具。

## 移除子系統

這篇文章的某些內容需要擴充。

原因：刪除的文件在升級軟體包後會恢復，請將它們添加到 NoExtract 以避免被安裝。 (在 Talk:Firefox/隱私 中討論)

與崩潰報告相關的遙測功能可以通過刪除以下文件禁用：

    /usr/lib/firefox/crashreporter
    /usr/lib/firefox/minidump-analyzer
    /usr/lib/firefox/pingsender

對於從 Mozilla 官方來源手動安裝 Firefox 的用戶，可以通過刪除 `firefox` 目錄中的 `updater` 來禁用更新系統。

## 編輯 omni.ja 的內容

注意：修改 `omni.ja` 的內容可能會導致某些功能受到限制或丟失。此外，每次 Firefox 更新時該文件都會被更新/覆蓋。用戶需自行決定隱私收益是否值得犧牲可用性。

文件 `/usr/lib/firefox/omni.ja` 包含 Firefox 使用的大部分默認配置設置。例如，從 Firefox 73 開始，通過擴展程序或將首選項 URL 設置為 `"");` 已無法屏蔽對 `firefox.settings.services.mozilla.com` 和/或 `content-signature-2.cdn.mozilla.net` 的網絡調用。除了使用 DNS 黑洞或屏蔽解析的 IP 地址外，一種解決方法是通過 grep(1) 搜索解壓縮後的 `omni.ja` 內容，並移除所有對 `firefox.settings.services.mozilla.com` 和/或 `cdn.mozilla.net` 的引用。不使用的模塊，例如未用到的詞典和斷字文件，也可以被移除，以減少 `omni.ja` 的大小，從而提升安全性和性能。

要重新打包/壓縮，請在 `omni.ja` 文件內容的根目錄使用命令 `zip -0DXqr omni.ja *`。

## 加固的 user.js 模板

多個活躍項目維護了全面的 Firefox 加固配置，這些配置以 `user.js` 文件的形式提供，可直接放置於 Firefox 配置文件目錄中：

- arkenfox/user.js（arkenfox-user.jsAUR）
- pyllyukko/user.js
- ffprofile.com（GitHub）⸺在線 user.js 生成器。用戶可以選擇啟用和禁用的功能，最後可獲取配置模板的 zip 文件下載連結。例如，你可以禁用某些發送數據到 Mozilla 和 Google 的功能，或禁用一些惱人的 Firefox 功能，例如 Mozilla Hello 或 Pocket 集成。

## 另見

- Brainfucksec's firefox hardening guide（英文）⸺一份維護良好的 Firefox 加固指南。
- Privacy Guides（英文，繁體中文可用）⸺社區維護的幫助保護在線隱私的資源。
- privacytools.io Firefox 隱私插件
- prism-break.org 瀏覽器插件
- MozillaWiki:Privacy/Privacy Task Force/firefox about config privacy tweeks⸺Mozilla 維護的一個 Wiki 頁面，包含隱私相關設置的說明。
- 如何阻止 Firefox 的自動連接⸺詳細列出相關的 Firefox 功能和設置，逐項禁用的註解列表。
- 搜尋引擎比較⸺用於通過一些以隱私為中心的數據點比較流行搜尋引擎的網頁。

分類：​

- 網頁瀏覽器
- 包含失效連結的頁面

Firefox/隱私
新增話題