LINUX.ORG.RU

Сертификат от минцифры

 , ,


1

2

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

Вопрос как избежать использования этого сертификата, по крайней мере на сайтах которые работают и без него. Есть ли какие-то альтернативные способы обеспечения работоспособности https без сертификата минцифры, которые можно было бы рекомендовать к внедрению данным фирмам? Существует ли в российской среде сторонников СПО какие-то рекомендации или мероприятия по отстаиванию принципов СПО максимально возможным в настоящее время способом?

★★★

Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от iZEN

Если сертификат не тот, а пользователь продолжает верить, что он находится на сайте Google, то кто виноват?

а «тот» это какой? ты знаешь/помнишь какой CA должен быть у каждого сайта?

❯ openssl s_client -connect linux.org.ru:443  </dev/null 2>/dev/null | grep ^issuer=
issuer=C=US, O=Let's Encrypt, CN=YE2

откуда мне знать что это настоящий уц, а не кто-то выпустил серт для митма, а реально серт был от минцифры?

user_undefined ★★
()
Ответ на: комментарий от KivApple

никто не будет орать если «не Петя» из правильной страны. И рассказать, что к тебе пришли товарищи в форме и попросили выпустить сертификат для нужного сайта, ты тоже не сможешь, для такого я думаю в любой стране мира есть соответствующие законы. И если это будет не что-то массовое, а таргетно, то вообще никакого шума не будет. Максимум догадки, которые объявят коспирологической теорией левых/правых

user_undefined ★★
()
Ответ на: комментарий от user_undefined

Центр сертификации кричать не будет, а клиент сайта будет, особенно если он в другой юрисдикции. 7 миллиардов пар глаз лучше чем 140 миллионов, да ещё и все под одним товарищем майором.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от sn4il

Ну это надо очень сильно насолить США, а потом догадаться выехать из России в «недружественную» страну. Другой профиль рисков. Российский товарищ майор всё ещё опаснее.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от LightDiver

Безопасность в каком месте повышает. Удобство то понятно, но с учётом необходимости пользоваться VPN для доступа к половине Интернета отдельный боаузер для российских сервисов уже не выглядит так страшно. Помимо разных сертификатов будет и разный роутинг.

KivApple ★★★★★
()
Ответ на: комментарий от KivApple

Это если клиент заметит или успеет. 99,(9)% людей не заметит смену CA сайта, особенно, если митм будет целевым, а не для всех пользователей.

И все зависит от юрисдикции ца, который выпустит поддельный сертификат. Если из «правильной» - то, даже если вскроется, скажут что это ради бобра и защиты маленьких детей и никто эти ца удалять из браузеров (подконтрольных той же юрисдикции) не будет

Не, я понимаю опасения насчет национального серта, но считать остальных белыми и пушистыми тоже не стоит. Расчет на то, что они далеко и не доберутся - гораздо лучше и надежней, чем верить в пушистость

user_undefined ★★
()
Ответ на: комментарий от user_undefined

Ну не всё так просто. Китай и ЕС будут очень возмущаться, если вскроется, что АНБ выпускает сертификаты на чужие сайты от имели американских удостоверяющих центров. Аналогично США и ЕС будут очень возмущаться, если на таком спалится Китай (и прецедент уже был и последствия были). Ну и США и Китай будут возмущаться, если таким займётся ЕС. Тут играет роль, что все со всеми повязаны и все со всеми могут судиться и вводить всякие санкции. И при этом спецслужбы хоть и сотрудничают (во всяком случае между США и ЕС), но не прямо таки дружат (например, был скандал с прослушкой европейских политиков США и опять же были последствия). Конкуренция спецслужб играет тут на руку простым людям.

А у РФ своя атмосфера, если перехват и будет, то затронет чисто внутренних пользователей, а после 2022 РФ и так уже обложена санкциями по самые помидоры, а российских центров сертификации нет на международном рынке. Так что россиян никто не защитит от MITM.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 3)
Ответ на: комментарий от KivApple

Не отдельный браузер, а отдельный комп (с отдельной личностью). Иначе это всё для самоуспокоения. Ну и всегда остается железобетонный способ не заразиться сифилисом. Прям очень сильно нужны эти сервисы? Сто раз подумать нужно, прежде чем куда-то заходить.

bread
()
Ответ на: комментарий от user_undefined

откуда мне знать что это настоящий уц, а не кто-то выпустил серт для митма, а реально серт был от минцифры?

