Удалить все центры сертификации из профиля Firefox

Цель состоит в том, чтобы доверять только определенным сертификатам, хранящимся на жестком диске для этого определенного профиля. Таким образом, никакие центры сертификации не нужны.

Пробовал без успеха:

  • Удалите все CA с помощью диспетчера сертификатов (часть настроек Firefox)
  • удалять cert9.db в профиле
  • Очистить cert9.db до 0 байтов и удалите все флаги разрешений, чтобы Firefox не мог изменить его

Все три меры привели к появлению ЦС (хотя и не обязательно в cert9.dbпо крайней мере, если я удалю права на запись в этот файл; но все же в диспетчере сертификатов Firefox).

Интересно, откуда берутся CA. Читает ли Firefox их из Интернета, если пропускает их? Я не ожидал, что они появятся вообще.

Как я могу предотвратить такое поведение?

3 ответа

Решение

Есть ли способ удалить все сертификаты CA в Firefox?

Firefox использует библиотеки NSS Mozilla для связанных с безопасностью функций, таких как TLS. NSS имеет собственное встроенное хранилище CA, которое используется Firefox для получения сертификатов CA по умолчанию.

Из FAQ Мозиллы:

Предварительно загруженные сертификаты CA включены в следующие файлы:

  • Windows: libnssckbi.dll
  • Unix, Linux и другие варианты *nix: libnssckbi.so
  • Mac OS X: Содержание /MacOS/libnssckbi.dynlib

Поэтому невозможно удалить все сертификаты CA, поскольку они являются частью самого Firefox.

Можно ли лишить все сертификаты CA всего доверия?

Из FAQ Мозиллы:

Если вы не доверяете конкретному центру сертификации, чей корневой сертификат по умолчанию включен в продукты Mozilla, то есть два способа отключить сертификат.

  1. Отключите биты доверия для этого корневого сертификата.
  2. Удалить корневой сертификат.
    • Удаление корневого сертификата, находящегося в корневом хранилище по умолчанию, эквивалентно отключению всех битов доверия для этого корневого хранилища. Следовательно, даже если корневой сертификат вновь появится в диспетчере сертификатов, он будет обрабатываться так, как если бы вы изменили биты доверия этого корневого сертификата, чтобы отключить их все.

Важное замечание: Это изменение будет иметь постоянный эффект, так что биты доверия для корневого сертификата могут быть изменены только вами снова. На это изменение не повлияет обновление до новых версий программного обеспечения Mozilla. Настоятельно рекомендуется указать, какой корневой сертификат вы модифицируете, чтобы можно было снова включить биты доверия, если это изменение негативно повлияет на работу в Интернете.

Итак, чтобы не доверять всем сертификатам CA:

  1. Идти к about:preferences#privacy
  2. Нажмите на View Certificates... внизу страницы
  3. Переключиться на вкладку Authorities
  4. Выберите сертификат
  5. Нажмите на Delete or Distrust...
  6. Подтвердите, нажав на OK
  7. Повторите шаги 4-6 для каждого сертификата
  8. Перезапустите Firefox

После перезапуска Firefox вы увидите, что все сертификаты по умолчанию вновь появились.

Почему сертификаты CA продолжают появляться после перезапуска Firefox?

Сертификаты по умолчанию не могут быть удалены, поэтому Firefox только доверяет им, что приводит к невозможности их использования для проверки других сертификатов. Вы можете выбрать сертификат CA и нажать Edit Trust... чтобы увидеть, что ничего не проверено, как только вы не доверяете.
Недоверие имеет тот же эффект, что и удаление самого сертификата, за исключением того, что сертификат все равно будет отображаться в диспетчере сертификатов.

Для получения дополнительной информации: Изменение параметров доверия

Похоже, что Firefox имеет некоторые CA, встроенные в код.

Из CA / FAQ:

Эти предварительно загруженные сертификаты корневого центра сертификации распространяются вместе с Mozilla и связанным с ним программным обеспечением в форме общей библиотеки, устанавливаемой в системах пользователей вместе с остальным исполняемым программным кодом. Поэтому они могут быть обновлены при выпуске новых версий программного обеспечения.

Предварительно загруженные сертификаты CA включены в следующие файлы:

  • Windows: libnssckbi.dll
  • Unix, Linux и другие варианты *nix: libnssckbi.so
  • Mac OS X: Содержание /MacOS/libnssckbi.dynlib

Если это сертификаты, которые вы пытаетесь удалить, то ответ отрицательный, поскольку они встроены в код и не хранятся ни в одном .db файл (для начала). Вы можете попытаться взломать эти файлы, но даже если вам это удастся, вам придется повторять взлом для каждого нового выпуска Firefox.


Я обнаружил другой параметр, который может отвечать за заполнение хранилища сертификатами, поступающими из операционной системы, хотя, возможно, только для Windows: security.enterprise_roots.enabled,

Там нет информации о том, как это about:config Настройка реализована сейчас, хотя из статьи видно, что она все еще развивается. Предлагаю проверить, установлен ли он в вашем случае.

Из статьи Mozilla https://wiki.mozilla.org/CA:AddRootToFirefox:

Начиная с версии 49, Firefox можно экспериментально настроить для автоматического поиска и импорта ЦС, которые были добавлены в хранилище сертификатов Windows пользователем или администратором. Для этого установите для параметраsecurity.enterprise_roots.enabled значение true. В этом режиме Firefox будет проверять HKLM\SOFTWARE\Microsoft\SystemCertificates расположение реестра (соответствует флагу API) CERT_SYSTEM_STORE_LOCAL_MACHINE) для ЦС, которым доверяют выдачу сертификатов для аутентификации веб-сервера TLS. Любые такие CA будут импортированы и доверены Firefox, хотя учтите, что они могут не отображаться в диспетчере сертификатов Firefox. Ожидается, что администрирование этих CA (например, настройка доверия) будет осуществляться с помощью встроенных инструментов Windows или других сторонних утилит. Также обратите внимание, что для того, чтобы такие изменения вступили в силу в Firefox, нужно либо отключить и снова включить предпочтение, либо Firefox придется перезапустить. По мере развития этой функции она может быть обработана автоматически для простоты использования.

Параметры > конфиденциальность и безопасность; прокрутите вниз до уровня безопасности> просмотреть сертификаты... > Власти

щелкните авторитет, которому вы не хотите доверять, и нажмите удалить или не доверятьменеджер сертификатов firefox

Другие вопросы по тегам