Как обновить просроченный сертификат 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

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

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

0
задан 26 April 2018 в 20:01
1 ответ

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

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

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

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

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

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

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

1
ответ дан 4 December 2019 в 15:58

Теги

Похожие вопросы