Там же должна быть цепочка сертификатов от того, кто предъявляет сертификат пользователю, к «корневому» сертификату, который удостоверил этот предъявляемый сертификат. Всю цепочку и надо проверять.

Если сайт «Google» подписан сертификатом, который удостоверен сертификатом от ФСБ, который, в свою очередь, удостоверен сертификатом от Минцифры, тогда конечно.

iZEN ★★★★★
()
Ответ на: комментарий от user_undefined

Let’s Encrypt

Это подставной УЦ от ЦРУ.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

так все будет, если оба удостоверяющих центра у тебя в доверенных, то ты, как пользователь, не можешь узнать какой из сертов «правильный». Ну серт именно от минцифры будет сильно палевным для условно гугла. А если взять условно letsencrypt и globalsign, то способов узнать какой из сертов настоящий, а какой был выпущен для митма у тебя в общем-то и нет.

Цепочка сертов будет валидной для обоих уц, оба будут «зелеными» в браузере

user_undefined ★★
()
Ответ на: комментарий от user_undefined

Тоже об этом подумал. Видимо у ЛЕ какая-то хорошая система распознавания сайтов. Тут бы у более опытных ребят спросить.

bbc69
()
Ответ на: комментарий от bbc69

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

и если владелец еще может мониторить CT и поднять шумиху если появился неизвестный ему серт, то у пользователя нет понимания валидный ли был выпуск второго серта или нет

user_undefined ★★
()
Ответ на: комментарий от user_undefined

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

Владельцу сайта хорошо бы настроить DNS CAA.

maxcom ★★★★★
()
Ответ на: комментарий от bbc69

регламент подтверждения имени должен быть у всех СЦ. поищи. регламент должен где-либо быть прописан на ЛЕ.

pfg ★★★★★
()
Ответ на: комментарий от maxcom

а все популярные браузеры это точно проверяют? Если да, то уже лучше чем ничего. в случае plain dns можно конечно подменить ответ, но это уже другая проблема

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

user_undefined ★★
()
Ответ на: комментарий от MirandaUser2

К сожалению, эта схема описывает ограничения доступа доменом ".ru", а не конкретно указанными сайто-банками. Тем не менее, это лучше, чем ничего.
Делюсь списком команд, который мы подготовили с Google AI.
НЕУДАЧНАЯ ПОПЫТКА
Сначала мы попробовали добавить корневой сертификат как не-корневой, однако ничего не получилось. Сайты не хотят открываться таким образом. На всякий случай, пишу команды:

sudo apt-get install libnss3-tools
certutil -d sql:$HOME/.pki/nssdb -A -t "p,p,p" -n "Russian Trusted Root" -i russian_trusted_root_ca_pem.crt
certutil -d sql:$HOME/.pki/nssdb -A -t "p,p,p" -n "Russian Trusted Sub CA" -i russian_trusted_sub_ca_pem.crt
Проверяем, всё ли встало верно:
$ certutil -d sql:$HOME/.pki/nssdb -L

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Russian Trusted Root                                         p,p,p
Russian Trusted Sub CA                                       p,p,p
После неудачной попытки, удаляю ранее добавленные сертификаты:
certutil -d sql:$HOME/.pki/nssdb -D -n "Russian Trusted Sub CA"
certutil -d sql:$HOME/.pki/nssdb -D -n "Russian Trusted Root"
Мы также пробовали добавить только промежуточный сертификат. Тоже неудача.
$ certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "Russian Trusted Sub CA" -i russian_trusted_sub_ca_pem.crt 
$ certutil -d sql:$HOME/.pki/nssdb -L

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Russian Trusted Sub CA                                       C,,
Это сработало бы, если бы это был одид сертификат, которым подписывают всё подряд (как это пытались в своё время сделать в Казахстане). Здесь же - иерархия (цепочка) из Root CA и кучки постоянно меняющихся Sub CA (промежуточных центров).
Удаляем после неудачной попытки:
$ certutil -d sql:$HOME/.pki/nssdb -D -n "Russian Trusted Root"
УДАЧНАЯ ПОПЫТКА
Теперь делаем так, как написано по твоей ссылке (спасибо vbr за подробный алгоритм). К сожалению, я не обладаю нужным количеством знаний, поэтому конкретные команды попросил у Google AI.
Шаг 1. Подготовка и генерация личного Root CA
Создаем чистую рабочую папку и генерируем ваш собственный, локальный корневой сертификат, которому система будет безоговорочно доверять:
mkdir ~/my_crypto && cd ~/my_crypto

# 1. Генерируем приватный ключ для вашего личного УЦ
openssl genrsa -out my_root.key 4048

