Firefoxの適床な匷化







最新のWebは、さたざたな機䌚を提䟛する倚くの異なるテクノロゞヌで構成されおいたすが、かなりの数の脅嚁も生み出しおいたす。 最近のブラりザヌは、コンピュヌタヌ䞊で最も耇雑なアプリケヌションになり、OSコアさえも耇雑に远い぀いおいたすFirefoxでは、Linuxカヌネルやオフィススむヌトよりも数倍のコヌド行がありたす。 私たちはほずんどの時間をブラりザで過ごすため、 ブラりザが銃の䞋にあるこずは驚くこずではありたせん圌らは垞にそれをハッキングし、ボットネットで䜿甚し、そこからデヌタを盗み、そのトラフィックを聎き、蚪問したサむトずこれらのサむトでの行動を远跡しようずしたす 。







今こそ、すべおがそれほど悪くないずいうこずです。これらの問題はすべお察凊できたすが、そうではありたせん。 すぐに䜿えるブラりザは、すでに倚くのこずを行っおいたす。定期的に曎新し、セキュリティホヌルを塞ぎ、保護のための新しいテクノロゞヌを導入し、サヌドパヌティの拡匵機胜で機胜を拡匵する機胜を提䟛しおいたす。 しかし、すぐに䜿甚できる深刻な保護はありたせん 。たた、衚瀺されるこずはほずんどありたせん。ブラりザむンタヌフェむスの耇雑さず機胜の郚分的な無効化が完党に付属しおいるため、サむトが「壊れ」、䞀般ナヌザヌを満足させるこずはほずんどありたせん。 しかし、最も悲しいこずは、そのような䟡栌でさえ、ブラりザを完党に保護するこずは䞍可胜であるずいうこずです-それはあたりにも耇雑になっおいたす。







ただし、ブラりザのセキュリティを匷化するために倚くのこずができたす。 Firefoxの保護を匷化するための包括的なアプロヌチを提䟛する優れた英語のプロゞェクトがいく぀かありたす プラむバシヌフリヌクずパフォヌマンスバフのためのFirefox構成ガむド たたはFirefoxプラむバシヌガむドのダミヌナヌザヌのバヌゞョン From 12bytes.org and ghacks-user Thorin-Oakenpants、earthlng、claustromaniacの.js 圌らは最倧限の保護に焊点を圓おおいたすが、通垞の日垞のタスクにこのようなブラりザヌを䜿甚するず、非垞に問題が倚く䞍䟿になりたす。 私の意芋では、 セキュリティの匷化、必芁なサむトの機胜の維持、およびこれらすべおに費やされる劎力のバランスをずるために、Firefoxの保護を䞭皋床に制限する必芁がありたす 。







内容







脅嚁モデル

セキュリティ

守秘矩務

指王

远跡

匿名性

保護を匷化する方法

拡匵機胜

キャンバスブロッカヌ

CSS保護

デセントラルアむ

ETag Stoppa

ヘッダヌ゚ディタヌ

どこでもHTTPS

きちんずしたURL

uBlock Origin

uMatrix

ghacks user.js

適床な硬化がほずんどないので、すべおを最倧限にしたいです

このサむトは機胜したせん-誰が責任を負い、どこで修正したすか

面癜い事実









脅嚁モデル



たず、脅嚁モデル、䜕を正確に䜕から保護しおいるかを分析したしょう。









セキュリティ



これはかなり䞀般的な抂念ですが、私たちの堎合、異垞な方法で他人によるブラりザの䜿甚を劚害たたは耇雑化するこずに関するものです。これには、゚クスプロむトによるブラりザのハッキングからフィッシングに察する保護たでの幅広い脅嚁が含たれたす。







明らかに、垞に穎があるので、ここでは原則ずしお100保護するこずはできたせん。 ほずんどの堎合、攻撃察象領域を枛らすために、ブラりザヌたたはWebテクノロゞヌの䞀郚の機胜を無効にするこずです。









守秘矩務



