Усиление безопасности и приватности в Firefox

Усиление безопасности и приватности в Firefox

Firefox – мой люби­мый бра­у­зер. Я исполь­зую Firefox как в домаш­нем Arch Linux, так и на Android смарт­фоне. Более того, я реко­мен­дую исполь­зо­вать толь­ко этот бра­у­зер всем сво­им дру­зьям и зна­ко­мым. Но, как и в любом дру­гом при­ло­же­нии, рас­счи­тан­ном на мас­со­вое исполь­зо­ва­ние, настрой­ки в Firefox по умол­ча­нию не опти­маль­ны в плане защи­ты при­ват­но­сти и без­опас­но­сти поль­зо­ва­те­ля. Хоро­шо, что этот заме­ча­тель­ный бра­у­зер поз­во­ля­ет настро­ить его «так, как надо», чем сей­час и зай­мём­ся.

Тюнинг Firefox в about:config

Автоматическое применение правил

Что­бы не парить­ся с руч­ным изме­не­ни­ем пара­мет­ров в about:config, мож­но всё сде­лать быст­ро и про­сто. Откры­ва­ем в Firefox стра­ни­цу:

about:support

В стро­ке «Ката­лог про­фи­ля» смот­рим где лежит про­филь бра­у­зе­ра. Пере­хо­дим в него:

cd МЕСТОПОЛОЖЕНИЕ_ПРОФИЛЯ_УКАЗАННОЕ_НА_СТРАНИЦЕ_ABOUT_SUPPORT

Напри­мер «cd /home/imatvey/.mozilla/firefox/5e4ye5t4.default».

Сюда нуж­но поло­жить спе­ци­аль­ный файл user.js, кото­рый автом­та­ти­че­ски при­ме­нит все пра­ви­ла. Нахо­дясь в ката­ло­ге про­фи­ля выпол­ня­ем:

wget -O user.js https://gitlab.com/madaidan/hardened-firefox-user.js/raw/master/user.js?inline=false

Дан­ная коман­да ска­ча­ет файл user.js с необ­хо­ди­мы­ми настрой­ка­ми и поло­жит его в пап­ку про­фи­ля Firefox. Теперь оста­лось пере­за­пу­стить бра­у­зер, после чего тюнинг бра­у­зе­ра внут­рен­ни­ми настрой­ка­ми закон­чен.

Вручную

Если по каким-то при­чи­нам авто­ма­ти­че­ски при­ме­нять настрой­ки не хочется/не может­ся, всё мож­но сде­лать вруч­ную. Откры­ва­ем в Firefox адрес:

about:config

и жмём на кла­ви­а­ту­ре ENTER. Само собой, согла­ша­ем­ся что будем акку­рат­ны­ми. Далее меня­ем пара­мет­ры на те зна­че­ния, кото­рые ука­за­ны в таб­ли­це. Зна­че­ние «blank» озна­ча­ет что стро­ку нуж­но оста­вить пустой или очи­стить. Искать зна­че­ния мож­но с помо­щью поис­ко­вой стро­ки в верх­ней части окна about:config.