# 2. Создаем ваш личный корневой сертификат на 10 лет
openssl req -x509 -new -nodes -key my_root.key -sha256 -days 3650 -out my_root.crt -subj "/CN=My Home Safe Root CA"
Шаг 2. Создание файла ограничений (только ASCII / Punycode)
Создаем конфигурационный файл constraints.cnf, в котором прописываем зоны, дальше которых Минцифры прыгнуть не сможет. Зона .рф обязательно пишется как .xn--p1ai:
nano constraints.cnf
Вставляем в него ровно эти 6 строк:
[ v3_cross_sign ]
basicConstraints = critical, CA:true
keyUsage = critical, cRLSign, keyCertSign
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
nameConstraints = critical, permitted;DNS:.ru, permitted;DNS:.xn--p1ai, permitted;DNS:.su, permitted;DNS:sberbank.ru
Примечание: для Windows 7/8.1 зону ".рф" надо убрать, так как системы до 10/11 сочтут такой сертификат ошибочным
Шаг 3. Кросс-подпись через OpenSSL 1.1.1+
Положите скачанный с Госуслуг оригинальный корневой файл russian_trusted_root_ca_pem.crt в папку ~/my_crypto.
# 1. Извлекаем чистый публичный ключ Минцифры
openssl x509 -in russian_trusted_root_ca_pem.crt -pubkey -noout > mincifra_pub.key

# 2. Создаем структуру запроса (CSR)
openssl req -new -key my_root.key -subj "/C=RU/O=The Ministry of Digital Development and Communications/CN=Russian Trusted Root CA" -out mincifra_modified.csr

# 3. Подписываем ключ Минцифры вашим корнем с наложением ограничений
openssl x509 -req -in mincifra_modified.csr -CA my_root.crt -CAkey my_root.key -CAcreateserial -out mincifra_restricted.crt -days 3650 -extfile constraints.cnf -extensions v3_cross_sign -force_pubkey mincifra_pub.key

# 4. Очищаем получившийся сертификат от лишних логов для старого certutil
openssl x509 -in mincifra_restricted.crt -out mincifra_clean.crt
Примечание: последние две команды требуют OpenSSL 1.1.1+, так как более старые версии не поддерживают опцию -force_pubkey
Шаг 4. Импорт новой цепочки в базу браузера
# 1. Добавляем ваш личный корень как Главный Доверенный УЦ (флаг C,,)
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "My Home Safe Root" -i my_root.crt

# 2. Добавляем ограниченный корень Минцифры БЕЗ прав самостоятельного доверия (,,)
certutil -d sql:$HOME/.pki/nssdb -A -t ",," -n "Russian Trusted Root (Restricted)" -i mincifra_clean.crt

# 3. Добавляем оригинальный промежуточный сертификат Минцифры (Sub CA) БЕЗ прав доверия (,,)
certutil -d sql:$HOME/.pki/nssdb -A -t ",," -n "Russian Trusted Sub CA" -i /home/gaben/Загрузки/russian_trusted_sub_ca_pem.crt
Шаг 5. Применение изменений
Проверяем базу командой certutil -d sql:$HOME/.pki/nssdb -L. Напротив вашего корня должно быть C,,, напротив остальных двух — , ,.
Чтобы изменения вступили в силу, перезапустите браузер.
Что ж, мы ограничили действие корневого сетрификата Минцифры РФ только доменами зон ".ru", ".рф" и ".su". Это не спасёт от MITM-атак на сайты в доменной зоне ".ru", однако полностью исключит подобное для остальных доменных зон, таких как ".com", ".net" или ".org". Главное - не логиньтесь в гугл-почту через google.ru.
САМЫМ НАДЁЖНЫМ СПОСОБОМ ПО-ПРЕЖНЕМУ ОСТАЁТСЯ ИЗОЛИРОВАННЫЙ ПРОФИЛЬ БРАУЗЕРА!
[Desktop Entry]
Version=1.0
Type=Application
Name=Госуслуги и Сбер (Изолированный)
Comment=Безопасный браузер для российских сайтов
Exec=chromium --user-data-dir=%h/.isolated-ru-browser --no-default-browser-check
Icon=chromium
Terminal=false
Categories=Network;WebBrowser;

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

