Firefox/プライバシー

提供: ArchWiki
2024年6月5日 (水) 15:48時点におけるKgx (トーク | 投稿記録)による版 (→‎設定: 同期)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

関連記事

この記事では、セキュリティとプライバシーを高めるための Firefox の設定を概説します。

設定

以下は、ブラウザのフィンガープリント採取とトラッキングを防ぐためのプライバシーに重点を置いた設定です。

トラッキング防止機能

Firefox には強化型トラッキング防止機能のオプションがあります。このオプションは、設定 > プライバシーとセキュリティ から GUI で、あるいは about:config から設定することで、複数のレベルから選択して有効化できます:

  • privacy.trackingprotection.enabled true

プライバシー上の利点以外にも、トラッキング防止機能を有効化するとロード時間が 44% 短くなるという効果もあります。

注意点として、この機能は uBlock Origin などの広告ブロック拡張機能を置き換えるものではなく、Firefox のフォークでは動作しない可能性があります。正しいフィルタリストのある広告ブロックをすでに実行している場合、トラッキング防止機能は冗長かもしれません。

フィンガープリント採取防止

Firefox のトラッキング防止機能は、プライバシーの設定が 標準 (デフォルト) か 厳格 に設定されている場合、既知の "フィンガープリント採取者" のリストをブロックします。フィンガープリント採取防止機能は、Firefox で開発中の別の実験的な機能です。

Mozilla は、Tor Browser の機能を取り入れるプロジェクトの一環として、Firefox におけるフィンガープリント採取防止プロジェクトを開始しました。これらのフィンガープリント採取防止機能の多くは、about:config の以下の設定により有効化されます:

  • privacy.resistFingerprinting true
