Как стать автором
Обновить

Как можно установить «опасный» российский сертификат в Windows

Время на прочтение3 мин
Количество просмотров41K

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

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

Довольно просто, как мне кажется, настроить систему так, чтобы браузер со сбером запускался от имени специального пользователя, в окружении которого можно установить сертификаты НУЦ Минцифры.

Все делается в четыре с половиной шага:

Создаем аккаунт пользователя.

  1. Запускаем в новом аккаунте любимый браузер, в котором скачиваем с Госуслуг сертификаты и устанавливаем их в пользовательское хранилище (CurrentUser)

  2. В основном рабочем аккаунте делаем ярлык на любимый браузер, запускаемый от имени нового пользователя.

  3. Проверяем результат. Пока сбербанк еще работает на американском сертификате, поэтому подопытным сайтом может стать 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.

Теги:
Хабы:
+45
Комментарии75

Публикации

Истории

Работа

Ближайшие события