Как сайт Росреестра в этом году получил 0 баллов в Индексе надежности HTTPS и почему это не уникальный, но выдающийся результат.
В ходе исследований по проекту «Монитор госсайтов» мы постоянно сталкиваемся с ошибками в установке TLS-сертификатов на сайты госорганов. То сайт отдает агентам пользователей цепочку сертификатов в неверной последовательности, то неполную цепочку, вынуждая скачивать промежуточные сертификаты отдельно, то пихает в нее корневой сертификат, то выставляет в Интернет «внутреннюю нежность» типа сертификата Kubernetes Ingress Controller.
Хотя за подобные проявления хронического Culusis Manus мы и снижаем баллы в Индексе надежности HTTPS, на собственно надежности защищенного соединения это практически не сказывается, а неоправданное увеличение времени установки сессии и размера ServerHello остается на совести администраторов, страдающих от упомянутого заболевания
Но в ходе последнего на данный момент исследования сайтов государственных органов Российской Федерации мы столкнулись с фантастическим случаем: сайт Росреестра пытался убедить браузеры посетителей в защищенности соединения с ним сертификатом с серийным номером 0FA4F320D89D07BBE86F5C81DB829CB8, а те ни в какую ему не верили. Мы не сразу поняли, в чем дело, но стоило обратиться к сервису поиска по логам Certificate Transparency как все стало на свои места: тип этого сертификата – precertificate.
Precertificate – предварительный сертификат, выпуск которого может предшествовать выпуску «нормального» TLS-сертификата. Мозговыносящие подробности о том, что это, как и зачем, можно почерпнуть из IETF RFC 9162, а вкратце: это способ удостовериться, что сведения о «нормальном» сертификате действительно были внесены в CT-лог, на который он ссылается.
Проще говоря, предварительный сертификат – продукт «внутренней кухни» удостоверяющего центра и держателя CT-лога, и не предназначен для использования на сайтах. Агенты пользователя должны считать такой сертификат недействительным, а соединение с соответствующим сайтом – незащищенным, что и происходит при заходе на сайт Росреестра.
В Росреестре RFC тоже не читали, процедуру заказа сертификата освоить не смогли, а может просто очень спешили и воткнули к себе на сайт первое, что хотя бы отдаленно напоминало «нормальный» сертификат. Впрочем, другого воткнуть они и не могли, поскольку, согласно все тому же сервису, «нормальный» сертификат на основе упомянутого предварительного УЦ DigiCert так и не был выдан.
Почему – неизвестно; я не поленился связаться с УЦ и все, что мне там смогли сообщить, это: I checked for the domain and we do not have a certificate for that domain (я проверил по доменному имени и мы не выдавали сертификат для него – перевод автора).
Как я вижу ситуацию: некто в Росреестре решил выпендриться и заказать EV-сертификат, народную СКВ на него потратил, а дальше что-то пошло не так: то ли руки растут из нетрадиционного места, то ли очень спешил отчитаться начальству о небывалых успехах на ниве инфобеза… А начальство спрашивает, почему сайт не работает, а Казначейство интересуется, куда ушла бюджетная валюта, а на дворе уже 2022 и DigiCert пишет: We have suspended issuing out certificates for Russia due to the ongoing conflict.
В прокуратуру маякнули, пока от нее реакции нет. Может еще потребуется разъяснять прокурорским про RFC, Certificate Transparence и разные необычные части тела, откуда у отдельных людей способны расти руки.