![Удалить все центры сертификации из профиля Firefox](https://rvso.com/image/1575982/%D0%A3%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C%20%D0%B2%D1%81%D0%B5%20%D1%86%D0%B5%D0%BD%D1%82%D1%80%D1%8B%20%D1%81%D0%B5%D1%80%D1%82%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8%20%D0%B8%D0%B7%20%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D1%8F%20Firefox.png)
Цель — доверять только определенным сертификатам, хранящимся на жестком диске для этого определенного профиля. Таким образом, не нужны никакие центры сертификации.
Попытка не увенчалась успехом:
- Удалить все центры сертификации с помощью диспетчера сертификатов (часть настроек Firefox)
- Удалить
cert9.db
в профиле - Очистите
cert9.db
до 0 байт и удалите все флаги разрешений, чтобы Firefox не мог изменить его.
Все три меры привели к повторному появлению центров сертификации (хотя и не обязательно в cert9.db
, по крайней мере, если я удалил разрешения на запись в этот файл; но все еще в диспетчере сертификатов Firefox).
Интересно, откуда берутся CA. Читает ли Firefox их из Интернета, если пропускает? Я вообще не ожидал, что они появятся снова.
Как я могу предотвратить такое поведение?
решение1
Есть ли способ удалить все сертификаты CA в Firefox?
Firefox использует MozillaНССБиблиотеки для функций безопасности, таких как TLS. NSS имеет собственное встроенное хранилище CA, которое используется Firefox для получения сертификатов CA по умолчанию.
ОтЧасто задаваемые вопросы Mozilla:
Предварительно загруженные сертификаты CA включены в следующие файлы:
- Windows: libnssckbi.dll
- Unix, Linux и другие варианты *nix: libnssckbi.so
- Mac OS X: Содержание/MacOS/libnssckbi.dynlib
Поэтому удалить все сертификаты CA невозможно, поскольку они являются частью самого Firefox.
Можно ли лишить доверия все сертификаты CA?
ОтЧасто задаваемые вопросы Mozilla:
Если вы не доверяете определенному центру сертификации, корневой сертификат которого включен по умолчанию в продукты Mozilla, то есть два способа отключить этот сертификат.
- Отключите биты доверия для этого корневого сертификата.
- Удалить корневой сертификат.
- Удаление корневого сертификата, который находится в корневом хранилище по умолчанию, эквивалентно отключению всех битов доверия для этого корня. Поэтому, даже если корневой сертификат снова появится в диспетчере сертификатов, он будет рассматриваться так, как будто вы изменили биты доверия этого корневого сертификата, чтобы отключить их все.
Важный:Это изменение будет иметь постоянный эффект, так что биты доверия для корневого сертификата сможете изменить только вы. Это изменение не будет затронуто обновлением до новых версий программного обеспечения Mozilla. Настоятельно рекомендуется записывать, какой корневой сертификат вы изменяете, чтобы вы могли снова включить биты доверия, если изменение негативно повлияет на ваш опыт просмотра.
Итак, чтобы не доверять всем сертификатам CA:
- Идти к
about:preferences#privacy
- Нажмите
View Certificates...
внизу страницы - Перейти на вкладку
Authorities
- Выберите сертификат
- Нажмите на
Delete or Distrust...
- Подтвердите, нажав на
OK
- Повторите шаги 4–6 для каждого сертификата.
- Перезапустить Firefox
После перезапуска Firefox вы увидите, что все сертификаты по умолчанию снова появились.
Почему сертификаты CA снова появляются после перезапуска Firefox?
Сертификаты по умолчанию не могут быть удалены, поэтому Firefox только не доверяет им, что приводит к тому, что их нельзя использовать для проверки других сертификатов. Вы можете выбрать сертификат CA и щелкнуть, Edit Trust...
чтобы увидеть, что ничего не проверяется после того, как вы не доверяете ему.
Недоверие имеет тот же эффект, что и удаление самого сертификата, за исключением того, что сертификат все равно будет отображаться в диспетчере сертификатов.
Для дополнительной информации:Изменение настроек доверия
решение2
Похоже, что в код Firefox встроены некоторые центры сертификации.
ОтCA/FAQ:
Эти предварительно загруженные корневые сертификаты CA распространяются вместе с 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 CA:ДобавитьRootToFirefox:
Начиная с версии 49, Firefox можно экспериментально настроить на автоматический поиск и импорт CA, которые были добавлены в хранилище сертификатов Windows пользователем или администратором. Для этого установите параметр "security.enterprise_roots.включено" кистинный. В этом режиме Firefox проверит
HKLM\SOFTWARE\Microsoft\SystemCertificates
местоположение реестра (соответствующее флагу APICERT_SYSTEM_STORE_LOCAL_MACHINE
) на предмет центров сертификации, которым доверено выдавать сертификаты для аутентификации веб-сервера TLS. Все такие центры сертификации будут импортированы и признаны доверенными Firefox, хотя следует отметить, что они могут не отображаться в менеджере сертификатов Firefox. Ожидается, что администрирование этих центров сертификации (например, настройка доверия) будет осуществляться с помощью встроенных инструментов Windows или других сторонних утилит. Также следует отметить, что для того, чтобы такие изменения вступили в силу в Firefox, необходимо либо отключить и снова включить параметр, либо перезапустить Firefox. По мере развития этой функции это может обрабатываться автоматически для простоты использования.