Крупные российские сервисы стали требовать установить сертификат безопасности от МинЦифры. Ни в коем случае не делайте этого!
Если у вас сайт не открывается без сертификата, воспользуйтесь Яндекс.браузером, где такой сертификат уже есть: так вы хотя бы не скомпрометируете свою работу со ВСЕМИ сайтами, которыми вы пользуетесь.
А вот пользоваться этим браузером для работы с другими сайтами (кроме российских, которые и так под колпаком по умолчанию), наоборот, категорически нельзя: он не обеспечивает никакой защиты от расшифровки и/или подделки всего вашего трафика российскими силовиками.
Ниже отличная серия статей про сертификаты (upd: а вот у людей разбирающихся в теме, к ней возникли вопросики):
(репост из ЗаТелеком)
В чем проблема вот этих самых сертификатов от министерства деградации, я попробую максимально простыми словами.
Коротко не получилось — получилось серия постов
Кто выдаёт замочек в браузере. Часть 1: цепочка доверия
Начнём с того, что шифрование — простая часть задачи. Договориться о ключах два узла умеют давно и без посторонней помощи.
Сложная часть другая: как убедиться, что на том конце провода действительно ваш банк, а не бодрый юноша, вклинившийся посередине.
Для этого и придуман сертификат. По сути — заверенная кем-то справка: публичный ключ такой-то принадлежит домену такому-то. Всё. Вся мировая система TLS растёт из одного вопроса — чью подпись на этой справке мы согласны принимать.
Устроено матрёшкой. Есть удостоверяющий центр (CA), у него корневой ключ — лежит в железном модуле, достаётся по регламенту, под видеозапись, в присутствии нескольких человек с разными ключами от сейфа. Корнем подписывают промежуточные сертификаты, промежуточными — миллионы сертификатов для сайтов. Браузер получает сертификат сайта, идёт вверх по цепочке и упирается в корень. Корень в списке доверенных — замочек. Нет — жёлтый экран.
А теперь интересное: власть тут не у центров сертификации. Власть у тех, кто ведёт список корней.
Список корней — это Mozilla (её хранилищем де-факто пользуется весь Linux, curl и полмира сборок), Microsoft, Apple и Google (у Chrome с 2022 года своя программа). Четыре организации решают, чьей подписи доверяет планета.
Правила пишет CA/Browser Forum — добровольный клуб центров и браузеров. Ни ООН, ни ITU, ни одного государственного регулятора. Документ называется Baseline Requirements, соблюдение проверяется ежегодным аудитом WebTrust или ETSI. Частная лавочка с драконовскими внутренними порядками — и, что забавно, работает она лучше многих межправительственных конструкций.
Проверок бывает три вида. DV — подтверждается только контроль над доменом (положи файл по нужному адресу или заведи TXT-запись в DNS). OV — плюс проверка юрлица. EV — расширенная проверка компании, та самая, что когда-то рисовала зелёную плашку с названием фирмы. Плашку убрали в 2019-м: выяснилось, что на поведение людей она не влияет никак. Осталась дорогая формальность.
Сегодня почти всё — это DV. Let’s Encrypt с протоколом ACME сделал выдачу бесплатной и полностью автоматической, и рынок платных DV-сертификатов тихо скукожился.
В следующей части — что бывает, когда удостоверяющий центр оступается. Спойлер: бывает быстро и больно.
Часть 2: как вычищают удостоверяющие центры
Главная уязвимость системы — структурная. Любой из примерно полусотни доверенных корней технически может выпустить сертификат на любой домен мира. На gmail.com. На ваш банк. На что угодно.
Прочность всей конструкции равна прочности слабейшего участника. И участники, разумеется, ломались.
DigiNotar, 2011. Голландский центр взломали, злоумышленники выпустили сертификат на google.com и через него читали почту иранских пользователей. Больше трёхсот тысяч человек. Когда история вскрылась, корень вычеркнули из всех хранилищ разом. Компания подала на банкротство меньше чем через месяц. От двадцати лет репутации не осталось ничего.
TÜRKTRUST, 2013. Турецкий центр по ошибке выдал промежуточный сертификат вместо обычного — а промежуточным, напомню, можно подписывать что угодно. Ошибка, не злой умысел. Доверие всё равно урезали.
CNNIC, 2015. Китайский центр отдал промежуточный сертификат подрядчику, тот воткнул его в железку для перехвата трафика внутри своей же сети. Опять-таки без мирового заговора: тестировали. Google и Mozilla вычеркнули CNNIC полностью.
Symantec, 2017. Здесь не инцидент, а система: тысячи неправильно выпущенных сертификатов, невнятные объяснения, сорванные сроки исправлений. Крупнейший игрок рынка. Доверие аннулировали поэтапно, за полтора года, чтобы не положить пол-интернета. Бизнес пришлось продать DigiCert.
Entrust, 2024. Серия нарушений, вялые ответы на публичные вопросы. Chrome перестал доверять новым сертификатам. Тридцать с лишним лет на рынке не помогли.
Отсюда следствие, которое стоит запомнить: в этой системе нет слишком крупных, чтобы упасть. Нет иммунитета по выслуге лет. Вопрос всегда один — соблюдаешь правила или нет.
Есть и второе следствие, поинтереснее. Заметили закономерность? Почти везде речь про сертификат, о выпуске которого владелец домена не знал.
Поэтому в 2013 году придумали Certificate Transparency: каждый выпущенный сертификат обязан попасть в публичный журнал, устроенный так, что задним числом запись не выкинешь и не подменишь. Chrome и Safari просто не принимают сертификат без доказательства публикации.
Смысл простой: тихо выпустить сертификат на чужой домен больше нельзя. Всплывёт. Владельцы доменов мониторят журналы (загляните на crt.sh, там ваш домен как на ладони) и видят чужую самодеятельность за часы.
Механизм не идеальный. Но это единственное, что превращает молчаливый подлог в публичный скандал.
Часть 3: почему Russian Trusted Root CA не доверяет никто
Вопрос задают регулярно и обычно с подтекстом — мол, политика, санкции, русофобия. Отвечаю по порядку и начну со скучного.
Сертификат министерства деградации никто и не отвергал. Он не проходил процедуру. Совсем.
Попадание в корневое хранилище — не голосование и не решение по симпатиям. У Mozilla вся кухня публичная, в багтрекере: заявка, выложенные политики CP/CPS, соответствие Baseline Requirements, работа с Certificate Transparency, проверка домена из нескольких географических точек, публичное обсуждение, где посторонние люди месяцами ковыряют вашу документацию. И сверху — независимый аудит WebTrust или ETSI за весь период работы.
На аудите всё и заканчивается. Аудиторы WebTrust аккредитованы через CPA Canada, ETSI — через европейские органы аккредитации. Государственный удостоверяющий центр из России такого аудита не получит физически. А без него заявку даже не начнут читать.
Замкнутый круг, к чьей-либо доброй воле отношения не имеющий.
Теперь по существу. Допустим, аудит волшебным образом появился. Дальше начинается оценка рисков, и она короткая.
Корень в хранилище — это возможность выпустить действующий сертификат на любой домен планеты. Не на свои сайты. На любые.
Корневые программы задают ровно один вопрос: какова вероятность, что этот центр выпустит сертификат не по своей воле, а по указанию? Для центра, который принадлежит государству, где СОРМ прописан в законе, а ТСПУ уже стоят на сетях операторов, ответ считается в уме. Точки перехвата развёрнуты. Не хватает одной бумажки, которая сделает перехват невидимым для браузера.
И это не умозрительная конструкция, а живой прецедент по соседству. Казахстан требовал от абонентов ставить государственный корень в 2015, 2019 и 2020 годах. В 2019-м его действительно применили — перехватывали трафик к Facebook, Google и Twitter. После чего Chrome, Firefox и Safari внесли этот сертификат в чёрный список прямо в код браузера. То есть он перестал работать даже у тех, кто поставил его сам.
Про русофобию. Из хранилищ вычищали всех подряд, без оглядки на флаг: голландцев, турок, китайцев, американцев, канадцев (см. предыдущую часть). Разница в одном: ни один из них не был государственным центром страны с законодательно обязательной прослушкой. Порог тут объективно выше, и это следствие модели угроз, а не риторики.
С самими сертификатами, к слову, всё в порядке. Обычный RSA, обычный X.509, никакого ГОСТа. Проблема не в криптографии. Проблема исключительно в том, кто за них ручается. Спойлер: НИКТО
Итог на сегодня: корня нет в Chrome, Firefox, Safari и Edge. Доверяют ему Яндекс.Браузер и Атом, куда его вшили разработчики, плюс корпоративные контуры, куда его раскатали групповыми политиками.
Деталь, которую все путают: он не заблокирован, как казахстанский. Он просто отсутствует. Разница принципиальная — установленный вручную, он работает.
Вот про это вручную и будет последняя часть.
Часть 4: что вы отдаёте, устанавливая корневой сертификат
Успокоительный аргумент звучит так: установленный корень ничего не ломает. Если сайт подписан GlobalSign, российский корень в проверке не участвует, ваш трафик к гуглу никто не читает.
Это правда. И это ответ не на тот вопрос.
Опасность корневого сертификата не в том, что происходит сегодня. Она в том, что становится возможным завтра — без вашего участия и без единого предупреждения.
Объясню на пальцах. Корневой сертификат — не замок и не ключ. Это список людей, чью подпись вы заранее согласились признавать настоящей. Пока никто ничего не подделывает, список лежит и не мешает. Но добавив туда кого-то, вы уже не сможете отличить его подпись от честной. Механизма отличить нет — в этом весь смысл подписи.
Что конкретно вы отдаёте.
Первое. Любой сертификат, подписанный этим корнем, браузер примет молча. В том числе выпущенный на google.com, на signal.org, на почту вашей организации. Замочек зелёный, предупреждения нет.
Второе. Проверить факт такого выпуска нельзя. Центр не пишет в Certificate Transparency — публичного журнала, где всплыл бы чужой сертификат на ваш домен, попросту не существует. Механизм, который поймал голландцев и казахов, здесь не работает.
Третье. Точка перехвата уже стоит. ТСПУ на сетях операторов, СОРМ в законе. Не хватало ровно одного элемента, и, установив корень, вы приносите его сами.
Четвёртое. Вы про него забудете. Через год, через три. Он переживёт переустановку браузера и, вполне возможно, ваше пребывание в этой стране.
Практическая часть.
Нужно для банка и госуслуг — не ставьте корень в систему. Держите отдельный браузер только под эти сайты: Яндекс.Браузер для сбера и госуслуг, всё остальное — в Chrome или Firefox без корня. Скучно, зато контуры разделены.
Не ставьте корень на телефон. На мобильном разделить почти нечем, а приложений, ходящих в сеть без вашего ведома, там втрое больше.
Если приложение с certificate pinning отказывается работать — корень не поможет. Там список допустимых подписей зашит внутрь, и лечится это только обновлением от разработчика.
Знайте, где его выключить. Windows — certmgr.msc. macOS — Связка ключей. Android — доверенные сертификаты в настройках безопасности. У Firefox список свой, отдельный. Загляните туда прямо сейчас, многие удивятся находкам.
И общее. Установка корневого сертификата — не техническая настройка. Это решение о том, кому вы делегируете право удостоверять личность вашего собеседника. Такие вещи делают осознанно, а не по инструкции с баннера.