Назад | Перейти на главную страницу

Как обновить ssl-сертификат с истекшим сроком действия на сервере с привязкой ключей (hpkp)

На сервере с веб-сервером 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

Поэтому я хочу спросить - есть ли способ обновить сертификат на сервере с привязкой ключей без простоев для пользователей?

Удаление пользовательских данных в браузере недопустимо.

У вас есть несколько вариантов:

  1. Повторно выпустите новый сертификат с тем же ключом. Лучше всего начать с нового ключа, а не использовать его повторно, поэтому, возможно, HPKP (предположительно хороший для безопасности) поощряет плохие методы безопасности.

  2. Есть резервный ключ / csr / certificate. Лучшая практика будет генерироваться по мере необходимости, поэтому нет шанса утечки ключа, поскольку в противном случае его необходимо безопасно хранить, поэтому, возможно, HPKP (предположительно хороший для безопасности) поощряет плохие методы безопасности. Фактически, HPKP распознается браузером только в том случае, если вы включаете булавку для другого ключа в качестве функции безопасности, которая поддерживает эту опцию.

  3. Заранее сгенерируйте csr или сертификат * l (по крайней мере, max-age) и обновите заголовок HPKP, чтобы включить новые выводы сертификата для максимального времени, затем переключите сертификаты и, наконец, удалите старый сертификат из заголовка HPKP. Конечно, если ключ скомпрометирован и вам нужно быстро переключиться, то это не вариант, поэтому, возможно, HPKP (предположительно хороший для безопасности) поощряет плохие методы безопасности.

  4. Включите промежуточный / корневой сертификат в свою политику HPKP. Надеюсь, что ваш центр сертификации никогда, никогда не изменит промежуточные или корни, не прекратит работу, или что вы захотите сменить центр сертификации. Если что-то из этого произойдет, то вы в восторге.

  5. Забудьте об этом и заблокируйте свой сайт для большей части пользователей на время его существования, когда вам потребуется перевыпустить сертификат. Безопасность для этого варианта хороша, но полезность значительно ниже.

Мои комментарии - вот некоторые из многих причин, почему HPKP удаляется из браузеров - это было непрактичной идеей, это было излишним для большинства сайтов, если посмотреть на дополнительную безопасность, которую он принес, по сравнению с дополнительными рисками (как Я писал здесь в блоге).