Pengerasan Sedang untuk Firefox


Web modern terdiri dari banyak teknologi berbeda yang menyediakan berbagai peluang ... tetapi juga menciptakan sejumlah besar ancaman. Peramban modern telah lama menjadi aplikasi paling kompleks di komputer, bahkan di atas kompleksitas inti OS (di Firefox beberapa kali lebih banyak baris kode daripada di kernel Linux atau office suites). Kami menghabiskan sebagian besar waktu kami di peramban, jadi tidak mengherankan bahwa peramban ada di bawah kendali: mereka terus-menerus mencoba meretasnya, menggunakannya di botnet, mencoba mencuri data kami darinya, mendengarkan lalu lintasnya, melacak situs yang kami kunjungi dan tindakan kami di situs-situs ini .


Sekarang adalah waktunya untuk mengatakan bahwa semuanya tidak terlalu buruk, dan semua masalah ini dapat diatasi ... tetapi tidak demikian halnya. Out of the box, browser sudah melakukan banyak hal: mereka secara teratur memperbarui, mencoba menyumbat lubang keamanan, memperkenalkan teknologi baru untuk perlindungan, menyediakan kemampuan untuk memperluas fungsionalitas mereka dengan ekstensi pihak ketiga. Tetapi tidak ada perlindungan serius di luar kotak , dan sepertinya tidak akan pernah muncul: dilengkapi dengan komplikasi antarmuka browser dan penonaktifan sebagian fungsinya, yang β€œmerusak” situs dan tidak mungkin menarik bagi pengguna biasa. Tetapi hal yang paling menyedihkan adalah bahwa bahkan pada harga seperti itu tidak mungkin untuk sepenuhnya melindungi browser - itu menjadi terlalu rumit.


Namun, Anda dapat melakukan banyak hal untuk meningkatkan keamanan browser. Ada beberapa proyek bagus (Inggris) yang menawarkan pendekatan komprehensif untuk perlindungan Firefox tambahan: Panduan Konfigurasi Firefox untuk Freaks Privasi dan artikel Penggemar Kinerja (atau versinya untuk pengguna biasa . Panduan Privasi Firefox Untuk Dummies! ) Dari 12bytes.org dan ghacks -user .js dari Thorin-Oakenpants, earthlng dan claustromaniac. Mereka fokus pada perlindungan maksimal, tetapi menggunakan browser seperti itu untuk tugas sehari-hari biasa menjadi sangat bermasalah dan tidak nyaman. Menurut pendapat saya, Anda harus membatasi diri pada perlindungan Firefox yang moderat untuk mencapai keseimbangan antara memperkuat keamanan, mempertahankan fungsionalitas situs yang kita butuhkan, dan upaya yang dilakukan untuk semua ini .


Konten:


Model Ancaman
Keamanan
Kerahasiaan
Sidik jari
Pelacakan
Anonimitas
Cara yang tersedia untuk meningkatkan perlindungan
Ekstensi
Canvasblocker
Perlindungan CSS Exfil
Decentraleyes
ETag Stoppa
Editor kepala
HTTPS Everywhere
URL yang rapi
uKunci Asal
uMatrix
ghack user.js
Saya memiliki sedikit Pengerasan sedang, saya ingin semuanya maksimal!
Situs tidak berfungsi - siapa yang harus disalahkan, di mana memperbaikinya?
Fakta lucu



Model Ancaman


Untuk memulainya, mari kita menganalisis model ancaman, apa yang sebenarnya kita lindungi dan dari apa.



Keamanan


Ini adalah konsep yang cukup umum, tetapi dalam kasus kami, ini tentang menghambat atau mempersulit penggunaan peramban oleh orang lain dengan cara yang tidak normal: ini mencakup berbagai ancaman dari peretasan peramban dengan eksploitasi terhadap perlindungan terhadap phishing.


Jelas, akan selalu ada lubang, jadi pada prinsipnya tidak bisa 100% perlindungan di sini. Untuk sebagian besar, ini tentang menonaktifkan beberapa fitur browser atau teknologi web untuk mengurangi permukaan serangan.



Kerahasiaan


Tidak seorang pun kecuali pengirim dan penerima harus dapat membaca informasi yang dikirimkan.


Di sini kita berbicara terutama tentang meningkatkan perlindungan koneksi https. Pengaturan browser default lebih fokus untuk memastikan bahwa koneksi dapat dibuat, bahkan dengan mengorbankan kemampuan untuk menjamin kerahasiaannya.



Sidik jari


Pengguna harus dapat mencegah situs web menentukan bahwa tampilan situs sebelumnya dan saat ini dilakukan oleh pengguna yang sama.


