Как Safari подружить со Сбербанк Онлайн

Да, это ночной пост (сегодня я снова живу немного по времени Токио).

Дисклеймер #1: этому, наверное, место где-нибудь на хабре, но у меня там нет профиля и не предвидется.

Дисклеймер #2: иногда ЗГТшник и бизнес-аналитик во мне объединяются в такого вот Вольтрона.

Надеваем шапочки из фольги и рассаживаемся.

Хочу я такой сегодня зайти в Сбер через Safari (приложением Сбера я не пользуюсь года с 2021 по определенным причинам) для оплаты ЖКУ, а он и не открывается. В качестве потенциального решения этой проблемы я получил предложение установить Яндекс Браузер, Atom или сертификаты Минцифры.

Первые два варианта отпали сразу. Я придерживаюсь простого принципа: если для открытия одного сайта мне предлагают установить целый браузер, сначала стоит выяснить, нельзя ли обойтись без нового жильца с обновлятором, телеметрией и неизвестным количеством щупалец.

Остаются сертификаты.

Инструкция Сбера предлагает скачать архив, установить сертификаты и в macOS (я работаю в ней) выбрать для них “Всегда доверять”. Вот тут мне стало интересно: а чему именно я сейчас собираюсь всегда доверять?

В архиве оказалось четыре файла. Два сертификата новой ГОСТ-цепочки 2025 года и два PEM-файла. Последние при ближайшем рассмотрении оказались контейнерами, каждый из которых содержал еще по два сертификата.

Прекрасно. Я всего лишь хотел заплатить за электричество. Вместо того чтобы импортировать все это хозяйство, я решил посмотреть, какую TLS-цепочку Сбер Онлайн использует прямо сейчас. openssl s_client показал мне:

*.online.sberbank.ru -> Russian Trusted Sub CA -> Russian Trusted Root CA

Причем сайт использует RSA-цепочку 2022/2024 годов. Новые ГОСТ-сертификаты из архива ему сейчас вообще не понадобились. Более того, промежуточный Sub CA сервер передает браузеру самостоятельно, как ему и положено. Реальная проблема Safari состояла только в одном: macOS не доверяет корневому Russian Trusted Root CA.

Значит, вместо четырех файлов мне понадобился один. Но здесь начинается самое интересное.

Корневой сертификат сам по себе не является программой слежки. Он не читает историю браузера, не отправляет телеметрию и не сообщает кому-либо, какие сайты вы посещаете. Это вообще не программа. Устанавливая доверенный Root CA, мы делаем другое: разрешаем операционной системе считать достоверными цепочки сертификатов, восходящие к этому удостоверяющему центру. Грубо говоря, в macOS появляется еще один нотариус, подпись которого браузер соглашается признавать.

Именно поэтому рекомендация “Всегда доверять” показалась мне несколько щедрой. В Keychain macOS позволяет задавать доверие отдельно для разных назначений: SSL, S/MIME, EAP, IPsec, подписи кода и так далее. Для работы Сбер Онлайн оказалось достаточно импортировать только Russian Trusted Root CA в пользовательскую связку ключей и разрешить ему доверие только для SSL. Safari сразу открыл Сбер.

Никаких Яндекс Браузеров. Никакого Atom. Никаких четырех сертификатов с генеральным пропуском.

Но есть нюанс. Доверие SSL нельзя штатно ограничить только доменом Сбера. Пока этот Root CA находится в Keychain, Safari может доверять и другим корректным HTTPS-сертификатам, выпущенным через эту инфраструктуру. Поэтому я выбрал еще более простой вариант.

Мне Сбер Онлайн нужен редко (раз в месяц). Я сохранил проверенный Root CA отдельным файлом. Когда понадобится банк, процедура занимает меньше минуты:

импорт Root CA -> доверие только SSL -> Сбер -> удалить Root CA

После удаления сертификата из Keychain файл спокойно лежит на диске и никаких полномочий не имеет. В результате вместо выполнения инструкции “установите все и всегда доверяйте” получилась реализация по принципу минимальных привилегий:

Один необходимый сертификат, одно необходимое назначение и только на необходимое время

Мораль здесь даже не про Сбер и не про сертификаты Минцифры. Иногда инструкция отвечает нам на вопрос “как сделать, чтобы работало?”. А инженерный вопрос звучит немного иначе:

“Что именно из перечисленного действительно необходимо, чтобы это работало?”

И эти два вопроса периодически приводят к очень разным решениям.

Как Safari подружить со Сбербанк Онлайн | Сетка — социальная сеть от hh.ru