P.S. И да, у меня никак не фигурирует сертификат ГОСТ: russian_trusted_root_ca_gost_2025_pem.crt. Причина в том, что конкретно в моей системе не установлен Engine для OpenSSL с поддержкой ГОСТ (версии 1.0.0 и 1.0.1 нужно было пересобирать с опцией gost, тогда как 1.1.0 и новее имеют поддержку подключаемых модулей). Также у меня нет Chromium-gost, и я в принципе не уверен, что UG Chromium кто-либо в мире когда-либо пересобирал с этими патчаим.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от Loki13

А если ты вообще не интересен никому, то тобой и господин майор вряд ли заинтересуется.

Мобильные провайдеры активно лезут в нешифрованый трафик - лично у меня часто открываются какие-то «мобильные игры» от мобильного оператора за которые надо заплатить смс вместо сайтов на народе, кто всем этим господам запретить начать подменять сертификаты?

Ygor ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Чем только люди не страдают, лишь бы не юзать bwrap…

У меня для российских деанонимизирующих сайтов (банки, маркетплейсы, госуслуги) уже давно отдельный инстанс браузера был (сперва юзал firejail, последние лет 5 перешёл на bwrap). Я просто добавил именно в него эти сертификаты, и всё… В два клика в самом браузере…

CrX ★★★★★
()
Ответ на: комментарий от Loki13

А если ты вообще не интересен никому

Такого не бывает в наше время, к сожалению. В принципе вообще, совсем никак. Нет «неинтересных», невозможно таким стать.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Я через bwrap обхожу требование к более новому Glibc. Правда, требует --no-sandbox.

> Я просто добавил именно в него эти сертификаты, и всё...

Это ведь можно делать и с отдельным профилем, как у меня в конце сообщения.

ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 3)
Ответ на: комментарий от ZenitharChampion

P.P.S. Импорт в Windows:

  • Нажмите Win + R -> введите certmgr.msc -> Enter.
  • my_root.crt импортируйте в папку «Доверенные корневые центры сертификации». Windows выдаст грозное предупреждение, нажмите «Да».
  • mincifra_clean.crt и оригинальный промежуточный файл Sub CA импортируйте в папку «Промежуточные центры сертификации».
ZenitharChampion ★★★★★
()
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от ZenitharChampion

Можно. Но мне больше нравится вариант с bwrap, просто потому что он универсален, а не опирается исключительно на внутренний механизм конкретного браузера по разделению профилей. У какой-то другой программы (или даже просто другого браузера) такой фичи может не быть. Или в браузере может найтись уязвимость, а браузер при этом имеет доступ ко всей ФС. Так-то да, если именно чисто ради сертификата, вариант с отдельным профилем тоже работает. Но вариант с bwrap универсальнее, а также даёт дополнительные, не связанные с сертификатом, преимущества.

CrX ★★★★★
()
Ответ на: комментарий от ZenitharChampion

Подготовка и генерация личного Root CA

выкинь этот нейрослоп с ручными командами openssl и используй easy-rsa

сама идея с constraints.cnf - умно, я об этом вообще не подумал. Надо будет провентилировать этот вопрос

Lrrr ★★★★★
()
Ответ на: комментарий от KivApple

Потому что иностранные спецслужбы могут только посмотреть, а свои ещё и потрогать.

Зачем тебя трогать, если ты сливаешь им важную информацию. Иначе они давно опустили бы интернетный железный занавес и сидел бы ты как минимум без корневых ДНС и серт. центров.

futurama ★★★★★
()
Ответ на: комментарий от KivApple
Nick: KivApple
Имя: Ivan KOLESNIKOV
Город: Nice, France

Я так понимаю, все сертификаты стран, имеющих договор о выдаче с Францией, ты уже выкинул?

Aceler ★★★★★
()

Самое интересное в этом посте: попытка решить проблему тотального доверия к одному центру доверия с помощью… ещё одного центра доверия. Настоящий дух анкориджа СПО! Cвободно выбирать, какой именно неизбежный костыль использовать :)

Какую проблему вообще решаем? О каких принципах СПО речь? Ведь какая разница чей сертификат, если он чей угодно, только не твой. Хоть это дядя Сэм выпускает, Ми6, хоть наши домашние. Это как верить галочке «Зашифровать облачный диск» в UI популярных хостингов.

lx1
()
Ответ на: комментарий от ZenitharChampion

Невсе сайты требуют гост-крипты. Просто Сбер не требует.

praseodim ★★★★★
()
Ответ на: комментарий от Aceler

Это лишнее. «Всем известно» (с) что комиссар Жюв никогда не сделает такого, что постоянно делает майор Иванов.

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

Ну да, русское правительство обязательно в будущем когда-нибудь сделает так, как уже сделало французское.

