![](https://habrastorage.org/getpro/habr/post_images/60e/17d/58f/60e17d58f272a50f94a0e671d6bdf2f9.jpg)
Хранилище сертификатов Firefox
С выходом Mozilla Firefox 65 в феврале 2019 года при подключении к сайтам HTTPS некоторые пользователи стали замечать ошибки типа “Your Connection is not secure” or “SEC_ERROR_UNKNOWN_ISSUER”. Причина оказалась в антивирусах типа Avast, Bitdefender и Kaspersky, которые для MiTM-внедрения в HTTPS-трафик пользователя устанавливают на компьютере свои корневые сертификаты. А поскольку у Firefox собственное хранилище сертификатов, то они пытаются внедриться в него тоже.
Разработчики браузеров давно призывают пользователей отказаться от установки сторонних антивирусов, которые мешают работе браузеров и других программ, однако массовая аудитория пока не прислушивается к призывам. К сожалению, работая в качестве прозрачного прокси, многие антивирусы снижают качество криптографической защиты на клиентских компьютерах. С этой целью разрабатываются инструменты обнаружения HTTPS-перехвата, которые на стороне сервера определяют наличие MiTM, такого как антивирус, в канале между клиентом и сервером.
Так или иначе, но в данном случае антивирусы опять помешали работе браузера, и Firefox не осталось ничего иного, кроме как решать проблему со своей стороны. В конфигах браузере есть настройка security.enterprise_roots.enabled. Если активировать этот флаг, то Firefox начнёт использовать хранилище сертификатов Windows для валидации SSL-соединений. Если у кого-то при посещении сайтов HTTPS возникают вышеупомянутые ошибки, то можно или отключить сканирование SSL-соединений в антивирусе, или вручную установить этот флаг в настройках браузера.
Проблема обсуждается в баг-трекере Mozilla. Разработчики приняли решение в целях эксперимента активировать флаг security.enterprise_roots.enabled по умолчанию, чтобы хранилище сертификатов Windows использовалось без дополнительных действий со стороны пользователя. Это произойдёт с версии Firefox 66 на системах Windows 8 и Windows 10, на которых установлены сторонние антивирусы (определять наличие антивируса в системе API позволяют только с версии Windows 8).
Комментарии (53)
GDragon
26.03.2019 22:39Прекрасно! Включено по умолчанию и (возможно в некоторых случаях) недоступно для редактирования!
Скриншотdartraiden
27.03.2019 01:49У вас включено в настройках браузера участие в исследрваниях и стоит стороннее антивирусное ПО?
Если да, то вы в контрольной группе.
Teomit
27.03.2019 03:56У меня оказался виноват KIS. Хоть я и отключил в нём мониторинг траффика и внедрение скриптов (полноценно отключается через права к папкам и реестру)
Вот решение: support.mozilla.org/en-US/questions/1254404
Вкратце:Okay, time to search for Autoconfig files.
Could you check for alien script files in your Firefox program folder? In particular, in these locations (varies for 32-bit / 64-bit):
C:\Program Files\Mozilla Firefox\defaults\pref
C:\Program Files (x86)\Mozilla Firefox\defaults\pref
Caution: Do not double-click script files! The default action for a script file it to execute as a Windows system script. (Typically this would just not work, but why risk it.)
Make sure Windows is showing hidden files: support.microsoft.com/en-us/help/14201/windows-show-hidden-files
A file named channel-prefs.js is normal. Any other file in this folder is suspicious and could be used to lock preferences. Remove any such files to a neutral location for further analysis at your leisure. You can rename the file with a .txt extension and examine it for the name of another file that contains the locking code.
More info:
Customizing Firefox Using AutoConfig
http://kb.mozillazine.org/Locking_preferencesmaledog
26.03.2019 22:55+1У меня нет просто цензурных слов. До сих пор firefox являлся единственным средством проверить доступность сайта, если по недоразумению винда не получила нужные корневые сертификаты. Остается надеяться, что такое поведение не будет включено по умолчанию.
GDragon
27.03.2019 00:26Разработчики приняли решение в целях эксперимента активировать флаг security.enterprise_roots.enabled по умолчанию
Уже.DrZlodberg
27.03.2019 08:38А вот такой вопрос: по умолчанию для новых установок или изменят значение, если оно установлено в значение «по умолчанию»?
dartraiden
26.03.2019 23:05+8Внедряются сторонние антивирусы, но негодование пользователей вызывает Firefox, как видно из комментариев выше.
Мне не совсем понятно, что, по мнению людей, должны были сделать разработчики? Показывать плашку «браузер не будет работать, пока вы не удалите антивирус»? В большинстве случаев это окончится «да ну нафиг, Хром поставлю, он не дурит». В итоге, не импортируешь — ты плохой, импортируешь — всё равно ты плохой. Не надо так.
Разработчики приняли единственное решение, которое позволит не сократить и без того низкую (менее 10% от общего числа) пользовательскую базу — работать хоть как-то, но при обнаружении MitM показывать предупреждение. До этого на том же ru-board стабильно косяками шли пользователи с претензией «почему в этом дебильном браузере у меня не открываются сайты». Правильно, потому что в условном «Касперском» у них по умолчанию стоит проверка HTTPS-соединений.MonkAlex
26.03.2019 23:10Антивирус и есть MitM, при обнаружении которого показывалось предупреждение. Теперь его наоборот нет.
UPD: слава win7, настройка выключена.dartraiden
26.03.2019 23:12+1Наоборот, теперь оно есть. Начиная с версии 66, при обнаружении MitM выдаётся специальная страница «тут атакующий посередине, либо антивирусное ПО», отличающаяся от типовой «тут какие-то проблемы с сертификатом».
MonkAlex
26.03.2019 23:24А, настолько похоже на старое про сертификат, что даже разницу не заметил. Спасибо.
maledog
26.03.2019 23:34+1«Без того низкая пользовательская база» связана не с сертификатами, а, скорее всего, с изменениями в пользовательском интерфейсе и выкидывание за борт многих полезных плагинов на XUL. И если оно теперь умеет несколько процессов, которые жрут ресурсы так же как и хром, то да, тут конечно сертификаты киллер-фича.
dartraiden
26.03.2019 23:45+4Выкидывание XUL как раз было направлено на то, чтобы переломить тенденцию ухода пользователей с «тормозиллы».
Лучше, чем человек, активно разрабатывающий дополнения для Firefox и знающий «как оно там внутри», мне не сказать, поэтому просто оставлю это здесь.
несколько процессов, которые жрут ресурсы
Да, давайте пустим всё в один процесс, да ещё и заброшенные авторами дополнения туда же засунем, они имеют полный доступ к потрохам браузера, что же может пойти не так? Пусть падает и тормозит, пользователи ведь это так любят, да? Оказалось, что не любят и голосуют ногами. Да и изолировать сайты друг от друга без этого невозможно.
А предположение про пользовательскую базу ведь легко проверяется. Наблюдается ли значительный устройчивый рост у Pale Moon (в рамках которого развивается «браузер для обеспечения более высокой эффективности работы, cохранения классического интерфейса, минимизации потребления памяти и предоставления дополнительных возможностей по настройке»)? Нет, причём разработчики последнего ещё и прикладывают усилия против этого — см. эпичесий issue.maledog
27.03.2019 00:05-1Да. Давайте повесим пользователю компьютер несколькими процессами и заставим его гадать что же это за процесс «Web Content» он конечно сразу сообразит, что это firefox. Если уж на то пошло, то как постоянный пользователь я не увидел значительного прироста скорости при смене движка, и пользовался я им исключительно из-за того, чтобы избежать подлянок с сертификатами, но теперь очевидно придется сменит браузер.
dartraiden
27.03.2019 00:13+1Новая страница, предупреждающая о подлянке с сертификатами, вас чем-то не устраивает? Она даже более бросается в глаза, чем старая. Если вы её видите, это как раз и означает «тут кто-то MitM-ит».
realscorp
27.03.2019 06:28Давайте повесим пользователю компьютер несколькими процессами
Процессоры и операционные системы десятки лет развиваются в сторону максимальной поддержки большого количества процессов и тредов. Десяток-другой процессов сам по себе никак в худшую сторону производительность не ухудшит.MikailBag
27.03.2019 09:18Причем оверхед от процесса пренебрежимо мал по сравнению с оверхедом от всякого рендеринга и js-движка.
Massacre
27.03.2019 08:23У Pale Moon, конечно, несколько странное отношение к разработке, но это, по ходу, единственный поддерживаемый браузер с нормальным движком для дополнений и с минимальным жором памяти. Для остального есть Vivaldi. Всё же, лучший хромиум это сам хромиум, а не попытки Mozilla ему подражать.
Я бы юзал и оперу 12, но, увы, вместо сайтов сейчас делают неуправляемых монстров на JS, такое без хорошего блокировщика рекламы и поддержки последних фич JS не работает…
mistergrim
26.03.2019 23:45+1Гиков среди пользователей — если называть гиками тех, кому из дополнений нужно что-то кроме блокировщика рекламы — и процента не наберётся. Остальные и слова-то такого, XUL, не знают.
maledog
26.03.2019 23:58-4Изначально гики помогли переломить долю IE, когда ставили этот браузер обычным пользователям как наиболее стабильный, предсказуемый и безопасный. Я сам этим занимался.
dartraiden
27.03.2019 00:11Что же мешает гику настроить число процессов? Нужен один процесс для контента? Выставьте его в графических настройках браузера. Даже в about:config заходить не придётся, хотя гик явно почувствует себя там как дома — ни один прочий браузер не даст такого раздолья тонких настроек.
maledog
27.03.2019 00:25Может стоило выставить ограничение ресурсов по дефолту. Скажем 0,5 от памяти и 0,5 от потоков процессора? Или "'это же не позволит победить хром"?! По факту и так не отразилось. И отвечая на ваш предыдущий комментарий пользователю все так же пофиг упоминается соединение как «не доверенное» или «не доверенное, но возможно это антивирус». При первичной диагностике причин теперь придется еще и учитывать версию firefox.
Как я уже и говорил, firefox потерял свою аудиторию не потому, что был плохим браузером, а потому что утратил свою уникальность ибо пользователям стало все равно, что там у них за браузер. Тем более что первое время амиго, yandex-браузер и google chrome использовали примерно одни методы распространения.
<«sarcasm»>Да чего уж там хром использует http-api windows, я предлагаю firefox не останавливаться на сертификатах и перейти на использование api для ускорения — это самый верный способ победить хром <"/sarcasm">
А если серьезно, то становится печально на фоне наблюдения работоспособности ms outlook vs thunderbird.
sotnikdv
27.03.2019 03:01Низкая пользовательская база — это как раз результат действий разработчиков. И новыми действиями они эту базу добивают.
Сначала вместо многопроцессорности они пилили и выпиливали чатики, пока простые юзеры и технари бежали с тормозящего на мощных машинах аж до 2018 года на хром, который умел утилизировать доступные ресурсы, пусть и неоптимально. Т.е. ушли все, кому было важно удобство в дефолтовой конфигурации. Остались те, кто любил ФФ за фичи.
Теперь ФФ начал менять фичи в пользу удобства из коробки.
Я бы прогнозировал, что уйдут и те, кто любил ФФ за фичи. А вот обратного перехода не будет, ибо преимуществ у ФФ не будет.
Итого, ИМХО ФФ сам разогнал свою аудиторию и продолжает разгонять.
S-e-n
27.03.2019 08:02Я бы прогнозировал, что уйдут и те, кто любил ФФ за фичи
Куда?Massacre
27.03.2019 08:31На хромобраузеры, разумеется. Если не сделают какую-то независимую альтернативу, в чём я сомневаюсь…
S-e-n
27.03.2019 08:48На хромобраузеры
Там те же WebExtensions с теми же ограничениями, ЕМНИП.sotnikdv
27.03.2019 12:56Ага. Т.е. фичи те же, т.е. минимальные, зато работает шустро и совместимость на высоте, все под хром тестируется.
Massacre
27.03.2019 17:03Это да, но зато и весь написанный под хром веб будет работать. Преимущество FF в виде нормальных расширений всё равно исчезло.
fukkit
27.03.2019 17:29Осталось преимущество FF в виде отключаемой (со всё большим трудом) телеметрии и затыкаемых (но неуёмно плодящихся) дырах в приватности, в отличии от неотключаемой и незатыкаемых в Хроме.
Londoner
27.03.2019 00:26+3А нельзя, наоборот, положить сертификаты антивирусов в хранилище сертификатов Firefox? Можно даже их по-умолчанию сделать неактивными, пусть пользователь поставит один раз галочку «Да, я пользуюсь Avastом, принимать его сертификат». А то иначе приучим пользователей всегда без разбору кликать на «нифига не понял, оно тут постоянно чавой-то спрашивает, а я на всё согласный» (привет GDPRу) и тогда никакой защиты от реальных MiTM атак уже не будет.
dartraiden
27.03.2019 01:51+1А нельзя, наоборот, положить сертификаты антивирусов в хранилище сертификатов Firefox?
А чем это лучше использования системных корневых сертификатов?
Куча недостатков: следить за обновлениями (антивирусного ПО много), держать несколько баз (пользователям Linux эти сертификаты нафиг не сдались), а преимуществ я не вижу. Галочку можно и в текущей реализации сделать, она никак не зависит от того, где конкретно хранятся сертификаты.Londoner
27.03.2019 15:12Дык вроде доверие к системным корневым сертификатам потеряно, поэтому Firefox и завёл собственное хранилище сертификатов. Поправьте меня, если не прав.
Gamliel_Fishkin
27.03.2019 04:33иначе приучим пользователей всегда без разбору кликать на «нифига не понял, оно тут постоянно чавой-то спрашивает, а я на всё согласный»
Если написано «не влезай — убьёт», а кто-то всё равно влез, то этот кто-то сам виноват. Есть золотое правило: если спрашивает разрешения непонятно на что — не разрешай.solver
27.03.2019 10:01И есть второе золоте правило: Когда не разрешил и всё перестало работать, иди матом крыть разработчика на все ресурсы интернета.
Londoner
27.03.2019 15:21Если написано «не влезай — убьёт», а кто-то всё равно влез, то этот кто-то сам виноват.
Беда в том, что теперь почти все двери уклеили яркими треугольничками, поэтому их перестали воспринимать. И ещё представьте, что эти «не влезай — убьёт» написаны на китайском языке — вот так видят эти предупреждения обычные пользователи.Gamliel_Fishkin
27.03.2019 21:25Беда в том, что теперь почти все двери уклеили яркими треугольничками, поэтому их перестали воспринимать.
Увы, наплевательское отношение к компьютерной безопасности весьма распространено — пока жареный петух не клюнет. (А бывает, что нельзя, но очень хочется.)
И ещё представьте, что эти «не влезай — убьёт» написаны на китайском языке — вот так видят эти предупреждения обычные пользователи.
«Firefox обнаружил вероятную угрозу безопасности и не стал открывать example.ru. Если вы посетите этот сайт, нападавшие могут попытаться похитить вашу информацию, такую как пароли, адреса электронной почты или данные банковских карт». Где тут китайская грамота?
Есть немало людей, сидящих только в социальных сетях. Недавно видел где-то парадоксальный факт: в некоторых странах количество пользователей Фейсбука больше количества пользователей интернета; то есть некоторые не догадываются о существованиижизни на Марсеинтернета вне Фейсбука. И ещё: у Фейсбука есть функция, позволяющая пользователям повысить безопасность своих аккаунтов, но об этой функции почти никто не знает.legolegs
28.03.2019 14:20«Firefox обнаружил вероятную угрозу безопасности и не стал открывать example.ru.
Но на самом-то деле в 99% случаев случилось одно из следующего:
- у вас для вашего же блага mitm в виде антивируса или провайдера, реальной опасности на самом деле нет
- провайдер пытается вставить заглушку РКН, опасности нет
- админ example.ru лопух, выписал сертификат на example.ru а люди ходят на www.example.ru, опасности нет
- админ сайта с котиками забыл продлить сертификат. (А принудительный редирект с http на https не забыл, гад) Опасности нет.
На все эти случаи у фаерфокса стена текста для гуманитариев без попытки их как-то различить и обрисовать модель угроз, узнать что там реально стряслось можно через три клика мышки. Наверное, это хорошо, что нажать «игнорировать» так сложно, но если получить объяснения тоже сложно, то не удивительно, что и простые и продвинутые юзеры раздражены этими шифропроблемами.Gamliel_Fishkin
28.03.2019 21:52у вас для вашего же блага mitm в виде антивируса или провайдера
Когда меня пытаются осчастливить против моей воли, мне это только мешает.
Конкретный примерПонадобился мне на какое-то время непубликуемый сервер имён. Установил BIND, подготовил файл зоны, указал allow-transfer, открыл на своём роутере 53 порт. Проверил из внешней сети: работает только по IPv6; за какое-то время перед тем провайдер, заботясь типа о моей безопасности, закрыл входящие соединения через 53 порт (на форуме провайдера были протесты), но только через IPv4 (про IPv6 они в тот момент забыли). В течение некоторого времени несколько серверов имён успешно брали зону с моего непубликуемого сервера имён, и вдруг перестали: провайдер вспомнил и закрыл входящие соединения через 53 порт и по IPv6. Своего VPS у меня тогда ещё не было, так что пришлось на тот момент забыть про использование непубликуемого сервера имён. (Предвижу вопрос, почему я не сменил провайдера. Гарантированная скорость 100 мегабит в секунду, неограниченный трафик, внешний IPv4-адрес, нативный IPv6 с /64 блоком адресов — и за всё 500 рублей в месяц; разве есть сравнимые предложения?)legolegs
28.03.2019 21:58+1Я с вами полностью согласен по существу вопроса, мой пойнт в том, что ошибка SSL должна быть намного информативнее, в т.ч. явно предупреждать о ненужной заботе со стороны кривого антивируса/РКН. А не просто «не работает».
Vest
27.03.2019 09:29Следующий шаг за теми, кто-то Казахстане свой корневой сертификат продвигал, а Firefox на это не повёлся.
achekalin
27.03.2019 09:53Странно, что производители браузеров не оставили интерфейс для подключения антивирусов, а просто советуют их не использовать из-за того, что те любят делать MITM. Ведь браузер (при разрешении со стороны юзера) мог бы передавать контент для инспектирования после терминирования TLS, уже расшированным — и у антивирусов не было бы повода просить установить в системе их корневик.
Понятно, что антивирус — не панацея. Более того, этот рынок, как мне кажется, до сих пор держится только на некой вере юзеров и компаний: мол, вокруг сплошные враги, но вот если купить KIS, или NOD, или (подставьте другое название), то будет безопасно. Что антивирусы в лучшем случае страшные и корявые поделия, не говорит только ленивый, но что поделаешь против общественной веры (к которой ИТ-ники столько лет всех и приучали)? Однако отключать антивирус, в который кто-то верит, в угоду браузеру выглядит как-то корявенько.Barafu_Albino_Cheetah
27.03.2019 11:23Ну вера в антивирусы происходит от того, что в Windows отсутствует даже базовая детсадовская безопасность. Свежеустановленную винду можно порвать на британский флаг пятью строчками на Питоне. Вот народ и ставит антивирусы: они остановят хотя бы тех злодеев, кто и пять строчек на Питоне написать не может, а использует готовую малварь годичной давности.
qw1
27.03.2019 11:34Свежеустановленную винду можно порвать на британский флаг пятью строчками на Питоне.
Без прав администратора? Это какой-то новый zero-day?Barafu_Albino_Cheetah
27.03.2019 12:22Конечно.
Вариант №1: Открыть исходящее соединение куда-нибудь в Пунтлэнд, отправить туда сначала профиль браузера, потом все обнаруженные документы, потом все обнаруженные картинки. На этом этапе работоспособность самой винды уже не имеет ни малейшего значения.
Вариант №2: Называешь свою малварь installer.exe. К тому, что инсталлятор обязательно запускать от Админа и никак иначе, пользователи давным давно привыкли. Выдадут права, не задумываясь. Дальше делай вообще что хочешь.qw1
27.03.2019 16:44Это получается, не винду можно порвать, а глупого юзера обмануть. Несколько разное.
qw1
27.03.2019 11:33Как это не оставили? Ставь расширение в браузер и смотри на данные перед SSL-каналом.
teecat
27.03.2019 11:58Если интересно, как выглядит ситуация со стороны антивируса.
Зачем нужен перехват трафика? По нескольким причинам. Главное — далеко не все сохраняется на диск после скачивания, где попадает в зону действия файлового монитора. Вредоносное нечто может запуститься, не сохраняясь на диск.
Вспомогательная цель — ограничение доступа к нерекомендуемым и опасным сайтам. Например чтобы бухгалтера не могли открыть ссылки на левые ресурсы.
Плюс (не у всех решений) контроль трафика на утечки ПДн, паролей
Перехватить все это можно двумя путями — до получения данных приложением/после отправки из него (митм) или путем встраивания плагина в приложение. Второй путь вроде как бы менее конфликтен, но проблема в том, что нужно перехватывать не только трафик браузера — иное приложение тоже может напрямую использовать HTTP например. Да и не гарантирует никто, что очередное обновление браузера не сломает все плагины
Методы перехвата трафика у разных производителей средств безопасности используются тоже разные (было канадское исследование на эту тему кому интересно ) — это тоже может быть источником проблем.
Вот так и живем — и отказаться от проверки трафика не безопасно и нормального способа перехватить и гарантированно не поломать нет
fukkit
27.03.2019 11:37Разработчики приняли решение в целях эксперимента активировать флаг security.enterprise_roots.enabled по умолчанию
Ну какие же суки!
А пользователя спросить при первой необходимости после обновления?!S-e-n
27.03.2019 12:16Там не в целях, а в рамках, только на вин 8 и 10, только при установленном антивирусе (кроме виндовского встроенного), только для маленькой группы юзеров, которая как правило для shield studies выбирается только из США.
AC130
27.03.2019 17:56только для маленькой группы юзеров, которая как правило для shield studies выбирается только из США
Тогда почему эта настройка включена у меня, юзера из России, не давшего никаких согласий на участие в исследовании (более того, в about:studies у меня пусто)? И, что более важно, почему я не могу отключить эту настройку в браузере? Почему я обязан лезть в настройки антивируса для того, чтобы мой браузер не принимал левые сертификаты?
legolegs
27.03.2019 16:51Firefox начал импортировать корневые сертификаты из Windows
Не «начал», а проводит исследования.
AnyKey80lvl
Это же омерзительно. Firefox со своей подсистемой сертификатов был главным оплотом траблшутинга проблем с https в win. И вот.