На сервере с веб-сервером nginx был настроен ssl-раздел с привязкой клавиш:
add_header Public-Key-Pins 'pin-sha256="some-key"; pin-sha256="second-key"; max-age=5184000;' always;
теперь срок действия сертификата истек и он был переиздан, я создаю новую строку base64 для нового сертификата, nginx -t
показывает, что синтаксис файла конфигурации правильный, но когда я захожу на сайт, я вижу ошибку - MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE
Поэтому я хочу спросить - есть ли способ обновить сертификат на сервере с привязкой ключей без простоев для пользователей?
Удаление пользовательских данных в браузере недопустимо.
У вас есть несколько вариантов:
Повторно выпустите новый сертификат с тем же ключом. Лучше всего начать с нового ключа, а не использовать его повторно, поэтому, возможно, HPKP (предположительно хороший для безопасности) поощряет плохие методы безопасности.
Есть резервный ключ / csr / certificate. Лучшая практика будет генерироваться по мере необходимости, поэтому нет шанса утечки ключа, поскольку в противном случае его необходимо безопасно хранить, поэтому, возможно, HPKP (предположительно хороший для безопасности) поощряет плохие методы безопасности. Фактически, HPKP распознается браузером только в том случае, если вы включаете булавку для другого ключа в качестве функции безопасности, которая поддерживает эту опцию.
Заранее сгенерируйте csr или сертификат * l (по крайней мере, max-age) и обновите заголовок HPKP, чтобы включить новые выводы сертификата для максимального времени, затем переключите сертификаты и, наконец, удалите старый сертификат из заголовка HPKP. Конечно, если ключ скомпрометирован и вам нужно быстро переключиться, то это не вариант, поэтому, возможно, HPKP (предположительно хороший для безопасности) поощряет плохие методы безопасности.
Включите промежуточный / корневой сертификат в свою политику HPKP. Надеюсь, что ваш центр сертификации никогда, никогда не изменит промежуточные или корни, не прекратит работу, или что вы захотите сменить центр сертификации. Если что-то из этого произойдет, то вы в восторге.
Забудьте об этом и заблокируйте свой сайт для большей части пользователей на время его существования, когда вам потребуется перевыпустить сертификат. Безопасность для этого варианта хороша, но полезность значительно ниже.
Мои комментарии - вот некоторые из многих причин, почему HPKP удаляется из браузеров - это было непрактичной идеей, это было излишним для большинства сайтов, если посмотреть на дополнительную безопасность, которую он принес, по сравнению с дополнительными рисками (как Я писал здесь в блоге).