Di sinilah neraka dimulai. Lupakan saat-saat yang diberkati ketika itu cukup untuk menghapus cookie dan mengakses situs dari IP yang berbeda, sehingga pada prinsipnya dia tidak dapat menghubungkan dua kunjungan ini. Sekarang situs memiliki akses ke begitu banyak data yang beragam dan unik tentang browser, OS, dan perangkat keras pengguna sehingga tidak mungkin untuk menghentikannya. Sejujurnya, dalam proses mempersiapkan artikel ini saya belajar banyak hal yang sekarang saya ingin "melihat" - meskipun saya sudah tahu banyak tentang apa yang terjadi di daerah ini, tetapi saya tidak membayangkan skala bencana.


Sebagian daftar situs web apa yang bisa mengetahui tentang sistem Anda:
  • Di server:
    • Rincian Koneksi Jaringan (IP, MTU).
    • ID Sesi SSL. Biasanya berubah sekali sehari. Dan ini berarti bahwa, misalnya, jika Anda sudah pergi ke https://gmail.com di bawah satu akun hari ini, dan kemudian menghapus cookie, dll. dan mengubah VPN untuk membuka https://gmail.com dari IP lain - Google masih dapat menentukan apa yang dilakukan oleh kedua kunjungan dari browser yang sama.
    • Semua yang diungkapkan header HTTP: versi browser, OS, bahasa.
  • Melalui CSS:
    • Ukuran jendela browser. Selain itu, ini adalah salah satu karakteristik peramban yang paling unik.
    • DPI / skala.
    • Font yang dipasang. Melalui CSS, Anda dapat memeriksa keberadaan hanya font yang sebelumnya dikenal (JS memungkinkan Anda untuk mendapatkan semua font), tetapi ini lebih dari cukup - pada akhirnya, daftar semua font yang ada adalah terbatas dan terkenal.
    • OS (dalam font khas).
  • Melalui JS:
    • Besi:
      • Jumlah proses browser paralel (konkurensi).
      • Pabrikan dan model kartu video (via WebGL).
    • Browser:
      • Nama dan versi.
      • OS
      • Lokal.
      • Bahasa
      • Zona waktu.
      • Pengaturan hak akses (akses ke lokasi, mikrofon, dll.) - yang diizinkan, yang dilarang, yang akan ditanyakan oleh pengguna (yang juga membentuk set yang agak unik sesuai dengan pengaturan pengguna).
      • Apakah mode penelusuran pribadi digunakan?
    • Layar:
      • Dimensi (resolusi) layar, tersedia, jendela eksternal, jendela internal, viewport.
      • Apakah layar penuh diaktifkan?
      • Orientasi layar.
      • Kedalaman warna.
      • DPI
      • Apakah HiDPI digunakan.
      • Level zoom halaman saat ini.
      • devicePixelRatio.
    • Gudang Data (cara mengingat ID pengguna):
      • Kue kering
      • Penyimpanan lokal.
      • sessionStorage.
      • indexedDB.
      • appCache.
      • Pekerja Web.
      • Pekerja Bersama.
      • Pekerja Servis.
      • Tembolok Pekerja Layanan.
      • Notifikasi
      • Cache normal (termasuk trik dengan ETag, dll.).
    • Font (salah satu faktor paling unik).
    • Kanvas (Anda bisa mendapatkan sidik jari unik dengan membaca hasil rendering oleh browser).
    • DOMRect.
    • API Pengamat titik-temu.
    • WebGL (antara lain, Anda dapat mengetahui nama kartu video).
    • API Audio
    • Daftar algoritma enkripsi yang diizinkan dan versi TLS.

Setelah melihat daftar ini, pemberitahuan hukum yang diperlukan oleh situs web dari situs web tentang penggunaan cookie terlihat seperti ejekan.


Ada dua pendekatan untuk perlindungan: mengurangi entropi sidik jari (sehingga bagi banyak pengguna sidik jari cocok) dan meningkatkan entropi (sehingga sidik jari satu pengguna berbeda dari yang sebelumnya setiap kali). Biasanya, mengurangi entropi berfungsi lebih baik, tetapi kurang lebih sepenuhnya dapat diterapkan hanya di browser Tor, karena untuk ini perlu sangat membatasi kemampuan pengguna untuk menyesuaikan browser, dan browser tujuan umum tidak mampu membelinya. Adapun peningkatan entropi, masalah utama adalah bahwa fakta pengacakan sidik jari dapat ditentukan (dengan membuat dua sidik jari berturut-turut), setelah itu alih-alih nilai spesifik dari sidik jari tanda "sidik jari palsu" mulai digunakan, yang dengan sendirinya menempatkan Anda dalam kategori pengguna yang sangat sempit dan membuatnya mudah untuk mendapatkan cetakan unik untuk Anda.


