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

129 lines
17 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
date: 2026-08-04
tags:
- mincifry
- nuc
- tls
- certificates
- howto
- windows
- android
- ios
aliases:
- Проверка корня НУЦ
- Как удалить сертификат Минцифры
- Russian Trusted Root CA как найти и удалить
- Стоит ли у меня российский сертификат безопасности
link: 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|отзыва сертификатов китайским УЦ TrustAsia]], а установить «сертификаты Минцифры» сам же и предлагает на [странице sberbank.ru/certificates](https://www.sberbank.ru/ru/certificates). Если банк снова сменит сертификат, признак перестанет работать — при сомнении проверяй издателя вручную, как описано ниже.
- Браузер показывает **предупреждение** «подключение не защищено» / «NET::ERR_CERT_AUTHORITY_INVALID» → корня НУЦ в этом браузере **нет**. Это хороший исход, закрывай вкладку.
- Сайт открывается **без предупреждений** → либо в системе (или браузере) установлен корень НУЦ, либо это отечественный браузер со [[nuc/embedded-trust|встроенным доверием]]. Кто именно выдал сертификат, смотри по замочку в адресной строке: замочек → «Сведения о сертификате» → поле «Издатель» (Issuer). Там будет `Russian Trusted Sub CA`.
Издателя сертификата любого сайта можно узнать и без браузера, из терминала — эта проверка не зависит от локального хранилища доверия:
```bash
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+R``certmgr.msc` (хранилище текущего пользователя) → «Доверенные корневые центры сертификации» → «Сертификаты» → искать **Russian Trusted Root CA**.
- [ ] Там же раздел «Промежуточные центры сертификации» → «Сертификаты» → искать **Russian Trusted Sub CA**.
- [ ] `Win+R``certlm.msc` (хранилище компьютера, нужны права администратора) → те же два раздела.
- [ ] Удаление: правый клик по сертификату → «Удалить», подтвердить. После удаления перезапусти браузеры.
Быстрее — одной командой PowerShell (ищет по всем хранилищам текущего пользователя и машины):
```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** — правый клик → «Удалить». Для системной связки понадобится пароль администратора.
- [ ] Проверь и настройки доверия: если сертификат помечен «Этот сертификат отмечен как доверенный», значит доверие включали вручную при установке.
Терминалом:
```bash
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|соседней заметке]].
## 📚 См. также
- [[nuc/00-overview|Обзор раздела: сертификаты Минцифры (НУЦ)]] — что это и почему их вообще приходится искать у себя
- [[nuc/safe-usage|Как пользоваться госсайтами без корня НУЦ в системе]] — что делать после удаления
- [[nuc/nuc-root-mitm-threat-model|Модель угроз корня НУЦ]] — какие атаки открывает установленный корень
- 🔗 [Госуслуги: российские сертификаты безопасности](https://www.gosuslugi.ru/crt) — официальные инструкции по установке (полезны как карта: куда именно инструкция кладёт сертификаты — там их и искать)
---
> [!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ
> При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны в Forgejo: [исходник этой заметки](https://git.zapret.moe/zapretdiscordyoutube/todo/src/branch/main/nuc/check-remove.md) · [весь репозиторий](https://git.zapret.moe/zapretdiscordyoutube/todo/src/branch/main).