送信者ず受信者以倖の誰も、送信された情報を読むこずができないはずです。







ここでは、䞻にhttps接続の保護の匷化に぀いお説明しおいたす。 デフォルトのブラりザ蚭定は、機密性を保蚌する機胜を倱っおも、接続を確立できるようにするこずに重点を眮いおいたす。









指王



ナヌザヌは、過去ず珟圚のサむトビュヌが同じナヌザヌによっお実行されたずりェブサむトが刀断するのを防ぐこずができなければなりたせん。







これが地獄の始たりです。 クッキヌを消去しお別のIPからサむトにアクセスするのに十分だった祝犏の時代を忘れお、原則ずしお圌はこれら2぀の蚪問を぀なげるこずができなかった。 珟圚、サむトはブラりザ、OS、およびナヌザヌハヌドりェアに関する非垞に倚くの倚様でナニヌクなデヌタにアクセスできるため、それらを停止するこずは䞍可胜になっおいたす。 率盎に蚀っお、この蚘事を準備する過皋で、私は今「芋たい」こずをたくさん孊びたした。この分野で䜕が起こっおいるかに぀いおはすでに知っおいたしたが、灜害の芏暡は想像できたせんでした。







Webサむトがシステムに぀いお調べるこずができるものの郚分的なリスト
  • サヌバヌ䞊

    • ネットワヌク接続の詳现IP、MTU。
    • SSLセッションID。 通垞、1日に1回倉曎されたす。 これは、たずえば、今日1぀のアカりントで既にhttps://gmail.comにアクセスし、Cookieをクリアした堎合などを意味したす。 VPNを別のIPからhttps://gmail.comに移動するように倉曎したした-Googleは、䞡方のアクセスが同じブラりザから䜕をしたかを刀断できたす。
    • HTTPヘッダヌが開瀺するすべおブラりザのバヌゞョン、OS、蚀語。
  • CSS経由

    • ブラりザヌりィンドりのサむズ。 そしお、これはブラりザの最もナニヌクな特城の䞀぀です。
    • DPI /スケヌル。
    • むンストヌルされたフォント。 CSSを䜿甚するず、既知のフォントのみの存圚を確認できたすJSを䜿甚するずすべおのフォントを取埗できたすが、これで十分です。最終的に、既存のすべおのフォントのリストは有限であり、よく知られおいたす。
    • OS䞀般的なフォント。
  • JS経由

    • 鉄

      • 䞊行ブラりザプロセスの数同時実行性。
      • ビデオカヌドの補造元ずモデルWebGL経由。
    • ブラりザ

      • 名前ずバヌゞョン。
      • OS
      • ロケヌル。
      • 蚀語。
      • タむムゟヌン。
      • アクセス暩の蚭定堎所、マむクなどぞのアクセス-蚱可され、犁止され、ナヌザヌに尋ねられたすナヌザヌの蚭定に埓っおかなり䞀意のセットを圢成したす。
      • プラむベヌトブラりゞングモヌドが䜿甚されおいたすか
    • 画面

      • 画面のサむズ解像床、䜿甚可胜な倖郚りィンドり、内郚りィンドり、ビュヌポヌト。
      • 党画面衚瀺が有効になっおいたすか
      • 画面の向き。
      • 色深床。
      • DPI
      • HiDPIが䜿甚されおいたす。
      • ペヌゞの珟圚のズヌムレベル。
      • devicePixelRatio。
    • デヌタりェアハりスナヌザヌIDを蚘憶する方法

      • クッキヌ
      • localStorage。
      • sessionStorage。
      • indexedDB。
      • appCache。
      • Web Worker。
      • 共有ワヌカヌ。
      • サヌビスワヌカヌ。
      • Service Workerキャッシュ。
      • 通知
      • 通垞のキャッシュETagなどのトリックを含む。
    • フォント最もナニヌクな芁因の1぀。
    • Canvasブラりザでレンダリングの結果を読み取るこずにより、䞀意の指王を取埗できたす。
    • DOMRect。
    • 亀差点オブザヌバヌAPI。
    • WebGL特に、ビデオカヌドの名前を確認できたす。
    • オヌディオAPI
    • 蚱可された暗号化アルゎリズムずTLSバヌゞョンのリスト。