Bagi kami, semua ini berarti bahwa bahkan mencoba untuk menghalangi pengumpulan sidik jari kami tidak masuk akal, kecuali dapat diperoleh "gratis" - tanpa mengorbankan kinerja situs dan kegunaan browser.



Pelacakan


Seharusnya tidak mungkin untuk menautkan penelusuran situs web yang berbeda oleh satu pengguna, kecuali ia sendiri telah memberi tahu satu situs tentang informasi akunnya di situs lain.


Biasanya pelacakan dilakukan dengan menghubungkan sumber daya (JS / CSS / image) dari situs pihak ketiga yang sama ke banyak situs lainnya. Tampaknya menggunakan ekstensi untuk memblokir pelacak dan iklan harus menyelesaikan masalah ini ... tetapi, sayangnya, tidak demikian. Ya, itu membantu, tetapi kebenarannya adalah bahwa situs menjual data ini, jadi meskipun Anda mengunjungi dua situs di mana semua sumber daya pihak ketiga diblokir, situs-situs ini masih dapat menjual data tentang kunjungan Anda ke jaringan periklanan yang sama , yang akan memungkinkan dia untuk menghubungkan kunjungan ini satu sama lain (dengan mempertimbangkan kemungkinan yang disebutkan di atas untuk mendapatkan sidik jari pengguna yang unik - ini tidak akan menjadi masalah).


Namun demikian, memblokir sumber daya pihak ketiga masih sepadan - ini mempercepat pemuatan situs, menghilangkan iklan, mempersulit dan meningkatkan biaya pelacakan, dan juga mengurangi sumber serangan pada browser.



Anonimitas


Seharusnya tidak mungkin menghubungkan tampilan situs web dengan identitas asli pengguna jika dia tidak mendaftar di situs web ini dengan nama aslinya dan tidak mengaksesnya dari alamat IP yang terdaftar oleh penyedia pada dirinya.


Mengingat kemungkinan mendapatkan sidik jari dan pelacakan - anonimitas pengguna, yang setidaknya salah satu situs yang dikunjungi memungkinkannya untuk mengetahui identitas aslinya, berubah menjadi fiksi.


Meningkatkan anonimitas berada di luar jangkauan kami. Singkatnya, perlu diingat: tidak ada anonimitas saat menggunakan browser utama Anda, dan tidak akan pernah ada. Diperlukan anonimitas - lihat virtualoks khusus (dengan pengaturan default dan tanpa menyimpan hasil ke disk setelah mematikan virtualka), VPN + Tor dan Tor-browser alih-alih Firefox biasa.



Cara yang tersedia untuk meningkatkan perlindungan


Jadi apa yang bisa kita lakukan? Dalam urutan kesulitan yang meningkat:


  • Anda dapat menggunakan kapabilitas bawaan peramban untuk mengontrol dan mengisolasi situs web secara individual:
    • Wadah
    • Jendela pribadi.
    • Manajemen hak akses untuk situs web.
    • Memblokir cookie pihak ketiga dan pelacak terkenal.
    • Penghapusan data / cache yang disimpan oleh situs web.
  • Anda dapat menginstal berbagai ekstensi.
  • Anda dapat bermain-main di antara beberapa ribu pengaturan browser yang tersedia di about:config dan ubah beberapa di antaranya.

Dengan paragraf pertama, semuanya sepele, tapi saya ingin terutama mencatat wadahnya. Ini adalah fitur Firefox yang relatif baru yang memungkinkan Anda mengisolasi sekelompok situs dalam satu wadah dari sekelompok situs di wadah lain. Sebenarnya, menggunakan wadah yang berbeda dalam satu browser harus bekerja dengan cara yang sama seperti menggunakan beberapa browser yang berbeda pada saat yang sama - tetapi membuatnya lebih nyaman bagi pengguna. Isolasi wadah masih sedikit lebih lemah daripada saat menggunakan browser yang berbeda, tetapi cukup baik dan wadah dapat digunakan. Namun, wadah itu sendiri tidak meningkatkan perlindungan dari salah satu poin yang dipertimbangkan dalam model ancaman kami - maksimal, mereka sedikit mencegah sidik jari pengguna dari diisolasi dari penyimpanan data ( cookie, cache, dll .).


Perluasan terdapat yang paling beragam - beberapa sudah cukup untuk dipasang dan mereka akan bekerja tanpa memerlukan perhatian dan penyempurnaan, yang lainnya harus selalu dikonfigurasi untuk memulihkan fungsionalitas situs baru, dan yang lain merupakan ancaman terhadap keamanan, privasi, dan pelacakan. Karena itu, Anda harus mempertimbangkan dengan hati-hati pilihan ekstensi yang dipasang, kebijakan privasi mereka, dan pembaruannya.