警告: これは実験的な機能であり、一部のウェブサイトが機能しなくなる可能性があります。タイムゾーンは UTC0 になり、ウェブサイトはライトテーマを優先します。テキストの読み上げエンジンが無効化され (bug #1636707)、一部のファビコンが正しく機能しなくなる (bug #1452391) ことに注意してください。

詳細は Firefox のフィンガープリント採取防止機能 を参照してください。

ブラウザのタイムゾーンを変更する

システムのタイムゾーンはブラウザのフィンガープリント採取で使われる可能性があります。Firefox のタイムゾーンを UTC に設定するには、以下のようにして Firefox を起動してください:

$ TZ=UTC firefox

あるいは、上記を実行するスクリプトを設定してください (例えば、/usr/local/bin/firefox に)。

ユーザエージェントとプラットフォームを変更する

Firefox のユーザエージェントは about:configgeneral.useragent.override プリファレンスで上書きすることができます。

このキーの値はブラウザのユーザエージェントです。既知で一般的なものを選んでください。

ヒント:
  • Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0 は Tor browser のユーザエージェントとして使用されるので、とても一般的です。
  • #フィンガープリント採取防止 のオプションは、Tor browser のユーザエージェントを有効化し、ブラウザのプラットフォームを自動的に変更します。
警告: プラットフォームがユーザエージェントに対応するものでないと、ブラウザがほとんどユニークになってしまいます。

Firefox のプラットフォームを変更するには、以下の string キーを about:config に追加してください:

general.platform.override

ユーザエージェントに対応する既知の一般的なプラットフォームを選んでください。

ヒント: Win32 は Tor browser のプラットフォームとして使用され、上記のユーザエージェントと対応します。

WebRTC は LAN の IP アドレスを公開してしまいます

ウェブサイトが WebRTC のピアツーピア (と JavaScript) であなたのローカル IP アドレスを取得できないようにするには、about:config を開き、以下を設定してください:

  • media.peerconnection.ice.default_address_onlytrue
  • media.peerconnection.enabledfalse に (WebRTC を完全に無効化したい場合のみ)

この WebRTC テストページWebRTC IP Leak VPN / Tor IP Test で、あなたの内部/外部 IP アドレスが漏洩していないことを確認できます。

HTTP リファラを無効化する

HTTP リファラとは、現在リクエストされているページの前のウェブページのアドレスを指す、オプションの HTTP ヘッダフィールドです。

プリファレンスに応じて、network.http.sendRefererHeader01 に設定してください。

ノート: 一部のサイトはオリジン条件を制御するためにリファラヘッダを使用します。このヘッダを完全に無効化すると、サイトが壊れる可能性があります。そのような場合、network.http.referer.XOriginPolicy を調整することでより良い解決策を得られるかもしれません。

接続テストを無効化する

デフォルトでは、Firefox は Amazon サーバと Akamai サーバの両方か片方に一定間隔で接続して、接続をテストします。例えば、ホテルやレストラン、会社では、インターネットに接続するためにパスワードを入力する必要があるかもしれません。そのようなキャプティブポータルが存在してトラフィックをブロックする場合、この機能は他の全ての接続試行をブロックします。これにより、あなたの使用習慣が漏れてしまう可能性があります。

キャプティブポータルのテストを無効化するには、about:config で以下を設定してください:

  • network.captive-portal-service.enabledfalse に。
ノート: ある報告によると、接続テストが無効化されている場合、Mozilla VPN が接続できなくなるそうです。

テレメトリを無効化する

toolkit.telemetry.enabledfalse に設定するか、設定 > プライバシーとセキュリティ > Firefox のデータ収集と利用について でテレメトリを無効化してください。または、どちらも設定してください。

"Do Not Track" ヘッダを有効化する

privacy.donottrackheader.enabledtrue に設定するか、設定 > プライバシーとセキュリティ > 強化型トラッキング防止機能 でこの機能をオンにしてください。

ノート: リモートサーバは "Do Not Track" 要求を無視する場合があります。
警告: "Do Not Track" ヘッダ (DNT) は、逆にブラウザのフィンガープリントとして使用されてしまう場合があります。ほとんどのユーザはこのオプションを無効化しているからです。

'Trusted Recursive Resolver' を無効化/強制する

Firefox 60 では、Trusted Recursive Resolver (TRR) と呼ばれる機能が追加されました。あなたのシステムで設定されている DNS サーバを使わず、代わりに全ての DNS リクエストを HTTPS で Cloudflare サーバに送ります。この機能は劇的に安全性を高めます ("従来の" DNS リクエストはネットワーク上を平文で送られ、その道中で誰もが覗き見ることができてしまうからです)。しかし、TRR サーバを提供する Cloudflare がすべての DNS リクエストを読むことができてしまいます。

  • 自分で設定した DNS サーバを Cloudflare のものよりも信頼している場合、about:confignetwork.trr.mode (整数、このオプションがない場合は作成してください) を 5 に設定して TTR を無効化できます。(0 はデフォルトで無効化するという意味で、将来のアップデートで上書きされるかもしれません。5 は選択として無効化するという意味で、上書きされることはありません。)
  • Cloudflare の DNS サーバを信頼していて、(暗号化された DNS リクエストによる) さらなるプライバシーの向上を優先する場合、network.trr.mode3 (従来の DNS リクエストを完全に無効化する) か 2 (TRR をデフォルトで使用する。失敗した場合、従来の DNS リクエストにフォールバックします) に設定することで TRR を強制できます。イントラネットのウェブサイトを使用する場合や、ホスト名を使ってローカルネットワーク内のコンピュータにアクセスする場合、TRR を有効化すると一部のケースで名前解決の機能が破壊される場合があることを留意しておいてください。
  • DNS リクエストを暗号化したいが、Cloudflare のサーバは使いたくない場合、network.trr.uri をリゾルバの URL に設定することで新しい DNS over HTTPS サーバを指定できます。現在利用可能なリゾルバのリストは、curl wiki で見られます (TRR 用の他の設定オプションも掲載されています)。

位置情報を無効化する

about:configgeo.enabledfalse に設定してください。

ノート: これにより、位置情報にアクセスする必要のあるウェブサイトが壊れる場合があります。位置情報を完全に無効化するよりも、サイト毎に位置情報へのアクセスを許可するほうが良いかもしれません。

'Safe Browsing' サービスを無効化する

Safe Browsing は、フィッシングからの保護とマルウェア検査の機能を提供しますが、ユーザの情報 (例: URL、ファイルハッシュなど) を Google などのサードパーティに送信する場合が有ります。

Safe Browsing サービスを無効化するには、about:config で以下を設定してください:

  • browser.safebrowsing.malware.enabledfalse
  • browser.safebrowsing.phishing.enabledfalse

さらに、browser.safebrowsing.downloads.enabledfalse に設定してダウンロードの確認を無効化してください。

WebGL を無効化する

WebGL はセキュリティ上のリスクとなりえます。[1] WebGL を無効化したい場合は、about:configwebgl.disabledtrue に設定してください。

Encrypted Client Hello

TLS 接続先のサーバ名を盗み聞きされないようにするために Encrypted Client Hello (ECH) (以前は encrypted Server Name Indicator (eSNI) と呼ばれていました) を有効化するには、以下を設定してください:

  • network.dns.echconfig.enabledtrue
  • network.dns.http3_echconfig.enabledtrue

また、network.trr.mode23 に設定する必要がある場合があります。

拡張機能

ブラウザ拡張機能#プライバシー を参照してください。

WebAssembly (および JavaScript) を無効化する

WebAssembly (Wasm とも) は、比較的新しい言語です。JavaScript とは異なり、Wasm はプリコンパイルされたコードをブラウザ内でネイティブに実行し、ハイパフォーマンスなシミュレーションやアプリケーションを実現します。WebAssembly は、マルウェアの侵入経路を隠してしまうとして批判されており、JavaScript と同様にユーザの追跡に使用できてしまいます。Tor Browser は JavaScript と Wasm の両方をブロックします。

Tor Browser のように JavaScript をブロックするには、ブラウザ拡張機能#プライバシーNoScript を見てください。これは、必要に応じてクイックアクセスを有効化します。Wasm を無効化するには、about:config で以下を設定してください:

  • javascript.options.wasmfalse
  • javascript.options.wasm_baselinejitfalse
  • javascript.options.wasm_ionjitfalse

システム全体の非表示の拡張機能を削除する

一部の拡張機能は非表示になっていて、デフォルトで /usr/lib/firefox/browser/features にインストールされています。これらのうち多くは rm extension-name.xpi で安全に削除できます。これらの拡張機能はデフォルトでは有効化されていない可能性があり、有効化/無効化するためのメニューオプションがある場合があります。注意点として、削除したファイルは firefox パッケージのアップデート時に復活します。これらの拡張機能を削除したままにするには、pacman.conf 内の NoExtract= オプションに先のディレクトリを追加することを検討してください (Pacman#インストールさせないファイルを設定 を参照)。該当する拡張機能としては:

  • doh-rollout@mozilla.org.xpi - DoH Roll-Out (#'Trusted Recursive Resolver' を無効化/強制する 場合、削除しないでください)。
  • screenshots@mozilla.org.xpi - Firefox スクリーンショット。
  • webcompat-reporter@mozilla.org.xpi - Mozilla が Firefox を改善したり、webcompat@mozilla.org.xpi 拡張機能を使って動的にサイトにパッチを適用したりできるようにするために、Firefox で危険にさらされているサイトを報告できるようにします。
  • ユーザの拡張機能とシステムの拡張機能は全て about:support に一覧表示されます。システムの拡張機能の完全なリストとそれらの機能についての README ファイルは [2] を見てください。

/opt にインストールされたデフォルトリリースなどのパスへの Firefox インストールでは、/firefox/firefox/browser/features にシステムの拡張機能がインストールされます。

Searx を通してウェブ検索する

ノート: 2023年9月以降、SearX はメンテナンスされていません。活発に開発されているフォークは SearxNG です。

1つの組織に与える情報の量を減らすことで、プライバシーを向上させることができます。例えば、ウェブ検索を行うごとに別々のランダムに選択されたプロキシを使用することで、1つの検索エンジンがあなたのプロファイルを構築することがほぼ不可能になります。Searx の公開インスタンス (またはサイト) を使うことで、これを行うことができます。Searx は AGPL-3.0 ライセンスのオープンソースなサイトビルダであり、サイト ('インスタンス' と呼ばれます) を生成します。それぞれの公開 'インスタンス' は、あなたと無数の検索エンジンとの間で仲介役として機能させることができます。

公開インスタンスその他のリストから、必要なだけ Searx のサイトをブックマークしてください (JavaScript が無効化されている場合、リストをロードさせるために一時的に有効化する必要があります)。それらのブックマークに素早くアクセスできるようにするために、ブックマークの 名前 入力欄に SX1SX2 ... SX(n) ((n) はブックマークした Searx インスタンスの数) を追加することを検討してください。

ブックマークしたら、URL バーで sx とその後に数字を入力して Enter を押すと、インスタンスがロードされます。

ノート: オンラインフィンガープリントを減らすために、これらのブックマークは、時々、あるいはインスタンスの信頼性が損なわれた時に、更新してください。
ヒント:
  • ウェブサーバを持っていて、帯域に余裕がある場合、他の人のプライバシーの向上を手助けするために公開 Searx インスタンスを運営することを検討してください (詳細)。
  • Searx インスタンスと Tor Browser を併用することで、さらにプライバシーを向上させることができます。Tor Browser は onion ルーティングを使用して、ある程度の匿名性を提供します。
  • Searx の非公開インスタンスをローカルに実行することで、プライバシーをさらに向上させることができます。searxAUR パッケージをインストールし、uwsgi@searx.service起動してください。Searx は http://localhost:8888/ で利用できるようになります。

Invidious を通して動画を見る

Invidious インスタンスは、YouTube の代替フロントエンドとして機能します。インスタンスは、オープンソースなコードから構築されたウェブサイトです。コンテンツにアクセスするためにユーザーが YouTube (Google) に送信する情報量を制限することは、一般的に困難でした。

Invidious を使用する利点としては以下が挙げられます:

  • スクリプトを実行しなくても動画にアクセスできる。YouTube ではスクリプトの実行を強制されます。
  • ビデオは、オフラインの場合を含め、将来の視聴のため、または他の人が視聴するために保存することができます。これにより、コンテンツがいつ閲覧されたか、または再閲覧されたかについて、Google に送信されるフィードバックが減少します。
  • 帯域幅の使用量を削減するオプションのオーディオのみのモード。Tor のようなブラウザと組み合わせると、より軽量なウェブサイトでより少ないデータパケットを使用すると、あなたの匿名性を向上させる可能性があります。
  • Invidious は、独立した、プライベート、ビデオホスティングサービスを簡単に設定することができ、フリーでオープンソースのインターフェイスです。このように、Invidious を使用して、独自のコンテンツや YouTube から削除されたコンテンツを提供しているウェブサイトが存在します。そのため、将来的に YouTube のプロフィール作成機能を制限するのに役立つかもしれません (ノートを参照)。

次のリストから、できるだけ多くの 機能している Invidious インスタンスをブックマークしてください (こちらこちらこちら)。これらのインスタンスのいくつかは、Cloudflare によってホストされている場合があることに注意してください。

YouTube 動画の URL の youtube.com の部分を使用したいインスタンスのドメインに置き換えるだけで、Invidious の URL に変更できます。

ノート: Invidious は、Facebook または Cloudflare サーバーからの動画をインデックスに登録しません。さらに、コンテンツは通常、引き続き Google サーバーからユーザーに送信されます。さらなるプライバシーを実現する方法については、Tor Browser を参照してください。

エンタープライズポリシー

ネットワークとシステム全体のポリシーは、エンタープライズポリシーを使用して確立することができます。これは、ユーザーの設定プリファレンスを補足し、オーバーライドします。例えば、ベータチャンネルリリースに対するアップデートのチェックを無効にするというユーザー設定は文書化されていません。しかし、回避策として効果的に使用できるエンタープライズポリシーが存在します。単一または複数のポリシーは、以下のように policies.json を通して管理することができます:

  • アプリケーションの更新を無効にする
  • ハードウェアアクセラレーションを強制的に有効にする
{
 "policies": {
  "DisableAppUpdate": true,
  "HardwareAcceleration": true
 }
}

about:supportEnterprise PoliciesActive に設定されていることを確認し、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 を最初にそのような識別子なしで作成し、作業プロファイルに同期する必要があることに注意してください。最も簡単な解決策は、prefs.js を別の場所にコピーする前に Firefox を閉じることです:

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

識別文字列と日付コードは、0 に設定するか、コピーした prefs.js からそれらのエントリを完全に削除して、全て取り除いてください。必要に応じて、サニタイズされた prefs.js を作業プロファイルに同期してください:

$ rsync -v ~/.prefs.sanitized.js ~/.mozilla/firefox/example.default-release/prefs.js
ノート: 必要な識別子と日付コードのエントリや文字列は、Firefox の次回の起動時に自動的に再生成され、新しい値にリセットされます。

二次的なプライバシー効果も発生します。サニタイズされた prefs.js と使用中の prefs.jsFingerprint JS API Demo でテストして結果の文字列を比べると分かります。

extensions.json

何らかの拡張機能がインストールされていると仮定すると、extensions.json ファイルには全てのプロファイル拡張機能とそれらの設定が保存されています。注意すべきは、.mozillaextensions がデフォルトで存在するユーザホームディレクトリの場所です。望ましくないバックグラウンドアップデートは、applyBackgroundUpdates0 に設定することで無効化できます。ちょっとした注意点は、installDateupdateDate です。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.lz4search.json.mozlz4 からも似たようなメタデータを削除することができます。mozlz4 は、Mozilla の (非標準の) LZ4 ファイルの圧縮/展開サポートを提供するコマンドラインツールです。

サブシステムの削除

クラッシュレポートに関連するテレメトリは、以下を削除することで無効にすることができます:

/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以降、firefox.settings.services.mozilla.com および/または content-signature-2.cdn.mozilla.net へのネットワーク呼び出しをブロックできません。拡張機能を使用するか、設定 URL を ""); に設定します。DNS シンクホールを使用して、解決された IP ブロックをファイアウォールで保護する以外に、1つの解決策として、firefox. settings.services.mozilla.com および/または cdn.mozilla.net セキュリティとパフォーマンスの両方の理由から、omni.ja のサイズを縮小、未使用の辞書やハイフネーションファイルなどの余分なモジュールを削除することもできます。

再圧縮/再圧縮するには、コマンド zip -0DXqr omni.ja * を使用し、作業ディレクトリが omni.ja ファイルのルートディレクトリであることを確認します。

堅牢化された user.js のテンプレート

Firefox のプロファイルディレクトリに置いて Firefox の設定を包括的に堅牢化できる user.js 設定ファイルを作成しているアクティブなプロジェクトがあります:

  • arkenfox/user.js (arkenfox-user.jsAUR)
  • pyllyukko/user.js
  • ffprofile.com (github) - オンラインの user.js ジェネレータ。有効化/無効化する機能を選択し、最後にプロファイルテンプレートの zip ファイルのダウンロードリンクが出てきます。例えば、Mozilla や Google にデータを送信する機能を無効化したり、Mozilla Hello や Pocket 統合などの迷惑な機能を無効化したりできます。

参照

翻訳ステータス: このページは en:Firefox/Privacy の翻訳バージョンです。最後の翻訳日は 2023-09-16 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。