media.peerconnection.enabled = false
privacy.firstparty.isolate = true
privacy.resistFingerprinting = true
browser.cache.offline.enable = false
browser.sessionstore.max_tabs_undo = 0
browser.urlbar.speculativeConnect.enabled = false
dom.event.clipboardevents.enabled = false
geo.enabled = false
media.eme.enabled = false
media.gmp-widevinecdm.enabled = false
media.navigator.enabled = false
network.cookie.cookieBehavior = 1 
network.cookie.lifetimePolicy = 2
network.http.referer.trimmingPolicy = 2
network.http.referer.XOriginPolicy = 2
network.http.referer.XOriginTrimmingPolicy = 2
webgl.disabled = true
browser.sessionstore.privacy_level = 2
network.IDN_show_punycode = true
extensions.blocklist.url = https://blocklists.settings.services.mozilla.com/v1/blocklist/3/%20/%20/
dom.event.contextmenu.enabled = false
network.http.referer.spoofSource = true
privacy.trackingprotection.enabled = false 
geo.wifi.uri = blank
browser.search.geoip.url = blank
browser.aboutHomeSnippets.updateUrL = blank
browser.startup.homepage_override.mstone = ignore
browser.startup.homepage_override.buildID = blank
startup.homepage_welcome_url = blank
startup.homepage_welcome_url.additional = blank
startup.homepage_override_url = blank
toolkit.telemetry.cachedClientID = blank
browser.send_pings.require_same_host = true
network.dnsCacheEntries = 100
places.history.enabled = false
browser.formfill.enable = false
browser.cache.disk.enable = false
browser.cache.disk_cache_ssl = false
browser.cache.memory.enable = false
browser.cache.offline.enable = false
network.predictor.enabled = false
network.dns.disablePrefetch = true
network.prefetch-next = false
network.http.speculative-parallel-limit = 0
extensions.pocket.enabled = false
extensions.pocket.site = blank
extensions.pocket.oAuthConsumerKey = blank
extensions.pocket.api = blank
browser.newtabpage.activity-stream.feeds.telemetry = false
browser.newtabpage.activity-stream.telemetry = false
browser.ping-centre.telemetry = false
toolkit.telemetry.archive.enabled = false
toolkit.telemetry.bhrPing.enabled = false
toolkit.telemetry.enabled = false
toolkit.telemetry.firstShutdownPing.enabled = false
toolkit.telemetry.hybridContent.enabled = false
toolkit.telemetry.newProfilePing.enabled = false
toolkit.telemetry.reportingpolicy.firstRun = false
toolkit.telemetry.server = blank
toolkit.telemetry.shutdownPingSender.enabled = false
toolkit.telemetry.unified = false
toolkit.telemetry.updatePing.enabled = false
network.allow-experiments = false
browser.tabs.crashReporting.sendReport = false
dom.ipc.plugins.flash.subprocess.crashreporter.enabled = false
toolkit.crashreporter.infoURL = blank
datareporting.healthreport.infoURL = blank
datareporting.healthreport.uploadEnabled = false
datareporting.policy.firstRunURL = blank
privacy.spoof_english = 2
accessibility.force_disabled = 1
network.captive-portal-service.enabled = false
captivedetect.canonicalURL = blank
browser.newtabpage.activity-stream.feeds.snippets = false
gfx.font_rendering.graphite.enabled = false
network.jar.block-remote-files = true
javascript.options.ion = false
javascript.options.native_regexp = false
javascript.options.baselinejit = false
dom.webaudio.enabled = false
media.webaudio.enabled = false
mathml.disabled = true
gfx.font_rendering.opentype_svg.enabled = false
svg.disabled = true

browser.safebrowsing.malware.enabled = false
browser.safebrowsing.phishing.enabled = false
browser.safebrowsing.downloads.enabled = false
browser.safebrowsing.provider.google4.dataSharing.enabled = blank
browser.safebrowsing.provider.google4.updateURL = blank
browser.safebrowsing.provider.google4.reportURL = blank
browser.safebrowsing.provider.google4.reportPhishMistakeURL = blank
browser.safebrowsing.provider.google4.reportMalwareMistakeURL = blank
browser.safebrowsing.provider.google4.lists = blank
browser.safebrowsing.provider.google4.gethashURL = blank
browser.safebrowsing.provider.google4.dataSharingURL = blank
browser.safebrowsing.provider.google4.dataSharing.enabled = false
browser.safebrowsing.provider.google4.advisoryURL = blank
browser.safebrowsing.provider.google4.advisoryName = blank
browser.safebrowsing.provider.google.updateURL = blank
browser.safebrowsing.provider.google.reportURL = blank
browser.safebrowsing.provider.google.reportPhishMistakeURL = blank
browser.safebrowsing.provider.google.reportMalwareMistakeURL = blank
browser.safebrowsing.provider.google.pver = blank
browser.safebrowsing.provider.google.lists = blank
browser.safebrowsing.provider.google.gethashURL = blank
browser.safebrowsing.provider.google.advisoryURL = blank
browser.safebrowsing.downloads.remote.url = blank 

Пере­за­пус­ка­ем бра­у­зер.

Усиление безопасности с помощью плагинов

