Это и не статья, а всего лишь заметка, которая появилась в связи с грядущим окончанием действия TLS сертификатов у Сбербанка и некоторым бурлением, связанным с этим событием. В комментах к другой статье по этой же теме я предложил возможное решение, и мне предложили описать его в деталях, поэтому так и поступаю.
Мне не понравились предлагаемые решения с подъёмом виртуальной машины исключительно под браузер со сбербанком или скачивание второго браузера с отдельным хранилищем сертификатов - всё таки это довольно долго делать, и будут расходоваться лишние ресурсы. Вариант с созданием собственного сертификата и переподписанием сертификатов НУЦ, наверное, самый профессиональный, но разбираться и делать было лениво.
Довольно просто, как мне кажется, настроить систему так, чтобы браузер со сбером запускался от имени специального пользователя, в окружении которого можно установить сертификаты НУЦ Минцифры.
Все делается в четыре с половиной шага:
Создаем аккаунт пользователя.
Запускаем в новом аккаунте любимый браузер, в котором скачиваем с Госуслуг сертификаты и устанавливаем их в пользовательское хранилище (CurrentUser)
В основном рабочем аккаунте делаем ярлык на любимый браузер, запускаемый от имени нового пользователя.
Проверяем результат. Пока сбербанк еще работает на американском сертификате, поэтому подопытным сайтом может стать egisz.rosminzdrav.ru . На рабочем аккаунте, где сертификаты НУЦ не ставились, при его открытии должна появляться ошибка TLS. В браузере, открытом от имени нового пользователя, все должно открываться нормально.
Все эти движения можно выполнить традиционно для windows, мышкой, согласно инструкциям на сайте Сбера и на Госуслугах, но можно и из Powershell (в режиме админа)
# Копипастим и выполняем команды одну за одной:
#
#Создаем пользователя с хорошим паролем
net user sber MyStrongPassword /add
# Качаем корневой сертификат
runas /user:sber /savecred "powershell.exe wget -UseBasicParsing https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cer -OutFile ~\Downloads\russian_trusted_root_ca.cer"
# И ставим его в пользовательское хранилище
runas /user:sber /savecred "powershell.exe Import-Certificate -FilePath ~\Downloads\russian_trusted_root_ca.cer -CertStoreLocation cert:\CurrentUser\Root"
# Качаем sub сертификат
runas /user:sber /savecred "powershell.exe wget -UseBasicParsing https://gu-st.ru/content/Other/doc/russian_trusted_sub_ca.cer -OutFile ~\Downloads\russian_trusted_sub_ca.cer"
# И также, ставим его
runas /user:sber /savecred "powershell.exe Import-Certificate -FilePath ~\Downloads\russian_trusted_sub_ca.cer -CertStoreLocation cert:\CurrentUser\CA"
Код поля target ярлыка зависит от используемого браузера, разумеется, в моём случае это MSEdge, поэтому target такой:
C:\Windows\System32\runas.exe /user:sber /savecred "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe https://sberbank.ru"
Конечно, у этого решения есть минусы. Например, если потребуется скачивать файлы с сайта, по умолчанию они будут скачиваться в домашний каталог нового пользователя, что не очень удобно, наверное.
Что сделать еще? Можно запретить браузеру нового пользователя открывать что-либо, кроме сайта Сбера, чтобы случайно не открыть Gmail и не стать жертвой атаки класса major in the middle.
Уверен, есть разные способы, как это сделать по всем правилам. Мне нравится quick&dirty способ - Залогиниться новым юзером, зайти в Панель управления (старую) и сконфигурировать фальшивый прокси сервер SOCKS, добавив в список исключений домены сбера *.sberbank.ru; *.sber.ru.
Комментарии (64)
atrost
09.10.2022 20:46+2Объясните для непонимающего: если я поставлю "опасный" сертификат в систему, и сделаю его одним из доверенных CA, как он повлияет на работу сайта Microsoft, который подписан другим CA? При этом сайт Microsoft не будет использовать "опасный" сертификат для шифрования, ибо он ему не нужен.
Ладно, траффик с условных госуслуг и сбербанка сможет расшифровать условный тов. майор, т.к. он теперь шифруется "опасным" сертификатом, но он и так это может - ему сбербанк и госуслуги и так все передадут о вас.
Получается сертификат прямо влияет на работу только тех сайтов, которые его запрашивают или я не так понимаю что-то?
artemlight
09.10.2022 21:18+23Теоретически этот "опасный CA" может выдать сертификат на microsoft.com, и он будет ровно настолько же доверенным, насколько доверенный "оригинальный". В реализации Microsoft CryptoAPI нет возможности ограничить Trusted CA каким-то конкретным перечнем реалмов.
На практике же такие вещи внимательно отлавливаются при помощи инструментов certificate transparency. Стоит опасному СА издать сертификат для чего-то постороннего - как буквально со следующим апдейтом он будет забанен во всех актуальных браузерах, и все попытки минцифры впарить свой сертификат сойдут на нет. Можете почитать историю с DigiNotar для примера.Но это мы про какие-то глобальные истории. Локальные точечные атаки могут быть гораздо опаснее - например, в нужный момент можно подменить обновляемый telegram.exe на аналогичный бинарник с неким дополнительным функционалом. Безусловно, сделать это незаметно - достаточно сложно, но "опасный СА" + повсеместный хайджек днса + наличие DPI = практически готовый рецепт для осуществления такого рода атак.
atrost
09.10.2022 21:25-3Спасибо, правда интересные варианты. Но сейчас все идёт отказу от "альтернативных" браузеров и переходу на суверенный
chromiumЯбраузер. Видимо чтобы не сработала ваша теория про:Стоит опасному СА издать сертификат для чего-то постороннего - как буквально со следующим апдейтом он будет забанен во всех актуальных браузерах
artemlight
09.10.2022 21:50+3Не сработает.
Потому что TLS нельзя валить выборочно. Есть огромное количество устройств, на которых невозможно поставить Trusted CA на уровне системы - и в основном это мобильные устройства.
В Казахстане уже пытались национальный митм организовать, чем закончилось - все в курсе.
NetBUG
09.10.2022 23:34+3Основной ожидаемый вектор атаки – подпись провайдером/ТСПУ/РКН скама с помощью этого корневого сертификата. Скажем, в момент, когда вы пытаетесь зайти в хипстограм, и получаете редирект на какое-то поделие мейлру.
vikarti
10.10.2022 10:28У Яндекс Браузера патч для поддержки этих сертификатов + Certificate Transparency опубликован. https://github.com/yandex/domestic-roots-patch
Ладно, допустим яндексу мы не верим что товарищь майор не заставил их подправить как надо реальный код, но хоть отревьюить этот патч (я там — не вижу не заявленного но я могу ошибатся конечно же) и собрать хромиум с ним и использовать его почему нельзя?
По мне — Яндекс попатался тут сделать все же что можно технически. И патч, и поддержка CT.
TIgorA
10.10.2022 09:53Дополнительно есть CAA (https://en.wikipedia.org/wiki/DNS_Certification_Authority_Authorization), в котором владелец домена указывает каким СА доверять. Но я не уверен все ли браузеры умеют и хотят это проверять.
Stanislavvv
10.10.2022 10:57Бо́льшая часть пользователей вряд ли заморочится доступом к реальным 8.8.8.8, так что подмена днс вполне возможна.
nitro80
10.10.2022 13:07+1А не может случиться так: мы например запускаем установщик Яндекс.Браузера с правами администратора, а он нам пропихивает "государственные" корневые сертификаты? Незаметно для пользователя
qw1
10.10.2022 14:06На следующий же день на всех ресурсах поднимется такой шум, что мы об этом непременно узнаем.
akelsey
09.10.2022 22:21+3Как вариант "кто-то" кто имеет право подписывать другие сертификаты этим доверенным сертификатом, выпустит сертификат на имя microsoft.com (или любой другой), подменит DNS, а ваш браузер будет бесконечно доверять, в таком случае вы никогда не узнаете что неделю ходили на "неправильный" microsoft.com...
WorkND
09.10.2022 22:21+1Подмена вашим провайдером сайта Microsoft с подменой их родного сертификата на опасный уже от доверенного российского СА.
Вы же не просматриваете всегда при заходе на сайт Microsoft - а кем конкретно был выдан сертификат, американский он или наш? Вы скорее всего просто видите что он доверяемый и спокойно идете дальше.
DNess
09.10.2022 22:21+5Атака "man in the middle". Примерно такой сценарий - ваше соединение с Microsoft перенаправляется товарищу майору. Он со своей стороны генерирует сертификат для микрософта и говорит что я это тот самый сайт (ключики то от отчечественного сертификата у него есть и он может подписать им что хочет). Ваш браузер этому верит потому, что этот новый сертификат подписан тем самым российским сертификатом который указан как доверенный. Но по факту это соединение с товарищем майором. А уже с компьютера майора идёт второе соединение уже непосредственно на сайт Microsoft. И ваши запросы передаются в это второе совединение, но уже прочитанные товарищем майором. Вот и придумывают люди всякие способы ограничить использование этого российского сертификата только в тех случаях где без это не обойтись.
gazkom
09.10.2022 22:50+1Тогда, если в браузере подвести мышь к замку в адресной строке, будет написано, что сертификат выдан минцифры.
kinjalik
10.10.2022 00:02+13Часто ли вы проверяете, кем подписан сертификат сайта, на который вы зашли?
Я таким занимаюсь только если вижу какой-то сомнительно выглядящий платёжный шлюз у нормального сайта
Didimus
09.10.2022 21:31-17Создание нового пользователя это огромная нагрузка на файловую систему, будет создано много файлов и папок. Может проще поставить Яндекс-браузер? Накладные расходы тоже есть, но им хотя бы пользоваться можно
klounader
09.10.2022 22:53+14яндекс-браузер также раскидает неудаляемые щупальца по всей системе и окажется, что лучше б уж в виртуалке крутилось всё это.
maikuss Автор
09.10.2022 23:02+3Ну, не без этого. Немало будет файлов и папок. И, всё-таки, такую нагрузку на файловую систему я бы не стал называть огромной. Что же касается Яндекс-браузера, то почему бы и нет? Это решение предлагается прямо на странице Сбера, и те, кого ЯБ сам по себе устраивает, вряд ли нуждаются ещё в каких-либо предложениях.
JohnDoe_71Rus
10.10.2022 08:50+5Я-браузер тоже фокусы выкидывает. Решил попробовать что за зверь. На хабре нашлась заметка как сделать его автономным (ключ запуска для указания папки хранения настроек ЯБ). Так эта зараза при запуске без зазрения совести утянула из мозилы профиль, открытые вкладки, пароли... и даже не спросила а надо ли .
среда Линукс
CaptGg
10.10.2022 12:47Яндекс.Браузер сначала импортирует данные, а потом спрашивает "надо ли?". Если отказаться, то импортированные данные будут удалены и браузер перезапустится .
nitro80
10.10.2022 13:09+4Если отказаться, то импортированные данные будут удалены и браузер перезапустится .
Импортированные данные отсылаются в Яндекс -> удаляются из браузера -> браузер перезапустится.
klounader
11.10.2022 11:45+1Грабитель лезет в твой карман, забирает деньги, а потом спрашивает «надо ли»?
Если отказаться, то конфликт будет исчерпан и грабитель уйдёт восвояси.
urvanov
09.10.2022 23:59+6Да какая там нагрузка от какого-то профиля, если у нас сама винда уже запросто сто гигов сожрать может?
Maccimo
10.10.2022 00:28+30Создание нового пользователя это огромная нагрузка на файловую систему
Такой абсурдный аргумет может подействовать исключительно на людей с околонулевой компьютерной грамотностью.
Может проще поставить Яндекс-браузер?
Нет оснований доверять Яндексу.
Didimus
10.10.2022 06:18Даа. У меня на работе как подключится удаленно очередной администратор что-нибудь локально настроить, так сразу гигов 15 под новый профиль отъезжает. Я этого не вижу, но места на диске становится гораздо меньше.
urvanov
10.10.2022 09:39+2Не, ну не 15 гигов уж. Он, может, что-то удалить из своей папки забыл. Какой-нибудь установщик.
Didimus
10.10.2022 12:09-1Не могу посмотреть, у меня нет на это прав. Администратор переставлял офис, вряд ли там большой инсталлятор на три компонента.
Потому идея создать нового пользователя в десктопной системе плоха. Нужны ограниченные технические профайлы. В том числе и из-за безопасности
DaemonGloom
10.10.2022 12:22+2Заинтриговали, решил проверить. Папка пользователя, под которым заходили для настройки начальной — 30 мегабайт. У пользователя, в котором пользовались ещё браузером — 222 мегабайта.
Didimus
10.10.2022 12:31Что же оно еще тянет для доменного пользователя?
Весь его десктоп и системные папки?
DaemonGloom
10.10.2022 12:42+1Зависит от того, что в домене настроено. У нас roaming profile не включены, соответственно ничего лишнего не приходит на компьютер. Самое простое, что вы можете сделать — спросить администратора, что же там заняло столько места. Может, он действительно забыл установщики удалить.
В любом случае, создание нового локального пользователя — это минимум нагрузки и занятого места.
windessy
12.10.2022 00:57+1При включённом Roaming Profile (а в нормальной организации, где пользователям могут менять компьютеры, это обычно включено), пользователь при логине стягивает с сервера весь рабочий стол со всем содержимым, папки со своими документами, и папку \AppData\Roaming.
В документах обычно много занимает папка "Загрузки". Хотя и рабочий стол у многих завален мусором.
В \AppData\Roaming - все настройки всех программ, иногда там же живёт почтовый ящик Outlook, кэши некоторых программ (Telegram, Teams, и т.д.).
Можете посмотреть свой собственный профиль - введите в адресной строке проводника: %appdata% и посмотрите размер папки Roaming
qw1
10.10.2022 13:50+2Это значит, у вас неграмотные администраторы. Пользуются перемещаемым профилем и таскают на каждую машину свой рабочий стол и все личные файлики, а вы можете это спокойно прочитать, с правами локального админа на своей машине.
Что касается следа, создаваемогоnet user /add
в файловой системе, это вообще ничто по сравнению с тем, что каждый день делает типичный программист своими pip install, npm-install, компиляцией любого C++/C# проекта среднего размера.
Layan
10.10.2022 12:34+1Создание нового пользователя это огромная нагрузка на файловую систему, будет создано много файлов и папок.
В чем вообще нагрузка в эпоху SSD? Пару десятков/сотен мегабайт записать это высокие накладные расходы?
AndreyAf
10.10.2022 06:57+3В госучереждениях больше года сисадмины ставят уже три "опасных?" СА сертификата - минкоксвязь, минцифры и злополучный RussianTrustedRootCA, обычное дело.
K0styan
10.10.2022 12:25+1Ставить на рабочий компьютер сертификат от работодателя - дело обычное, без иронии. Но вот личные данные на таком я бы гонять поостерёгся.
crawlingroof
10.10.2022 07:47+2Идея рабочая, спасибо.
"если потребуется скачивать файлы с сайта, по умолчанию они будут скачиваться в домашний каталог нового пользователя, что не очень удобно, наверное. "
костылить так по полной, можно линк создать куда душеньке угодно
( я так игрушки переношу с ssd на hdd и обратно)mklink
Creates a symbolic link.MKLINK [[/D] | [/H] | [/J]] Link Target
/D Creates a directory symbolic link. Default is a file symbolic link. /H Creates a hard link instead of a symbolic link. /J Creates a Directory Junction. Link Specifies the new symbolic link name. Target Specifies the path (relative or absolute) that the new link refers to.
maikuss Автор
10.10.2022 10:15+1Да, линк или ярлык надо сделать. Но ещё права доступа придётся править.
windessy
12.10.2022 01:02Для скачивания файлов можно в настройках этого браузера поставить скачивание в общедоступную папку типа "C:\Downloads", или галочку "Всегда спрашивать при скачивании".
boenskov
10.10.2022 09:10-5Не могу понять, почему мы считаем российские сертификаты более опасными, чем те же американские которым мы слепо доверяем? Уверен, что и те и те запросто могут слушать мой трафик и если захотят, то вклинятся и смогут мне навредить.
Viacheslav01
10.10.2022 09:57+19Может быть потому, что у иностранных провайдеров сертификатов нет dpi оборудования на каждом узле российской сети. У провайдеров суверенных сертификатов оно есть. Им не хватало только ключей, что бы расшифровывается весь трафик, суверенные сертификаты и есть те самые недостающие ключи.
F0iL
10.10.2022 10:00+17Как уже выше отметили, основная опасность таких корневых сертификатов - это MitM с последущей подменой или прослушкой трафика. Между "российским" и "американским" MitM есть две очень больше разницы.
Первая в том, что MitM со стороны каких-то американских органов с использованием их корневых сертификатов доступен только для вашего трафика, который попал на узлы сети на территории Америки (или их союзников), то есть идет до каких-то сервисов, которые уже и так по сути дела подконтрольны им. Ваш трафик в пределах РФ они подслушать таким образом не смогут. С отечественными корневыми сертификатами же ситуация ровно обратная - наши органы смогут слушать весь ваш трафик, даже тот, который идет куда-то далеко и на неподконтрольные им сервисы. То есть, с некоторыми допущениями, если вы не хотите чтобы вас легко и просто подслушали американцы, достаточно коммуницировать через российские сервера, а вот в обратную сторону так уже не сработает.
Вторая разница в последствиях - заокеанскому сэру майору на вас, весьма вероятно, будет вообще целиком и полностью наплевать, он даже не в курсе о вашем существовании, а даже если он будет заинтересован вам как-то напакостить, сделать это сможет только очень ограниченным и маловероятным количеством способов (до тех пор пока вы сами не приедете зачем-то на его территорию). "Свои" же товарищи майоры знают о вас и интересуются вами многократно больше, и самое главное - имеют на территории страны к вам и вашим близким прямой физический доступ с монополией на насилие.boenskov
10.10.2022 10:14Нет необходимости гонять трафик через "подконтрольные сервисы", достаточно поставить "подконтрольный софт"(с закладкой, например) на любой промежуточный узел. Я вот не уверен на 100% что всем промежуточным узлам можно доверять.
Касательно интереса к моей персоне: конкретно я могу быть не интересен, но возможность взять под контроль миллионы и иметь возможность воздейсвовать на эту массу - считаю вполне привлекательной идеей.
F0iL
10.10.2022 10:34+4В том-то и дело, что просто "поставить подконтрольный софт с закладкой" на промежуточный узел не получится. Перешифровка TLS "на лету" - это занятие очень ресурсоемкое. Настолько ресурсоемкое, что делать MitM для определенной полосы трафика потребует в десятки раз больше вычислительных мощностей, чем для его обычной маршрутизации и аггрегирования (которое, кстати, в наши дни обычно делается нередко вообще не процессором общего назначения, а на FPGA), например. Соответственно, одного только софта с закладкой не достаточно, нужно именно что специальное очень мощное железо.
Далее. Допустим, вы решили обойтись без дешифровки "на месте", а просто будете сливать данные куда-то и расшифровывать там. И то и то на сколь-менее больших объемах это очень палевно - у вас в транзитный узел вливается 10 гигабит, а выливается из него внезапно гораздо больше - и никто ничего не заметит, ага, конечно :) Для выборочной слежки за отдельными очень интересующими личностями это в теории еще возможно (правда, тут еще отдельной задачей будет вычленить из огромной лавины трафика именно трафик принадлежащей интересующей нас личности), но вот "контроль над миллионами" в таком варианте практически нереализуем.
0x1b6e6
10.10.2022 10:44+3Американские СА будут в доверенных до первого инцедента. А что будет в случае инцедента с неправомерным использованием Российского СА? Перевыпуск? Произошло один раз - произойдет снова.
Asen
10.10.2022 09:57+1А ради чего все эти заморочки? Чтобы каждый раз в браузере при открытии сайта сбербанка не тыкать "Доверять этому сертификату"?
Maccimo
10.10.2022 10:40Однажды, по невнимательности, можно довериться мошенникам не из банка. Например, при онлайн-оплате.
qw1
10.10.2022 14:03При онлайн-оплате я попадаю не на сайт Сбера, а на сайт платёжного шлюза.
Они пока не под санкциями и с сертификатами у них всё хорошо.Maccimo
10.10.2022 14:34Код из SMS при оплате картой Сбербанка вы на странице Сбербанка вводить будете.
qw1
10.10.2022 15:05Проверил — действительно так.
Значит, firefox — хороший браузер, где можно на домен раз принять недоверенный сертификат и это решение запомнится. Если в других браузерах это не так, это плохие браузеры и для них решение, с которого началась эта ветка обсуждений, не подходит.
qw1
10.10.2022 13:57А почему «каждый раз»? Я в firefox один раз нажал, и оно запоминается при перезапуске браузера. Захожу на www.sberbank.ru без предупреждений, но с изменённой иконкой замочка около адреса.
EJIEKTPOMEX
10.10.2022 10:52Вариант с созданием собственного сертификата и переподписанием сертификатов НУЦ, наверное, самый профессиональный
Подскажите, где можно более подробно ознакомиться с данным вариантом?
maikuss Автор
10.10.2022 10:55+1Рецепты можно нагуглить по фразе типа how to trust ca only for a specific domain.
dartraiden
Если «любимый браузер» = Firefox, то просто создаём новый профиль браузера, ставим туда сертификат и запускаем этот профиль
firefox -no-remote -P "profilename"
Вдобавок, ещё и повышается безопасность, если в этот профиль не устанавливать дополнения и через него совершать все покупки.
Kiborg777
Я бы для этой цели использовал отдельный Firefox-"форкнутый" браузер - Waterfox или Palemoon. На всякий случай, чтобы случайно не кликнуть на иконку второго профиля в Firefox.
Собственно, уже сейчас для доступа к российским ресурсам я использую Waterfox, пропуская трафик через ssh tunnel на российском VPS (я не живу в РФ и многие российские ресурсы недоступны без российского прокси или тоннеля). Поставлю в этот Waterfox российский сертификат и всё.
dartraiden
Для страховки можно в «финансовом» профиль другую тему браузера включить. Например, если у меня основной профиль, как и система, имеет тёмную тему, то во втором я бы включил светлую.
Nasreddin_Hodja
Ага, давно так делаю, благо Firefox из коробки поддерживает скины. А то до этого постоянно окна разных профилей путал.
PereslavlFoto
1) Если вы установили только сертификат Сбербанка, тогда проблема возникает лишь при вашей связи со Сбербанком. И проблема возникает лишь тогда, когда третьи лица хотят в эту связь включиться, чтобы узнать, чему посвящены ваши со Сбербанком байты. Это решение оставляет под риском только сайт Сбербанка и его производные.
2) Опасным называют не сертификат Сбербанка. Опасным называют — сертификат высокого уровня, которым подписан сберовский сертификат. Опасным называют — сертификат, который выпущен от имени The Ministry of Digital Development and Communications.
3) На своём сайте Сбербанк предлагает установить не сберовский сертификат, а корневой от министерства. Тем самым клиент своей волей, своим умом признаёт, что во всём доверяет министерству. Вот этот акт доверия и считается опасным, потому что один лишь бог знает, чего ждать от министерства.