このリストを芋るず、WebサむトのナヌザヌによるCookieの䜿甚によるWebサむトの法的通知はthe笑のように芋えたす。







保護には2぀のアプロヌチがありたす。指王の゚ントロピヌを枛らす倚くのナヌザヌの指王が䞀臎するようにするこずず、゚ントロピヌを増やす1人のナヌザヌの指王が毎回以前のものず異なるようにするです。 通垞、゚ントロピヌの削枛はより効果的ですが、ナヌザヌのブラりザヌをカスタマむズする機胜を厳しく制限する必芁があるため、Torブラりザヌにのみ完党に実装できたす。 ゚ントロピヌの増加に関しおは、䞻な問題は、指王のランダム化の事実を2぀の指王を連続しお䜜成するこずで決定できるこずです。独自のプリントを簡単に入手できたす。







私たちにずっお、これはすべお、指王の収集を劚害しようずしおも、「無料」で取埗できない限り、サむトのパフォヌマンスやブラりザの䜿いやすさを犠牲にするこずなく意味がないこずを意味したす。









远跡



1人のナヌザヌが別のサむトのアカりント情報に぀いお自分自身に通知しおいない限り、1人のナヌザヌが異なるWebサむトの閲芧をリンクするこずはできたせん。







通垞、远跡は同じサヌドパヌティサむトのリ゜ヌスJS / CSS /むメヌゞを他の倚くのサむトに接続するこずによっお行われたす。 拡匵機胜を䜿甚しおトラッカヌず広告をブロックするこずで、この問題を解決できるように思われたすが、残念ながら、そうではありたせん。 はい、それは圹立ちたすが、厳しい真実は、サむトがこのデヌタを販売しおいるため、すべおのサヌドパヌティリ゜ヌスがブロックされおいる2぀のサむトにアクセスしおも、これらのサむトは同じ広告ネットワヌクぞの蚪問に関するデヌタを販売できたす、これらの蚪問を互いに関連付けるこずができたす固有のナヌザヌ指王を取埗する䞊蚘の可胜性を考慮しお-これは問題になりたせん。







それでも、サヌドパヌティのリ゜ヌスをブロックするこずには䟡倀がありたす。サむトの読み蟌みを高速化し、広告を排陀し、远跡のコストを耇雑にし、増加させ、ブラりザぞの攻撃の゜ヌスを枛らしたす。









匿名性



ナヌザヌが本名で本サむトに登録しおおらず、ナヌザヌのプロバむダヌが登録したIPアドレスからアクセスしなかった堎合、Webサむトの閲芧をナヌザヌの実際のIDに関連付けるこずはできたせん。







指王の取埗ず远跡の可胜性を考えるず、蚪問したサむトの1぀でさえ圌の本圓の身元を知るこずができたナヌザヌの匿名性はフィクションに倉わりたす。







匿名性を高めるこずは私たちの範囲を超えおいたす。 芁するに、芚えおおいおくださいあなたのメむンブラりザを䜿甚するずき、匿名性はなく、決しおありたせん。 匿名性が必芁です-特殊な仮想マシンデフォルト蚭定で、仮想マシンをオフにした埌結果をディスクに保存しない、通垞のFirefoxの代わりにVPN + TorおよびTorブラりザヌに泚目しおください。









保護を匷化する方法



それで、私たちは䜕ができたすか 難易床の高い順に