Про­дол­жа­ем уси­ли­вать без­опас­ность Firefox. Ста­вим сле­ду­ю­щие пла­ги­ны.

uBlock Origin

Пла­гин режет рекла­му и ссыл­ки на вре­до­нос­ные сай­ты. Пер­вый пла­гин, кото­рый нуж­но ста­вить после уста­нов­ки бра­у­зе­ра.

NoScript

Пла­гин NoScript поз­во­ля­ет бло­ки­ро­вать вре­до­нос­ный и неже­ла­тель­ный JavaScript код на сай­тах, а так же защи­ща­ет от XSS атак.

Decentraleyes

Дан­ный пла­гин для Firefox борет­ся с отсле­жи­ва­ни­ем поль­зо­ва­те­лей круп­ны­ми CDN сетя­ми. Он отда­ёт фай­лы вро­де jQuery или AngularJS бра­у­зе­ру локаль­но, вме­сто осу­ществ­ле­ния запро­са к CDN про­вай­де­ру. Как бонус, это несколь­ко уско­ря­ет загруз­ку стра­ниц с эти­ми ресур­са­ми.

HTTPS Everywhere

При­ну­ди­тель­но застав­ля­ет бра­у­зер исполь­зо­вать про­то­кол HTTPS вез­де, где это воз­мож­но.

Disable JavaScript

Поз­во­ля­тет кноп­кой на пане­ли допол­не­ний или с помо­щью кон­текст­но­го меню вруч­ную отключать/включать JavaScript на сай­тах. В неко­то­рых ситу­а­ци­ях это может быть очень полез­но.

Дан­ных пла­ги­нов будет доста­точ­но для хоро­шей защи­ты Огнен­ной Лисы от раз­лич­но­го рода опа­се­но­стей в сети.

Полезные советы

  • Firefox не про­сто так руга­ет­ся на сер­ти­фи­кат. Непра­виль­ный SSL сер­ти­фи­кат сай­та – пер­вый при­знак ата­ки MITM!
  • Если есть воз­мож­ность отклю­чить JavaScript на сай­те – его нуж­но отклю­чить. Абсо­лют­ное боль­шин­ство атак на бра­у­зер про­ис­хо­дит с помо­щью JavaScript.
  • Не исполь­зуй­те Flash! Это древ­няя дыря­вая тех­но­ло­гия, кото­рую уже успеш­но заме­нил HTML5.
  • Для ещё боль­шей без­опас­но­сти и ано­ним­но­сти нуж­но исполь­зо­вать Бра­у­зер Tor. Ска­чать его мож­но по этой ссыл­ке.
  • Не запус­кай­те испол­ня­е­мые фай­лы не про­ве­рив их на без­опас­ность. Быст­ро про­ве­рить файл на при­сут­ствие зло­вред­ных вкрап­ле­ний мож­но с помо­щью Virustotal.
  • Ука­зы­вай­те «левые» лич­ные дан­ные вез­де, где это воз­мож­но: соц. сети, мес­сен­дже­ры, фору­мы и т.д. Не загру­жай­те свои реаль­ные фото­гра­фии в про­фи­ли выше­ука­зан­ных ресур­сов. Зло­умыш­лен­ни­ки могут и будут исполь­зо­вать всю эту инфор­ма­цию для рекла­мы, фишин­га, шан­та­жа и дру­гих зло­вред­ных дей­ствий.

Как настраиваю и что использую я?

Конеч­но, в повсе­днев­ной жиз­ни не обя­за­тель­но выпол­нять всё, что здесь опи­са­но. Лич­но я в обыч­ном про­фи­ле Firefox исполь­зую все­го пару пара­мет­ров:

privacy.resistFingerprinting = true
privacy.firstparty.isolate = true
geo.enabled = false
network.http.referer.spoofSource = true
extensions.pocket.enabled = false
toolkit.telemetry.enabled = false
network.allow-experiments = false

Из пла­ги­нов исполь­зую все, пере­чис­лен­ные выше.

На этом сего­дня всё, спа­си­бо за вни­ма­ние. При под­го­тов­ке мате­ри­а­ла исполь­зо­ва­лась инфор­ма­ция с сай­та awesome piracy.