Adapun mengubah about:config pengaturan about:config , ini adalah cara paling sulit untuk meningkatkan keamanan. Terlalu banyak dari pengaturan ini, terlalu sedikit informasi tentang apa yang mungkin pecah ketika setiap pengaturan diubah, efeknya tidak terlalu jelas bagi kebanyakan dari mereka, ditambah setiap versi baru Firefox membawa serta banyak pengaturan baru dan menghapus beberapa yang lama.



Ekstensi


Pikirkan apakah akan menggunakan pembaruan ekstensi otomatis (Anda dapat mematikannya about:addons ). Ada banyak alasan mengapa Anda harus menonaktifkannya (tetapi Anda masih perlu memperbaruinya, hanya secara manual dan hati-hati memonitor perubahan, termasuk kebijakan privasi):


  • Pengembang secara teratur memutuskan untuk mulai memonetisasi ekstensi dengan cara yang, dalam konteks artikel ini, Anda pasti tidak akan suka.
  • Pengembang terkadang menjual ekstensi, dan pemilik baru mereka biasanya membuat perubahan padanya, yang juga tidak Anda sukai.
  • Ekstensi sesekali "membajak" pengembang.
  • Versi yang lebih baru dapat merusak kompatibilitas dengan konfigurasi dan / atau buggy Anda saat ini.

Beberapa ekstensi menggunakan CSP untuk mengimplementasikan fitur individual. Sayangnya, saat ini, arsitektur Firefox sedemikian rupa sehingga hanya satu ekstensi yang dapat memodifikasi CSP saat memuat situs web - dan Anda tidak dapat memastikan yang mana dari mereka terlebih dahulu. Karena sangat penting untuk menjamin operasi uMatrix yang benar , Anda perlu memeriksa pengaturan ekstensi lainnya dengan hati-hati untuk memastikan bahwa semua fitur yang menggunakan CSP dinonaktifkan di dalamnya:


  • uBlock Asal : Matikan β†’ β†’ β†’ [ ] (Saya jelas tidak yakin, tetapi logis untuk menganggap bahwa untuk masing-masing situs ini juga lebih baik untuk tidak mengaktifkan).
  • HTTPS Everywhere : Disable β†’ [ ] (EASE) .
  • CanvasBlocker : Nonaktifkan β†’ β†’ [ ] Block data URL pages (untuk melihat item ini Anda perlu mengaktifkan β†’ [βœ“] ).

Jika Anda memutuskan untuk tidak membatasi diri untuk memasang ekstensi, dan menempatkan user.js dijelaskan di bawah ini, maka pertimbangkan nuansa tambahan:


  • user.js konfigurasi user.js disarankan memerlukan penggunaan ekstensi uMatrix .
  • Beberapa pengaturan di user-overrides.js diperlukan agar tidak menghentikan pekerjaan beberapa ekstensi - sesuaikan dengan ekstensi apa yang telah Anda instal.