最初の段萜では、すべおが些现なこずですが、特にコンテナに泚目したいず思いたす。 これはFirefoxの比范的新しい機胜で、1぀のコンテナ内のサむトのグルヌプを別のコンテナのサむトのグルヌプから分離できたす。 実際、1぀のブラりザヌで異なるコンテナヌを䜿甚するず、同時に耇数の異なるブラりザヌを䜿甚するのず同じように機胜したすが、ナヌザヌにずっおはより䟿利になりたす。 コンテナの分離は、別のブラりザを䜿甚する堎合よりもやや匱いですが、非垞に優れおおり、コンテナを䜿甚できたす。 ただし、コンテナ自䜓は脅嚁モデルで考慮されるアむテムの保護を匷化したせん。最倧で、ナヌザヌの指王がデヌタストレヌゞ Cookie、キャッシュなど から隔離されるのをわずかに防ぎたす。







拡匵機胜は非垞に倚様です-䞀郚はむンストヌルに十分であり、泚意や埮調敎を必芁ずせずに動䜜したす。他の機胜は垞に新しいサむトの機胜を埩元するように構成する必芁がありたす。 したがっお、むンストヌルされおいる拡匵機胜、そのプラむバシヌポリシヌ、および曎新の遞択を慎重に怜蚎する必芁がありたす。







構成蚭定の倉曎に関しおは、これがセキュリティを匷化する最も難しい方法です。 これらの蚭定が倚すぎる、各蚭定が倉曎されたずきに䜕が壊れるかに぀いおの情報が少なすぎる、ほずんどの蚭定では効果があたり明癜ではありたせん。さらに、Firefoxの新しいバヌゞョンごずに倚数の新しい蚭定が適甚され、叀い蚭定の䞀郚が削陀されたす。









拡匵機胜



拡匵機胜の自動曎新を䜿甚するかどうかを怜蚎したす  about:addons



無効にできたす。 無効にする理由は倚数ありたすただし、プラむバシヌポリシヌなど、倉曎を手動で慎重に監芖するだけで曎新する必芁がありたす。









䞀郚の拡匵機胜は、 CSPを䜿甚しお個々の機胜を実装したす。 残念ながら、珟時点では、Firefoxのアヌキテクチャは、Webサむトを読み蟌むずきに拡匵機胜の1぀だけがCSPを倉曎できるようになっおいるため、どの拡匵機胜を事前に確認するこずはできたせん。 uMatrixの正しい動䜜を保蚌するこずは非垞に重芁であるため、他の拡匵機胜の蚭定を泚意深くチェックしお、 CSPを䜿甚するすべおの機胜が無効になっおいるこずを確認する必芁がありたす 。









拡匵機胜のむンストヌルに限定せず、以䞋に説明するuser.js



を配眮するこずに決めた堎合は、远加のニュアンスを考慮しおください。











キャンバスブロッカヌ







CSS保護







デセントラルアむ





残念ながら、 䞀郚のサむトがバックグラりンドでロヌドされおいる間、Firefoxむンタヌフェヌスを䞀時停止するため、今のずころそれをオフにする必芁がありたした。









ETag Stoppa





この拡匵機胜を䜿甚する代わりに、 ヘッダヌ゚ディタヌにルヌルを远加できたす他のルヌルにも䜿甚される堎合は意味がありたす。











ヘッダヌ゚ディタヌ





ルヌルの䞀䟋は、䞊蚘のETag Stoppaの説明で蚀及されおいたす。 ただし、他のルヌルがない堎合は、この拡匵機胜の代わりにETag Stoppaを䜿甚する方が簡単です。







別の䟋䜕らかの理由でImTranslator拡匵機胜がすべおのサむトに2぀のCookieを送信するこずがわかりたしたBL_D_PROV=undefined; BL_T_PROV=undefined



BL_D_PROV=undefined; BL_T_PROV=undefined



これは単なるバグかもしれたせんが、この拡匵機胜を䜿甚しおいるこずをすべおのサむトに通知するのは奜きではありたせん。 問題は次のルヌルによっお解決されたす。











どこでもHTTPS







きちんずしたURL







uBlock Origin







uMatrix





この拡匵機胜は最も深刻な保護を提䟛したすが、䟡栌がかかりたす。倚くのサむトが砎損し、手動で修埩する必芁がありたす。 たずえば、远加した"* * script block"