Aceler ★★★★★
()
Ответ на: комментарий от CrX

У меня для российских деанонимизирующих сайтов (банки, маркетплейсы, госуслуги) уже давно отдельный инстанс браузера был

Главное не перепутать инстансы, когда будете экстремизмом заниматься.

bread
()
Ответ на: комментарий от bread

За многие годы использования то трёх, то четырёх инстансов, ни разу такого не было, чтобы я их перепутал. Мне кажется, это несложно.

CrX ★★★★★
()
Ответ на: комментарий от Ygor

Ну, наверное, винить Петю в том, что он подарил ваучер, всë-таки не совсем корректно. Но вот вина Пети в том, что он сделал возможным существование чудака на букву «М», который смог эту букву утроить, и подарить тот самый ваучер.

yars068 ★★★★★
()
Последнее исправление: yars068 (всего исправлений: 1)
Ответ на: комментарий от BruteForce

Да если даже и кто-то что-то подменил (зачем?). Ни у кого-же нет локальных файлов чтобы сверить чексуммы. Ведь нет, да? *padme.jpg*

SkyMaverick ★★★★★
()
Ответ на: комментарий от SkyMaverick

Так я и подумал, что у кого-то не сошлись, а лучше массово

BruteForce ★★★★
()

как избежать использования этого сертификата

Никак. Сайт выбирает сам к кому пойдёт подписывать свой сертификат.

как возможность организации MITM атаки

Очевидно следить какие домены внезапно стали пользоваться сертификатом Минцифры. Либо отдельный браузер, отдельный профиль в браузере, свой локальный прокси с MITM и своим доверенным сертификатом, своё расширение для браузера.

альтернативные способы обеспечения работоспособности https без сертификата минцифры

Подписывать свой сертификат у кого-нибудь другого. Если разрешат конечно же. Но если ты не создатель сайта, а юзер, то способов нет, сайт решает за тебя.

в российской среде сторонников СПО

Ничего эта среда сделать не может. Более того, сертификаты совсем никак не связаны с СПО, это закрытый элитный клуб. Всё что могут сторонники СПО это использовать https/сертификаты или не использовать, или выпускать свои сертификаты и слёзно каждого лично попросить его себе поставить в доверенные.

neumond ★★
()
Ответ на: комментарий от CrX

Такого не бывает в наше время, к сожалению. В принципе вообще, совсем никак. Нет «неинтересных», невозможно таким стать.

Уверен, я, лично, никому не интересен. Работаю свою работку, строю домик, ращу детей, всё максимально скучно. Никакого тебе экстремизма или политики. Или вот мой сосед электрик, бухающий каждый вечер водочку и орущий на жену, тоже уверен что никому не интересен. И живём тут все в частных домиках практически без соседей, так что даже соседям неинтересны. Мы и с соседями в нашем районе не здороваемся и не знаем как кого зовут практически.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

Вы интересны, как минимум:

  1. Продаванам всего и вся — как потенциальные покупатели.
  2. Налоговой (даже если там всё нормально — интерес-то есть (потому и нормально).
  3. Армии (если только не стоит категория Г, которая совсем не годен) в качестве потенциальных контрактников или мобилизованных.
  4. Полиции и ФСБ. «Никакой» политики не бывает. Слова, которые вчера были аполитичными, завтра могут стать очень даже политически значимыми, а послезавтра экстремистскими. Мы это уже наблюдали не раз, в том числе совсем недавно. Нет никакой гарантии, что через год вот это «я никому не интересен» не окажется экстремистским. Звучит нелепо? Да. Но 10 лет наза точно так же нелепо звучало бы, если бы кто-то сказал, что будет считаться экстремистским в 2026.
CrX ★★★★★
()
Ответ на: комментарий от CrX

Кроме первого, это всё никак не связано с сертификатами.

2. Тут и без слежки за мной всё знают про меня(я же ничего не нарушаю и всё плачу вовремя).

3. Тут тоже, если что меня повесткой позовут и никакие сертификаты от минцыфры на моем ПК не нужны.

4. И тут тоже самое что и в п.3. Нет у меня никакой деятельности на ПК, за которую меня можно было бы привлечь.

Я почему и говорю, мой ПК максимально скучный для того чтобы был кому-то нужен. А так-то я много кому нужен, детям, жене, друзьям, работодателю. Я писал всё же в контексте темы и сертификатов на ПК.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

Кроме первого, это всё никак не связано с сертификатами.

Да и тут не особо сертификат нужен. Данные прекрасно собирают и без этого.

bbc69
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.