Canvasblocker


  • Tautan
  • Melindungi: Sidik jari.
  • Deskripsi: Menyulitkan untuk mengambil sidik jari melalui API yang berbeda: Canvas, WebGL, Audio, History, Window (dinonaktifkan secara default - dapat merusak situs), DOMRect.
  • Gunakan: Bekerja secara otomatis, tidak memerlukan perhatian. Menunjukkan ikon terpisah di akhir bilah alamat di situs yang mencoba menggunakan API yang dilindungi (melaluinya Anda dapat menonaktifkan pemblokiran di situs tertentu).
  • Ikon: Dapat disembunyikan di menu lanjutan.
  • Pengaturan:
     [βœ“]   [βœ“] Block data URL pages` (  CSP  uMatrix) 


Perlindungan CSS Exfil


  • Tautan
  • Melindungi: Kerahasiaan.
  • Deskripsi: Memblokir serangan seperti exfiltrasi data CSS (pencurian data dari halaman melalui penggunaan penyeleksi CSS spesifik).
  • Gunakan: Bekerja secara otomatis, tidak memerlukan perhatian.
  • Ikon: Dapat disembunyikan di menu lanjutan.
  • Pengaturan: Tidak diperlukan.


Decentraleyes


  • Tautan
  • Melindungi: Melacak.
  • Deskripsi: Melindungi dari pelacakan CDN "bebas". Ini berisi file-file populer yang biasanya diminta melalui CDN, dan memberikannya ke browser tanpa melakukan permintaan jaringan nyata untuk CDN. Efek samping - sedikit mempercepat pemuatan situs.
  • Gunakan: Bekerja secara otomatis, tidak memerlukan perhatian.
  • Ikon: Dapat disembunyikan di menu lanjutan.
  • Pengaturan: Tidak diperlukan.

Sayangnya, bagi saya itu menangguhkan antarmuka Firefox sementara beberapa situs memuat di latar belakang , jadi saya harus mematikannya untuk saat ini.



ETag Stoppa


  • Tautan
  • Melindungi: Sidik jari.
  • Deskripsi: Menghapus tajuk ETag: dari respons server.
  • Gunakan: Bekerja secara otomatis, tidak memerlukan perhatian.
  • Ikon: Tidak Ada.
  • Pengaturan: Tidak diperlukan.

Alih-alih menggunakan ekstensi ini, Anda bisa menambahkan aturan ke Header Editor (masuk akal jika digunakan untuk aturan lain juga):


  • Jenis aturan: Ubah tajuk respons
  • Jenis pencocokan: Semua
  • Jenis pelaksanaan: Fungsi kustom
  • Fungsi kustom:
     for (const a in val) { if (val[a].name.toLowerCase() === 'etag') { val[a].value = ''; } } 


Editor kepala


  • Tautan
  • Melindungi: Bergantung pada bagaimana menggunakannya.
  • Deskripsi: Memungkinkan Anda menetapkan aturan sendiri untuk memblokir atau mengalihkan permintaan, serta mengubah tajuk permintaan atau tanggapan.
  • Gunakan: Bekerja secara otomatis, tidak memerlukan perhatian.
  • Ikon: Dapat disembunyikan di menu lanjutan.
  • Pengaturan: Dengan sendirinya, dia tidak melakukan apa pun - Anda harus menentukan aturan untuknya.

Salah satu contoh aturan disebutkan di atas dalam deskripsi ETag Stoppa . Tetapi jika tidak ada aturan lain, maka lebih mudah untuk menggunakan ETag Stoppa daripada ekstensi ini.


Contoh lain: Saya menemukan bahwa ekstensi ImTranslator karena suatu alasan mengirim dua cookie ke semua situs: BL_D_PROV=undefined; BL_T_PROV=undefined BL_D_PROV=undefined; BL_T_PROV=undefined . Mungkin ini hanya bug, tapi saya tidak suka itu memberitahu semua situs yang saya gunakan ekstensi ini. Masalahnya dipecahkan oleh aturan ini:


  • Jenis aturan: Ubah tajuk permintaan
  • Jenis pencocokan: Semua
  • Jenis pelaksanaan: Fungsi kustom
  • Fungsi kustom:
     for (const a in val) { if (val[a].name.toLowerCase() === 'cookie') { val[a].value = val[a].value.split(/;\s*/).filter((kv)=>{ return !kv.match(/^BL_[DT]_PROV=/) }).join('; '); if (val[a].value === '') { delete val[a]; } } } 


HTTPS Everywhere


  • Tautan
  • Melindungi: Kerahasiaan.
  • Deskripsi: Secara otomatis beralih ke https jika memungkinkan.
  • Penggunaan: Ini berfungsi secara otomatis, hampir tidak memerlukan perhatian (terakhir kali saya merusak situs karena ekspansi ini satu setengah tahun yang lalu).
  • Ikon: Digunakan untuk menyesuaikan situs.
  • Pengaturan: Tidak diperlukan.


URL yang rapi


  • Tautan
  • Melindungi: Melacak.
  • Deskripsi: Menghapus parameter sampah dari URL.
  • Gunakan: Bekerja secara otomatis, tidak memerlukan perhatian.
  • Ikon: Dapat disembunyikan di menu lanjutan.
  • Pengaturan: Tidak diperlukan.


uKunci Asal


  • Tautan
  • Melindungi: Keamanan, Sidik Jari, Pelacakan.
  • Deskripsi: Pemblokir otomatis (berdasarkan daftar pihak ketiga) dari setiap sampah berdasarkan jenis dan / atau url, serta elemen halaman individual: dari iklan dan pemberitahuan tentang penggunaan cookie oleh situs hingga pelacak dan malvari.
  • Gunakan: Kadang-kadang, Anda perlu mengatur situs baru.
  • Ikon: Diperlukan untuk mengonfigurasi situs saat ini, termasuk secara manual memblokir elemen halaman individual.
  • Pengaturan: (daftar filter - masalah preferensi pribadi)
      [βœ“]     β†’  [βœ“]    IP-  WebRTC [βœ“]  CSP-   β†’  [βœ“] uBlock filters – Annoyances   β†’  [βœ“] Adblock Warning Removal List   β†’  [βœ“] Fanboy's Enhanced Tracking List   β†’   [βœ“] Malvertising filter list by Disconnect [βœ“] Spam404   β†’   [βœ“] AdGuard Annoyances filter [βœ“] Fanboy's Cookie List [βœ“] Fanboy's Annoyance List   β†’  [βœ“] Dan Pollock's hosts file [βœ“] hpHosts' Ad and tracking servers   β†’ ,  [βœ“] RUS: RU AdList 


uMatrix


  • Tautan
  • Melindungi: Keamanan, Sidik Jari, Pelacakan.
  • Deskripsi: Pemblokir manual sumber daya individual berdasarkan jenis dan domain.
  • Gunakan: Secara teratur perlu mengatur situs baru.
  • Ikon: Diperlukan untuk mengonfigurasi situs saat ini.
  • Pengaturan:


      β†’  [βœ“]      β†’  [βœ“]      [1440]     [βœ“]       [βœ“]     [1440]  #   referer  uMatrix    user.js: [ ]   HTTP referrer      [βœ“]  HTTPS:    #  " ",    ""  "":  β†’   * * script block 


Ekstensi ini memberikan perlindungan paling serius, tetapi ada harganya: banyak situs akan rusak dan perlu diperbaiki secara manual. Misalnya, aturan "* * script block" baru ditambahkan mematikan eksekusi JS di semua situs - yang, tentu saja, menghancurkan banyak dari mereka. Tetapi jangan buru-buru menghapus aturan ini: pertama, itu tidak akan banyak membantu, karena memuat banyak jenis sumber daya termasuk JS dari situs pihak ketiga masih dinonaktifkan (yang juga merusak banyak situs); dan kedua, pendekatan " daftar putih: dilarang segala sesuatu yang tidak diizinkan secara eksplisit " di web modern adalah satu-satunya yang dapat diterima karena Anda ingin memperkuat perlindungan Firefox.


Berita baiknya adalah tidak sulit untuk memperbaiki situs - biasanya hanya dua atau tiga klik dalam matriks, yang menunjukkan ikon ekstensi, dan kemudian membaca kembali halaman saat ini. Hal utama adalah jangan lupa untuk menyimpan perubahan dalam matriks yang sama setelah Anda memperbaiki situs.


Dan bersiap-siaplah secara mental bahwa pertama kali Anda harus memperbaiki hampir setiap situs yang sering Anda kunjungi - ini disebabkan oleh fakta bahwa pada situs yang digunakan secara aktif, Anda hampir pasti harus menyertakan setidaknya JS situs itu sendiri, plus, mungkin, beberapa sumber daya dengan situs pihak ketiga. Bersabarlah di hari-hari pertama, maka itu akan menjadi jauh lebih mudah, jujur! :)


Perlu dicatat bahwa antarmuka uMatrix sangat jelas dan nyaman - setelah Anda mengatasinya. Dengan kata lain, itu tidak bisa disebut intuitif. Karena itu, sangat disarankan untuk membaca dokumentasi! Minimal, bagian penggunaan dasar uMatrix (dengan gambar) dari Panduan Konfigurasi Firefox di atas untuk Privasi Freaks dan artikel Penggemar Kinerja . Secara umum, saya sangat merekomendasikan membaca uMatrix wiki - ada banyak hal, tetapi informasi ini sangat diperlukan dan berguna.


Ada seperangkat aturan tambahan lain yang mungkin masuk akal untuk ditambahkan ke β†’ - ini akan membantu memblokir akses ke sumber daya di jaringan lokal untuk situs di Internet (ini bukan perlindungan terhadap serangan pemberontakan DNS). Jika Anda menginstal uMatrix sejak lama, Anda harus terlebih dahulu menghapus aturan "matrix-off: localhost true" (versi baru uMatrix tidak menginstalnya).


Tambahkan aturan ini:
 * 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 


ghack user.js


Semuanya sederhana dengan ekstensi (ya, dan bahkan dengan uMatrix - meskipun menyulitkan penggunaan browser, itu juga memberikan perlindungan dasar), dan sekarang kita sampai pada bagian yang sulit.


Proyek ghacks user.js memberi kami file user.js dasar, ditambah skrip untuk memperbarui dan mengatur ulang pengaturan jarak jauh. File ini mengandung (saat ini) perubahan 488 pengaturan di about:config ! Dan itu dianggap mendasar karena beberapa alasan: menggunakannya sebagaimana adanya, tanpa melakukan perubahan yang Anda butuhkan, hampir pasti akan menyebabkan bencana (misalnya, pengaturan defaultnya secara berkala menghapus seluruh riwayat browser, memblokir Firefox Russification, memecah banyak situs dan ekstensi).


Proyek ini melakukan upaya yang sangat serius untuk melindungi Sidik Jari dan Pelacakan ... sangat serius sehingga penggunaan browser menjadi sangat tidak nyaman sehingga lebih jujur ​​untuk mengatakan "tidak mungkin". Dan pada saat yang sama, ia kehilangan perlindungan terhadap browser Tor di mesin virtual. Ini sama sekali tidak berarti bahwa proyek ini tidak berguna bagi pengguna - hanya untuk menggunakannya, Anda harus menghabiskan banyak waktu untuk membuat user-overrides.js Anda sendiri.


Karena alasan ini, sebelum menggunakannya, Anda harus:


  • Baca dengan hati-hati user.js sendiri (sekitar 2300 baris).
  • Baca dengan cermat semua halaman wiki proyek .
  • Buat file user-overrides.js Anda sendiri dengan semua perubahan terkait user.js yang Anda butuhkan secara pribadi.
  • Buat cadangan profil Firefox Anda !!!
  • Dan hanya kemudian mengaktifkan user.js

Butuh waktu, dan banyak. Apakah itu sepadan? Ini pertanyaan yang sulit.


Untuk menjawabnya, saya membuat daftar (tidak lengkap) tentang apa yang diperbaiki selain Sidik Jari dan Pelacakan - lihat dan putuskan sendiri:


  • Keamanan:
    • Menonaktifkan Autentikasi HTTP lintas-asal (phishing akun).
    • Meningkatkan perlindungan saat menggunakan kata sandi yang tersimpan .
    • Meningkatkan keamanan saat menggunakan TLS dan sertifikat .
    • Batas dukungan font (probabilitas kerentanan tinggi).
    • Menonaktifkan plugin DRM .
    • Nonaktifkan WebGL (probabilitas kerentanan tinggi).
    • Batasi fitur WebGL jika diaktifkan (probabilitas kerentanan tinggi).
    • Menonaktifkan semua jenis opsi pekerja (penambang, Meltdown / Spectre).
    • Menonaktifkan asm.js (probabilitas kerentanan tinggi).
    • Nonaktifkan WebAssembly .
    • Menonaktifkan Memori Bersama (Spectre).
    • Menambahkan rel=noopener untuk tautan dengan target=_blank (keamanan).
    • Meningkatkan perlindungan saat berinteraksi dengan aplikasi lokal pihak ketiga .
    • Menonaktifkan MathML (pengurangan permukaan serangan).
    • Punycode Pasukan untuk IDN (anti spoofing).
    • Mengaktifkan dukungan eksperimental untuk CSP 1.1 .
    • Termasuk isolasi pihak pertama .
  • Kebocoran, penanganan:
    • Menonaktifkan telemetri dan fitur Firefox yang terkait dengannya (rekomendasi, dll.).
    • Menonaktifkan layanan pihak ketiga seperti Pocket.
    • Ia memblokir pemompaan tautan yang tidak diklik (ping, pra-pengambilan, dll.).
    • Menonaktifkan fitur jaringan di mana Anda dapat mem-bypass proxy / VPN dan mencari tahu IP (termasuk IPv6 dan WebRTC).
    • Membatasi kebocoran riwayat halaman sebelumnya di tab saat ini.
    • Nonaktifkan : dikunjungi (kebocoran sejarah).
    • Ini memblokir kebocoran saat mengetik alamat / teks baris pencarian melalui petunjuk mesin pencari .
    • Menonaktifkan berbagi layar .
    • Menolak akses ke papan klip .
    • Nonaktifkan Intersection Observer API (stabilitas, definisi pemblokir iklan).

Untuk menyederhanakan persiapan user-overrides.js penulis artikel di atas di 12bytes.org memposting user-overrides.js miliknya. Itu pasti tidak cocok untuk saya, karena saya membutuhkan perlindungan sedang , yang menjaga kenyamanan menggunakan browser, bahkan dengan biaya melemahkan perlindungan dari Sidik Jari dan Pelacakan.


Saya juga memposting user-overrides.js saya , mungkin itu akan membuatnya lebih mudah bagi Anda untuk menggunakan user.js


Jadi, untuk mulai menggunakan user.js Anda perlu melakukan hal berikut:


  • WAJIB! Buat cadangan profil Firefox Anda saat ini.
  • Unduh file-file berikut dari proyek ghacks user.js ke direktori profil Anda saat ini:
    • user.js
    • updater.sh (dan membuatnya bisa dilakukan) atau updater.bat
    • prefsCleaner.sh (dan membuatnya bisa dilakukan) atau prefsCleaner.bat
  • Buat file user-overrides.js di direktori profil Anda saat ini.
    • Anda bisa mengunduh user-overrides.js saya , lalu masukkan nilai dom.push.userAgentID Anda saat ini dom.push.userAgentID dan buat perubahan yang Anda butuhkan.
  • Jalankan ./updater.sh atau updater.bat . Ini akan memperbarui user.js dan menambahkan konten user-overrides.js di bagian akhir.
  • Keluar dari Firefox dan jalankan ./prefsCleaner.sh atau prefsCleaner.bat . Ini akan menghapus dari file prefs.js (berisi Anda saat ini about:config pengaturan about:config ) semua pengaturan yang disebutkan dalam user.js (termasuk yang berkomentar).
  • Luncurkan Firefox. Tekan Ctrl-Shift-Del dan hapus (sepanjang waktu):
    • Kue kering
    • Cache.
    • Data situs web offline.
  • _user.js.parrot about:config , parameter _user.js.parrot harus disetel ke "SUKSES" - jika tidak user.js kesalahan sintaksis di suatu tempat di user.js Anda

Ingatlah bahwa semua pengaturan yang ditentukan dalam user.js akan diterapkan setiap kali Firefox dimulai. Jadi, jika Anda mengubahnya beberapa melalui about:config , dan ingin menyimpan perubahan ini ketika Anda me-restart Firefox, Anda perlu menduplikatnya di user-overrides.js , dan kemudian jalankan ./updater.sh atau updater.bat .


Ingatlah untuk menjalankan ./updater.sh atau updater.bat secara berkala untuk memperbarui user.js (setidaknya setelah rilis versi baru Firefox). Proses pembaruan dijelaskan secara lebih rinci di wiki proyek .



Saya memiliki sedikit Pengerasan sedang, saya ingin semuanya maksimal!


Nah, dalam hal ini, inilah yang harus dilakukan selanjutnya:


  • Buang perubahan yang melemahkan proteksi di user-overrides.js .
    • Alih-alih membuka blokir, Pekerja menguncinya secara global di uMatrix.
  • Sembunyikan IP melalui Tor dan / atau layanan VPN publik.
  • Instal ekstensi Kebijakan Berorientasi Privasi .
  • Instal ekstensi Lewati Redirect .
  • Instal ekstensi Kontainer Sementara .
  • Baca Peringatan, Rekomendasi, dan pengaturan mesin pencari di Firefox.
  • Hapus ekstensi bawaan dari / usr / lib / firefox / browser / fitur /.
  • Aktifkan spoofing Perujuk global untuk situs pihak ketiga di uMatrix.


Situs tidak bekerja - siapa yang harus disalahkan, di mana harus diperbaiki?


Saya membuat daftar perubahan yang dapat mengganggu situs sehingga Anda dapat dengan cepat menemukan yang harus disalahkan. "()" , user.js , user-overrides.js .


  • : CanvasBlocker
    • Canvas 2D .
    • WebGL .
    • Audio API .
    • history.length .
    • window.name window.opener .
    • DOMRect API .
    • data:// .
  • : CSS Exfil Protection
    • / CSS .
  • : ETag Stoppa
    • ETag: .
  • : Firefox Multi-Account Containers
    • ( , localStorage , etc.) .
  • : HTTPS Everywhere
    • http:// https:// .
  • : Neat URL
    • url .
  • : uBlock Origin
    • DOM .
    • / url .
    • popup .
    • .
    • pre-fetching .
    • <a ping> sendBeacon .
    • CSP .
  • : uMatrix
    • .
    • mixed content .
    • workers .
    • Referer: .
    • <noscript> .
    • <a ping> sendBeacon .
  • ghacks user.js
    • () en-US.
    • pre-fetching (, DNS, onMouseOver, etc.).
    • <a ping> .
    • IPv6 ( MAC, .. VPN).
    • () HTTP/2 Alt-Svc: (fingerprinting).
    • () /etc/hosts DNS SOCKS.
    • () :visited ( ).
    • () date/time picker ( ).
    • cross-origin HTTP Auth ( ).
    • () https- OCSP .
    • SHA1 https- ( /MITM).
    • Public Key Pinning ( /MITM).
    • () mixed content .
    • mixed content Flash.
    • () (fingerprinting).
    • ( ).
    • cross-origin Referer: .
    • DRM- .
    • () OpenH264 Video Codec - WebRTC.
    • () WebRTC ( IP, .. VPN).
    • WebGL ( ).
    • () WebGL ( ).
    • screen sharing .
    • canvas (fingerprinting).
    • () - HTML5 media .
    • window.open .
    • .
    • popup click dblclick.
    • () workers (, Meltdown/Spectre).
    • clipboard .
    • beforeunload .
    • asm.js ( ).
    • WebAssembly .
    • Intersection Observer API (, ).
    • Shared Memory (Spectre).
    • rel=noopener target=_blank ().
    • hardware acceleration (fingerprinting).
    • Web Audio API (fingerprinting).
    • sendBeacon .
    • - file:// .
    • MathML ( ).
    • () .
    • offline cache .
    • () first party isolation ( - ).
    • () resist fingerprinting ( / , , , , ; ; , ; Shift Alt; etc.).
  • user-overrides.js
    • .
    • TLS 1.0, 1.1 .
    • TLS .



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 ).

Source: https://habr.com/ru/post/id445124/


All Articles