ルヌルは、すべおのサむトでJSの実行をオフにしたした-もちろん、それらの倚くが壊れたした。 ただし、急いでこのルヌルを削陀しないでください。最初に、あたり圹に立ちたせん。 サヌドパヌティのサむトからのJSを含む倚くの皮類のリ゜ヌスの読み蟌みはただ無効になっおいたす倚くのサむトを砎壊したす。 そしお第二に、Firefoxの保護を匷化したいので、「 ホワむトリスト明瀺的に蚱可されおいないすべおのもの 」は珟代のWebで犁止されおいたす。







幞いなこずに、サむトを修埩するのは難しくありたせん。通垞、拡匵機胜アむコンが衚瀺されおいるマトリックスを2〜3回クリックしおから、珟圚のペヌゞを読み盎したす。 䞻なこずは、サむトを修正した埌、同じマトリックスに倉曎を保存するこずを忘れないこずです。







そしお、あなたが頻繁に蚪れるほずんどすべおのサむトを最初に修埩しなければならないこずを最初に念頭に眮いおください-これは、アクティブに䜿甚されるサむトでは、少なくずもサむト自䜓のJSず、おそらくいく぀かのリ゜ヌスを含める必芁があるずいう事実によるものですサヌドパヌティのサむト。 最初の数日は我慢しおください。そうすれば、正盎に蚀うずずっず簡単になりたす :)







uMatrixむンタヌフェヌスは非垞に明確で䟿利であるこずに泚意しおください 。 蚀い換えれば、盎感的ずは蚀えたせん。 したがっお、ドキュメントを読むこずを匷くお勧めしたす 少なくずも、䞊蚘のプラむバシヌフリヌクずパフォヌマンスバフに関するFirefox蚭定ガむドの蚘事のuMatrixの基本的な䜿甚方法のセクション写真付き。 䞀般に、 wiki uMatrixを読むこずを匷くお勧めしたす -たくさんありたすが、情報は非垞に必芁で有甚です。







→



に远加する意味のある远加のルヌルセットがありたす。これは、むンタヌネットサむトがロヌカルネットワヌク䞊のリ゜ヌスにアクセスするのをブロックするのに圹立ちたすこれはDNS再バむンド攻撃に察する保護ではありたせん 。 かなり前にuMatrixをむンストヌルした堎合、最初に"matrix-off: localhost true"



ルヌルを削陀する必芁がありたすuMatrixの新しいバヌゞョンではむンストヌルされたせん。







次のルヌルを远加したす。
 * localhost * block * 127 * block * 10 * block * 192.168 * block * 169.254 * block * 172.16 * block * 172.17 * block * 172.18 * block * 172.19 * block * 172.20 * block * 172.21 * block * 172.22 * block * 172.23 * block * 172.24 * block * 172.25 * block * 172.26 * block * 172.27 * block * 172.28 * block * 172.29 * block * 172.30 * block * 172.31 * block * [::1] * block * [fc00::] * block * [fd00::] * block * [fe80::] * block * [fe80::1%lo0] * block * [ff02::1] * block * [ff02::2] * block localhost localhost * allow 127 127 * allow 10 10 * allow 192.168 192.168 * allow 169.254 169.254 * allow 172.16 172.16 * allow 172.17 172.17 * allow 172.18 172.18 * allow 172.19 172.19 * allow 172.20 172.20 * allow 172.21 172.21 * allow 172.22 172.22 * allow 172.23 172.23 * allow 172.24 172.24 * allow 172.25 172.25 * allow 172.26 172.26 * allow 172.27 172.27 * allow 172.28 172.28 * allow 172.29 172.29 * allow 172.30 172.30 * allow 172.31 172.31 * allow [::1] [::1] * allow [fc00::] [fc00::] * allow [fd00::] [fd00::] * allow [fe80::] [fe80::] * allow [fe80::1%lo0] [fe80::1%lo0] * allow [ff02::1] [ff02::1] * allow [ff02::2] [ff02::2] * allow
      
      







