todo/nuc/check-remove.md
loop-uh 08b4491545
Some checks failed
Published content check / validate (push) Failing after 3s
Завершить переезд базы знаний на Forgejo
Обновить правила репозитория и подписи исходников в 99 заметках, не затрагивая пользовательские незакоммиченные файлы. Сделать Forgejo Actions содержательным: проверять опубликованный commit, а не пустое рабочее дерево после checkout.
2026-08-07 08:27:28 +03:00

17 KiB
Raw Permalink Blame History

date tags aliases link
2026-08-04
mincifry
nuc
tls
certificates
howto
windows
android
ios
Проверка корня НУЦ
Как удалить сертификат Минцифры
Russian Trusted Root CA как найти и удалить
Стоит ли у меня российский сертификат безопасности
https://www.gosuslugi.ru/crt

🔎 Как проверить, установлен ли корень НУЦ, и как его удалить

[!info] О чём заметка Пошаговая проверка всех основных платформ (Windows, macOS, Linux, Android, iOS) и браузеров на присутствие корневого сертификата государственного НУЦ (Национального удостоверяющего центра Минцифры) — и удаление, если он найден. Зачем вообще его искать и чем он опасен — в nuc/00-overview и в nuc/nuc-root-mitm-threat-model.

TL;DR

  • Искать нужно два сертификата: корневой Russian Trusted Root CA и выпускающий Russian Trusted Sub CA — инструкции Госуслуг и Сбербанка ставят оба.
  • Самая быстрая проверка — открыть в своём обычном браузере сайт, работающий на сертификате НУЦ (например, sberbank.ru): предупреждение «подключение не защищено» означает, что корня у тебя нет.
  • Корень мог появиться не только по твоей воле: его ставят «по инструкции банка», при настройке чужими руками, в корпоративных машинах — проверка занимает минуту и ничего не ломает.
  • Удаление безопасно: единственное последствие — сайты с сертификатом НУЦ снова начнут показывать предупреждение. Как жить с этим без установки корня — в nuc/safe-usage.
  • В «Яндекс Браузере» и «Атоме» доверие НУЦ nuc/embedded-trust — из системы его не удалить, только не пользоваться этими браузерами для чувствительного.

Что именно ищем

Инструкции Госуслуг предлагают установить пару сертификатов: корневой с именем (CN) Russian Trusted Root CA — он попадает в хранилище «Доверенные корневые центры сертификации» — и выпускающий Russian Trusted Sub CA, который кладётся в «Промежуточные центры сертификации». Опасность несёт прежде всего корневой: именно он расширяет доверие на всё, что НУЦ когда-либо подпишет. По данным Госуслуг, корневой сертификат выпущен в марте 2022 года со сроком действия до 2032 года, так что «сам он истечёт» — не стратегия: ждать осталось долго.

Проще говоря: открываешь список доверенных сертификатов своей системы и ищешь в нём слово «Russian». Нашёл «Russian Trusted…» — корень стоит. Не нашёл — стоит проверить остальные устройства и браузеры: хранилищ доверия на одном компьютере может быть несколько (система, Firefox, NSS-база в Linux), и корень может сидеть в любом из них.

Быстрая проверка без настроек: тестовый сайт

Открой в проверяемом браузере https://www.sberbank.ru. С 3 августа 2026 сайт Сбербанка работает на сертификате НУЦ — банк перешёл на него после nuc/banks-nuc-certs-august-2026, а установить «сертификаты Минцифры» сам же и предлагает на странице sberbank.ru/certificates. Если банк снова сменит сертификат, признак перестанет работать — при сомнении проверяй издателя вручную, как описано ниже.

  • Браузер показывает предупреждение «подключение не защищено» / «NET::ERR_CERT_AUTHORITY_INVALID» → корня НУЦ в этом браузере нет. Это хороший исход, закрывай вкладку.
  • Сайт открывается без предупреждений → либо в системе (или браузере) установлен корень НУЦ, либо это отечественный браузер со nuc/embedded-trust. Кто именно выдал сертификат, смотри по замочку в адресной строке: замочек → «Сведения о сертификате» → поле «Издатель» (Issuer). Там будет Russian Trusted Sub CA.

Издателя сертификата любого сайта можно узнать и без браузера, из терминала — эта проверка не зависит от локального хранилища доверия:

openssl s_client -connect www.sberbank.ru:443 -servername www.sberbank.ru </dev/null 2>/dev/null | openssl x509 -noout -issuer -subject -dates

Windows

Хранилищ два — пользовательское и машинное, проверять стоит оба (инструкции Госуслуг обычно ставят в пользовательское):

  • Win+Rcertmgr.msc (хранилище текущего пользователя) → «Доверенные корневые центры сертификации» → «Сертификаты» → искать Russian Trusted Root CA.
  • Там же раздел «Промежуточные центры сертификации» → «Сертификаты» → искать Russian Trusted Sub CA.
  • Win+Rcertlm.msc (хранилище компьютера, нужны права администратора) → те же два раздела.
  • Удаление: правый клик по сертификату → «Удалить», подтвердить. После удаления перезапусти браузеры.

Быстрее — одной командой PowerShell (ищет по всем хранилищам текущего пользователя и машины):

Get-ChildItem Cert:\ -Recurse | Where-Object { $_.Subject -like "*Russian Trusted*" } | Format-List PSParentPath, Subject, NotAfter

