Firefox/プライバシー
この記事では Firefox ウェブブラウザを使用する際のセキュリティやプライバシーを高めるための設定や拡張を紹介しています。
目次
- 1 設定
- 1.1 Firefox の追跡防止オプションの有効化
- 1.2 ファーストパーティの分離
- 1.3 フィンガープリントの防止
- 1.4 ブラウザのタイムゾーンの変更
- 1.5 ユーザーエージェントとプラットフォームの変更
- 1.6 WebRTC で LAN IP アドレスが判明する
- 1.7 HTTP リファラーを無効にする
- 1.8 接続テストを無効にする
- 1.9 テレメトリの無効化
- 1.10 Do Not Track Header (DNT) の有効化
- 1.11 'Trusted RecursiveResolver' を無効化/強制します
- 1.12 Geolocation の無効化
- 1.13 セーフブラウジングサービスの無効化
- 1.14 WebGL の無効化
- 2 拡張
- 2.1 WebAssembly (および JavaScript) を無効にする
- 2.2 システム全体の非表示の拡張機能を削除する
- 2.3 HTTPS Everywhere
- 2.4 uBlock Origin
- 2.5 Adblock Plus
- 2.6 Privacy Badger
- 2.7 Disconnect
- 2.8 Ghostery
- 2.9 NoScript
- 2.10 uMatrix
- 2.11 Cookie Monster
- 2.12 Self-Destructing Cookies
- 2.13 RefControl
- 2.14 RequestPolicy
- 2.15 Decentraleyes
- 2.16 CanvasBlocker
- 2.17 Random User Agent
- 2.18 Privacy Settings
- 2.19 Stop Fingerprinting
- 3 サブシステムの削除
- 4 omni.ja の内容を編集する
- 5 user.js テンプレートで強化する
設定
このセクションでは ブラウザフィンガープリント やトラッキングを防止するプライバシー設定を並べています。
以下のリンクも参照してください:
- How to stop Firefox from making automatic connections - Firefox の機能のリストと無効化する設定方法。
- ffprofile.com - 有効・無効にしたい機能を選択してからプロファイルのテンプレートとなる zip ファイルをダウンロードできます。Mozilla や Google へのデータの送信や Mozilla Hello あるいは Pocket などの機能を無効にすることが可能です。
- user.js Firefox hardening stuff - Firefox の設定を堅牢化する user.js 設定ファイル。
Firefox の追跡防止オプションの有効化
Firefox には 追跡防止 のオプションが存在します。about:config
から設定することで有効にできます:
- privacy.trackingprotection.enabled true
プライバシーを守る以外にも、追跡防止 を有効化するとロード時間が 44% 短くなるという効果があります。
#uBlock Origin などの広告ブロック拡張のかわりにはなりません。また、Firefox のフォークでは動作しない可能性があります。
ファーストパーティの分離
ファーストパーティアイソレーション ("double keying" とも呼ばれます) は、第三者が複数のサイトにわたってユーザーを追跡することを防ぐことができます。これは about:config
の設定によって有効にすることができます。
privacy.firstparty.isolate
true
フィンガープリントの防止
Firefox の トラッキング保護 は、プライバシー設定が 標準 (デフォルト) または 厳格 に設定されている場合、既知の "フィンガープリンター" のリストをブロックするものです。フィンガープリントプロテクションは、Firefox で活発に開発が行われている、別の実験的な機能です。
Mozilla は、Tor Browser から機能をアップストリームするプロジェクトの一環として、Firefoxのアンチフィンガープリント・プロジェクト を開始しました。これらのアンチフィンガープリント機能の多くは、about:config
のこの設定によって有効になります。
privacy.resistFingerprinting
true
詳細については: Firefox's protection against fingerprinting
ブラウザのタイムゾーンの変更
ブラウザフィンガープリントではシステムのタイムゾーンが使われることがあります。Firefox のタイムゾーンを UTC に設定するには:
$ TZ=UTC firefox
もしくは上記のコマンドを実行するスクリプトを設定してください (例: /usr/local/bin/firefox
)。
ユーザーエージェントとプラットフォームの変更
Firefox のユーザーエージェントを変更するには、about:config
で以下の string
キーを追加してください:
general.useragent.override
キーの値がブラウザのユーザーエージェントになります。よくあるユーザーエージェントに設定してください。
Firefox のプラットフォームを変更するには、、about:config
で以下の string
キーを追加してください:
general.platform.override
ユーザーエージェントに対応する一般的なプラットフォームを設定してください。
WebRTC で LAN IP アドレスが判明する
WebRTC の peer-to-peer (と JavaScript) によってローカル IP アドレスがウェブサイトに取得されてしまうのを防ぐには、about:config
を開いて media.peerconnection.enabled
を false に設定してください (もしくは アドオン を使って下さい)。
HTTP リファラーを無効にする
HTTPリファラー 現在要求されているページへのリンクをたどった前の Web ページのアドレスを識別するオプションの HTTP ヘッダーフィールドです。
Set network.http.sendRefererHeader
to 0
or 1
, depending on your preferences.
接続テストを無効にする
Firefox はデフォルトで、接続をテストするために regular intervals で Amazon や Akamai サーバーへの接続を試行します。例えば、ホテルやレストラン、その他のビジネスでは、インターネットにアクセスするためにパスワードの入力を要求されることがあります。このような キャプティブポータル が存在し、トラフィックをブロックしている場合、この機能は他のすべての接続試行をブロックします。これにより、あなたの使用習慣が漏れる可能性があります。
キャプティブポータルのテストを無効にするには、about:config
から:
network.captive-portal-service.enabled
をfalse
にします。
テレメトリの無効化
toolkit.telemetry.enabled
を false に設定するか設定→詳細→データの選択から無効にしてください。
Do Not Track Header (DNT) の有効化
privacy.donottrackheader.enabled
を true に設定するか、プライバシーの設定から Do Not Track の設定を管理できます。
'Trusted RecursiveResolver' を無効化/強制します
Firefox 60 では、Trusted Recursive Resolver (TRR) という機能が導入されました。システムに構成されている DNS サーバーを回避し、代わりにすべての DNS リクエストを HTTPS 経由で Cloudflare サーバーに送信します。これは非常に安全ですが(クラシック DNS リクエストはネットワーク経由でプレーンテキストで送信され、途中で誰もがこれらを snoop できるため)、これによりすべての DNS リクエストが Cloudflare で読み取り可能になる為、TRR サーバーが提供されます。
- Cloudflare よりも自分で構成した DNS サーバーを信頼する場合は、
network.trr.mode
を設定することでabout:config
で TRR を無効にできます(整数を指定、ない場合は作成します 0) から5
へ (値0はデフォルトで無効になっていることを意味し、将来の更新によって上書きされる可能性があります。値5は選択によって無効になり、上書きされません。) - Cloudflare DNS サーバーを信頼し、追加のプライバシーを希望する場合(暗号化された DNS 要求のおかげで)、
network.trr.mode
を3
に設定することでTRRを適用できます (これにより、クラシックが完全に無効になります DNS リクエスト)または2
(デフォルトで TRR を使用し、失敗した場合は従来の DNS リクエストにフォールバックします)。イントラネット Web サイトを使用している場合、またはローカルネットワーク内のコンピューターにホスト名でアクセスしようとしている場合、 TRR を有効にすると、名前の解決が失敗する可能性があることに注意してください。 - DNS リクエストを暗号化するが、Cloudflare サーバーを使用しない場合は、リゾルバー URL に
network.trr.uri
を設定することで、 HTTPS サーバーを介した新しい DNS を指定すことができます。現在利用可能なリゾルバーのリストは、 curl wiki と、 TRR の他の構成オプションにあります。
Geolocation の無効化
about:config
で geo.enabled
を false に設定してください。
セーフブラウジングサービスの無効化
セーフブラウジングはフィッシングからの保護やマルウェアのチェックを提供しますが、Google などのサードパーティにユーザー情報を送信することがあります (URL やファイルのハッシュなど)。
セーフブラウジングを無効化するには、about:config
で以下を設定:
browser.safebrowsing.malware.enabled
を false に設定browser.safebrowsing.phishing.enabled
を false に設定
さらにダウンロードしたファイルのチェックを無効化するには、browser.safebrowsing.downloads.enabled
を false に設定してください。
WebGL の無効化
WebGL は セキュリティ上のリスク となりえます。無効化したい場合は about:config
から webgl.disabled
を true にしてください。
拡張
WebAssembly (および JavaScript) を無効にする
Wasm としても知られている WebAssembly は、比較的新しい言語です。JavaScript とは対照的に、 Wasm はブラウザ上で プリコンパイルされたコード をネイティブに実行し、高性能なシミュレーションやアプリケーションを実現します。マルウェアの経路を隠したり、JavaScript と同様に、ユーザーを追跡するために使われることがある という批判を受けています。Tor Browser は JavaScript と Wasmの 両方をブロックします。
Tor Browser のように JavaScript をブロックするには ブラウザ拡張機能#プライバシー の NoScript を参照してください。 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 パッケージの更新時に返されることに注意してください。これらの拡張機能を削除したままにしておくには、ディレクトリを pacman.conf
の NoExtract=
に追加することを検討してください。Pacman# アップグレードさせないファイルを設定 を参照してください。 一部の拡張機能は次のとおりです。
doh-rollout@mozilla.org.xpi
- DoH ロールアウト (上記の ブラウザ拡張機能#'Trusted RecursiveResolver' を無効化/強制します を選択した場合は削除しないでください)。screenshots@mozilla.org.xpi
- Firefox のスクリーンショット。webcompat-reporter@mozilla.org.xpi
- Firefox で危険にさらされているサイトを報告するために、Mozilla が Firefox を改善したり、webcompat@mozilla.org.xpi
拡張を使って動的にサイトにパッチを適用したりできるようにするためです。- ユーザとシステムを合わせたすべての拡張機能は
about:support
にリストアップされています。システム拡張の完全なリストとその機能を説明する README ファイルについては [1] を参照してください。
/opt
にインストールされたデフォルト リリースなどのパスへの Firefox インストールでは、/firefox/firefox/browser/features
にシステム拡張機能がインストールされています。
HTTPS Everywhere
HTTPS Everywhere はウェブサイトとの通信を暗号化する拡張です。可能であれば HTTP ではなく常時 HTTPS で接続します。
HTTPS Everywhere は Firefox の再起動時に自動的に設定・有効化されます。ウェブサイトによってルールを設定する方法は 公式ウェブサイト を見て下さい。
uBlock Origin
uBlock (旧名 μBlock) はメモリや CPU の消費量が少ない軽量で効率的なブロッカーです。すぐに使えるフィルターリストが付属しています (EasyList, Peter Lowe's, マルウェアフィルターリストなど)。
リードデベロッパーによってプロジェクトはフォークされ uBlock Origin が作成されました。2015年7月現在、開発は主に uBlock Origin で行われており、コードベースは大幅に変更されています。
uBlock Origin: Github; Firefox Add-ons。
Adblock Plus
Adblock Plus を使うことで目障りな広告を消すことができます。さらにウェブサイトがあなたを追跡するのを止めるよう設定することも可能です。
インストールしたら Easy List ウェブサイト を開いて EasyList と EasyPrivacy リストを Adblock Plus のフィルターサブスクリプションに追加してください。ウェブページの "Add [filter] to Adblock Plus" をクリックするだけで追加されます。クリックするとフィルター追加プロンプトが立ち上がります。仔細確認して "Add Subscription" をクリックしてください。
EasyList は英語のウェブページから広告を削除する最初のサブスクリプションであり、不必要なフレームや画像、オブジェクトも消します。
EasyPrivacy は EasyList を補完するサブスクリプションで、ウェブバグやトラッキングスクリプト、その他情報収集によるインターネットからの追跡を全て削除します。
Privacy Badger
Privacy Badger はウェブコンテンツと一緒にロードされるサードパーティのトラッカーを監視する拡張です。別のサイトでもトラッカーが表示されるような場合、トラッカーをブロックします。広告のブロックは意図されていませんが、多くの広告はトラッキング情報を使っているため、広告もブロックされることがあります。仕組みに関する詳細は FAQ を見て下さい。
Disconnect
Disconnect は 2,000 のサードパーティサイトからユーザーをトラッキングするのを止めさせるオープンソースプロジェクトです。人気のサイトに送られるデータを暗号化してウェブページのロード時間を 27% 高速化します。Disconnect はリアルタイムで Google, Twitter, Facebook などから防いだトラッキングの数を表示します。トラッキングを広告、解析、ソーシャル、コンテンツにカテゴリ分けするため、簡単に見分けることができます。
また、Disconnect は盗取したクッキーを利用して個人情報を盗み取るサイドジャッキングも防止します。簡単に使うことができ上手く動作します。公式ウェブサイト から Firefox に追加することが可能です。
Ghostery
Ghostery は Disconnect と似ていますが、ウェブサイトトラッカーを使用するビジネスを逆にトラッキングするプロプライエタリなプロジェクトです。ウェブサイトより:
Ghostery は 1,000 以上のトラッカーを追跡して、広告ネットワークや行動データの提供者、サイト運営者など、あなたの行動に関心を向けている会社を調べます。
Ghostery は 公式ウェブサイト からインストールできます。インストールしたら 以下のページから Ghostery の設定が可能です:
chrome://ghostery/content/options.html
もしくは Firefox のアドオンマネージャから設定を選択してください。設定ページが開きます。
また、付属しているウィザードを使って Ghostery を設定することも可能です:
chrome://ghostery/content/wizard.html
設定ページからは Ghostery にブロックさせるサードパーティのエレメント (3pe) を設定できます。特定の会社の詳細情報を表示するにはカテゴリの個々のプロファイルをクリックします。終了時に Flash や Silverlight のクッキーを消去させることもできます。さらに、特定のサイトにクッキーを設定させないようにするクッキー保護機能を有効できます。
NoScript
NoScript はユーザーによってホワイトリストに指定されたウェブサイトを除いて、あらゆるウェブサイトの JavaScript や Java、Flash などのプラグインを無効化する拡張です。この拡張を使うことで、信頼できるサイト (例: 銀行やウェブメール) のコンテンツには影響を与えないようにして、脆弱性を利用する攻撃から身を守ることができます。
インストールしたら、ツールバーのアイコンをクリックするか、ページを右クリックして NoScript を選択することで NoScript の設定ができます。現在のページのスクリプト、そのページからリンクしているサードパーティのスクリプトを有効化・無効化するオプションが表示されます。一時的にスクリプトを有効化することもできます。
設定に関する詳細は NoScript FAQ を見て下さい。
最近のウェブサイトではレイアウトを整えるためにスクリプトを使っているため、コンテンツの見た目が変わってしまうことがあるので注意してください。例えば、NoScript でスクリプトをブロックするとスクリプトでフォントをロードできなくなり、ウェブサイトのレンダリングに問題が生じることがあります。
uMatrix
uMatrix は HTTP Switchboard からフォーク・リファクタリングされた拡張です。選択的に JavaScript やプラグインなどをブロックしたりサードパーティ製のリソースを制御できます。ユーザーエージェントの偽装やリファラーのブロックなどのプライバシー機能も備えています。この拡張だけで NoScript と RequestPolicy を置き換えることができます。使用方法については HTTP Switchboard wiki を見てください。
詳しい情報は プロジェクトウェブサイト を参照。
Cookie Monster
Cookie Monster は NoScript と似ている拡張ですがクッキーの管理を目的としています。
Cookie Monster の設定から "Block All Cookies" を設定してください。設定すると、NoScript と同じように、ツールバーの Cookie Monster アイコンをクリックするかページを右クリックしてから Cookie Monster を選択して、特定のページでクッキーの使用を許可することができます。ウェブサイトのクッキーを受け入れたり一時的にクッキーの使用を許可することが可能です。
Self-Destructing Cookies
Self-Destructing Cookies はタブを閉じたときにサイトのクッキーとローカルストレージを削除します。トラッカーやゾンビクッキーに対する防護となります。
RefControl
RefControl は HTTP リファラとして送信される情報を制御する拡張です。RefControl をインストール後、設定することで新しいウェブページにアクセスしたときにリファラが送信されないようにすることができます。アクセス元のウェブサイトをサーバーから隠すことになります。
リファラを送信しないようにするには RefControl の設定を開いて "Default for sites not listed:" を <Block> に設定してください。
RequestPolicy
RequestPolicy はクロスサイトリクエストを制御する Mozilla ブラウザ用の拡張です。最新の開発版ではデフォルトでリクエストのブラックリストとホワイトリストが作成されます。不要なクロスサイトリクエストを無効にすることでプライバシーを守り、安全にブラウジングでき、高速化されます。
クロスサイトリクエストと RequestPolicy の詳細は こちら を見て下さい。
Decentraleyes
Decentraleyes はフリーのコンテンツデリバリによるトラッキングからあなたを防護します。Google Hosted Libraries などのネットワークにリクエストが飛ぶことを止めて、サイトの表示が崩れないようにローカルファイルを使います。標準のコンテンツブロッカーを補完する拡張です。
CanvasBlocker
CanvasBlocker は JS-API をブロックあるいは偽装して Canvas-Fingerprinting を阻止します。
Random User Agent
Random User Agent はブラウザのプロファイルを定期的に変更します。他にもプライバシーを守るためのオプションが含まれています。
Privacy Settings
Privacy Settings は Firefox に組み込まれているプライバシー設定を簡単に変えるためのツールバーパネルを追加します。
Stop Fingerprinting
Stop Fingerprinting はブラウザのフィンガープリントをできないようにするためブラウザの API を無効化・改造します。
サブシステムの削除
クラッシュ レポート に関連するテレメトリは、以下を削除することで無効にすることができます:
/usr/lib/firefox/crashreporter /usr/lib/firefox/minidump-analyzer /usr/lib/firefox/pingsender
Mozilla の公式ソースから Firefox を手動でインストールすることを選択した場合は、firefox
ディレクトリの updater
を削除することでアップデータシステムを無効にすることができます。
omni.ja の内容を編集する
/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 のプロファイルディレクトリにドロップできる user.js
設定という形で、Firefox を包括的に強化した設定を維持しています。
- arkenfox/user.js (arkenfox-user.jsAUR)
- pyllyukko/user.js
- ffprofile.com (github) - オンライン user.js ジェネレータです。どの機能を有効にするか、無効にするかを選択し、最終的にあなたのプロファイルのテンプレートが入った ZIP ファイルのダウンロードリンクが得られます。例えば、Mozilla と Google にデータを送信するいくつかの機能を無効にしたり、Mozilla Hello や Pocket の統合のような Firefox のいくつかの迷惑な機能を無効にすることができます。