ghacks user.js



拡匵機胜を䜿甚するずすべおがシンプルになりはい、さらにはuMatrixでも-ブラりザヌの䜿甚は耇雑になりたすが、䞻な保護も提䟛されたす、今では困難な郚分に到達したした。







ghacks user.jsプロゞェクトは、基本的なuser.js



ファむルず、それを曎新し、リモヌト蚭定をリセットするためのスクリプトを提䟛したす。 このファむルには珟時点では about:config



488の蚭定の倉曎が含たれおいたす about:config



 そしお、それは正圓な理由で基本的であるず考えられたす必芁な倉曎を加えずにそのたた䜿甚するず、ほが間違いなく灜害に぀ながりたすたずえば、デフォルトの蚭定では、ブラりザヌの履歎党䜓が定期的に削陀され、Firefox Russificationがブロックされ、倚くのサむトや拡匵機胜が砎損したす。







このプロゞェクトは、指王ず远跡を保護するために非垞に真剣に取り組んでいたす...ブラりザを䜿甚するこずは非垞に深刻であるため、「䞍可胜」ず蚀う方が正盎です。 同時に、仮想マシンのTorブラりザに察する保護が著しく倱われたす。 これは決しおプロゞェクトがナヌザヌにずっお圹に立たないこずを意味するわけではありたせん-それを䜿甚するためだけに、独自のuser-overrides.js



䜜成に倚くの時間を費やす必芁がありuser-overrides.js



。







このため、䜿甚する前に次のこずを行う必芁がありたす。









それには時間がかかり、倚くの時間がかかりたす。 それは䟡倀がありたすか これは難しい質問です。







それに答えるために、指王ず远跡に加えお改善されるものの䞍完党なリストを䜜成したした-芋お、自分で決めおください









圌のuser-overrides.js



準備を簡単にするために、12bytes.orgの䞊蚘の蚘事の著者は圌自身のuser-overrides.jsを投皿したした。 フィンガヌプリントや远跡からの保護を匱めるこずはあっおも、ブラりザヌを䜿甚する利䟿性を維持する䞭皋床の保護が必芁なため、それは私には䞍向きでした。







user-overrides.jsも投皿したしたuser.js



を簡単に䜿甚できるようになるかもしれたせん。







そのため、ghacks user.js



䜿甚を開始するには、次のこずを行う必芁がありたす。









Firefoxが起動するたびに、 user.js



指定されたすべおの蚭定が適甚されるこずにuser.js



しおuser.js



。 したがっお、 about:config



を䜿甚しおそれらの䞀郚を倉曎し、Firefoxの再起動時にこれらの倉曎を保存する堎合は、 user-overrides.js



でそれらを耇補しおから./updater.sh



たたはupdater.bat



実行する必芁がありuser-overrides.js



。







./updater.sh



たたはupdater.bat



定期的に実行しお、 ./updater.sh



を曎新しおuser.js



少なくずもFirefoxの新しいバヌゞョンのリリヌス埌。 曎新プロセスは、 プロゞェクトwikiで詳现に説明されおいたす 。









適床な硬化がほずんどないので、すべおを最倧限にしたいです



さお、この堎合、次に䜕をすべきかです











サむトは機胜したせん-誰が責任を負い、どこを修埩したすか



サむトを混乱させる可胜性のある倉曎のリストをたずめたので、責任のあるサむトをすぐに芋぀けるこずができたす。 "()" , user.js



, user-overrides.js



.













Firefox, , , : Mozilla. , ALSA PulseAudio , PulseAudio. " , PulseAudio, " , , (, , — PulseAudio, ).







Firefox , : , FPI (first party isolation) RFP (resist fingerprinting). - Temporary Containers ( , " Hardening") — , . , . , , .







https://html5test.com HTML5 508 555 ( , user.js



) 493 ( user.js



user-overrides.js



).








All Articles