Пустой вывод — корня нет. Найденные записи удаляются в certmgr.msc/certlm.msc по пути из PSParentPath (или командой Remove-Item по тому же пути).

[!note] Chrome, Edge и системное хранилище Chrome и Edge на Windows доверяют локально установленным корням из системного хранилища — то есть корень, поставленный «для Госуслуг», действует и на всё остальное, что ты открываешь в этих браузерах. Вручную добавленные корни при этом освобождены от проверки Certificate Transparency — почему это ключевая проблема, разобрано в nuc/nuc-root-mitm-threat-model#Почему обычные УЦ так не могут — и почему ручная установка это ломает.

macOS

  • Открой «Связку ключей» (Keychain Access) → слева выбери «Система» (System), затем повтори для «Вход» (login) → категория «Сертификаты» → в поиске набери Russian.
  • Найденный Russian Trusted Root CA / Russian Trusted Sub CA — правый клик → «Удалить». Для системной связки понадобится пароль администратора.
  • Проверь и настройки доверия: если сертификат помечен «Этот сертификат отмечен как доверенный», значит доверие включали вручную при установке.

Терминалом:

security find-certificate -a -c "Russian Trusted" /Library/Keychains/System.keychain ~/Library/Keychains/login.keychain-db 2>/dev/null

Linux

Хранилищ несколько, и браузеры пользуются разными:

  • Системное (его читают curl, wget, системные программы): trust list | grep -i russian (p11-kit, есть в большинстве дистрибутивов) или grep -ril russian /etc/ssl/certs/ /usr/local/share/ca-certificates/ 2>/dev/null. Удаление: убрать добавленный .crt из /usr/local/share/ca-certificates/ и выполнить sudo update-ca-certificates --fresh (в Debian/Ubuntu; в RHEL-семействе — /etc/pki/ca-trust/source/anchors/ и sudo update-ca-trust).
  • NSS-база пользователя (её читают Chrome/Chromium): certutil -L -d sql:$HOME/.pki/nssdb | grep -i russian (пакет libnss3-tools). Удаление: certutil -D -d sql:$HOME/.pki/nssdb -n "<имя из списка>".
  • Firefox — своё хранилище, см. раздел про браузеры ниже.

Android

Путь по настройкам различается между прошивками, поэтому проще воспользоваться поиском по настройкам: набери «сертификат» и открой пункт вида «Надёжные сертификаты» / «Доверенные сертификаты» (обычно это Настройки → Безопасность → Шифрование и учётные данные → Надёжные сертификаты).

  • На вкладке «Пользователь» — сертификаты, установленные руками; ищи «Russian Trusted». Вкладку «Система» трогать не нужно: туда НУЦ штатно не попадает.
  • Удаление: открыть найденный сертификат → «Удалить», либо пункт «Удалить учётные данные» (удалит все пользовательские сертификаты разом).

[!note] Почему на Android риск устроен иначе Начиная с Android 7, приложения по умолчанию доверяют только системным сертификатам и игнорируют установленные пользователем — банковские и прочие приложения корень НУЦ не увидят. Но браузеры (в частности Chrome) пользовательским корням доверяют, поэтому весь просмотр сайтов под перехват попадает. Подробнее о том, что перехват может и чего не может, — в nuc/nuc-root-mitm-threat-model.

iOS / iPadOS

На iPhone корень ставится через профиль конфигурации, и у него два выключателя:

  • Настройки → Основные → «VPN и управление устройством» — установленные профили. Профиль с сертификатами Минцифры/Госуслуг → «Удалить профиль».
  • Настройки → Основные → «Об этом устройстве» → «Доверие сертификатам» (Certificate Trust Settings) — здесь видно, включено ли «полное доверие» для установленных корней. Даже установленный профиль без этого переключателя полного доверия не даёт; если переключатель включён — выключи или удали профиль целиком.

Браузеры со своим хранилищем

  • Firefox держит собственный список доверия, отдельный от системы: Настройки → «Приватность и защита» → «Сертификаты» → «Просмотр сертификатов» → вкладка «Центры сертификации» → искать «Russian». Удаление — кнопкой «Удалить или не доверять». Дополнительно проверь в about:config параметр security.enterprise_roots.enabled: значение true заставляет Firefox подтягивать корни из системного хранилища — тогда чистить нужно и систему.
  • Chrome/Edge/Safari своего пользовательского хранилища не ведут — они верят системному, поэтому для них достаточно проверок из разделов про Windows/macOS/Linux/Android выше (на Linux Chrome читает NSS-базу ~/.pki/nssdb).
  • «Яндекс Браузер» и «Атом» доверяют НУЦ на уровне самого браузера — из настроек это доверие не удаляется. Что из этого следует и как этим пользоваться осознанно — в nuc/embedded-trust.

После удаления

Перезапусти браузеры и повтори быструю проверку тестовым сайтом: сайт на сертификате НУЦ должен снова показывать предупреждение. Это и есть нормальное состояние — браузер честно сообщает, что издателю он не доверяет. Если такой сайт нужен регулярно, не возвращай корень в систему: варианты изоляции (отдельный браузер под госсайты, отдельный профиль Firefox, точечное исключение) разобраны в nuc/safe-usage.

📚 См. также


[!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны в Forgejo: исходник этой заметки · весь репозиторий.