LetsEncrypt sertifikasını her 30 günde bir yenilemek için bir cronjob kurduğumda Public-Key-Pins kurabilir miyim?
Sertifika yenilenirse, Genel Anahtar Pin de yenilenir mi?
LetsEncrypt sertifikasını her 30 günde bir yenilemek için bir cronjob kurduğumda Public-Key-Pins kurabilir miyim?
Sertifika yenilenirse, Genel Anahtar Pin de yenilenir mi?
Dikkat edilmesi gereken bazı kelimeler:
LetsEncrypt ile Genel Anahtar Pin kullanabilir miyim?
Sertifika yenilenirse, Genel Anahtar Pin de yenilenir mi?
Gf_'nin söylediği her şeyi yankıtabilirim.
Ancak, soruyu cevaplamak için evet yapabilirsin.
Varsayılan olarak Let's Encrypt, anahtarı ve yenilemeyi yenilemede yeniden oluşturur. Bu, muhtemelen ara değişikliklerde yapmanız gereken yaprağa sabitlemek istediğinizde HPKP'yi zorlaştırır.Mart 2016'da olduğu gibi).
Bu yüzden hala HPKP yapmak istiyorsanız, bunun için birkaç seçeneğiniz var:
Düzenleme: Özel anahtarlar hakkında konuştuğumda, açıkçası her zaman genel anahtar parçalarını yalnızca iğnelere çevirdiğiniz anlamına gelir. Özel anahtarlar, adından da anlaşılacağı gibi, her zaman özel kal. Uygulama detayları için kendi kancama bakın.
Bunu yapmak için özel anahtar aktarımına ihtiyacınız var. Yani, her zaman geçerli özel anahtara sahip olursunuz (buna A) ve gelecek Özel anahtarı (B olarak adlandırın), hem bunları hem de iğnelere ekleyebilirsiniz. Yani bu noktada iğneleriniz A ve B'dir. Sertifika yenileme günü geldiğinde, özel A anahtarı eski haline gelir ve B yaşanır. Aynı zamanda, yeni bir gelecekteki özel anahtara sahip olursunuz, C olarak adlandırın. Pin listenizi, şimdi B ve C'yi içerecek şekilde yeniden düzenleyin. Böylece, özel anahtarlarınızı bu şekilde yuvarlarsınız. susuz şimdi bunu destekler.
Ayrıca, sertifikalarınızı her yenilediğinizde denen ve böylece özel anahtarlarınız üzerinde yuvarlanan bir kancaya ihtiyacınız vardır. Bunu hayata geçirdim Kendi başıma.
Son olarak, eğer bunu doğru yaparsam, emin olmalısın:
HPKP age x 2 < days between cert renewals
Örneğin, HPKP yaşınız 50 gündür ve her 30 günde bir yenilenirse, bir gün önce sitenizi ziyaret eden bir müşteri özel anahtar A ve B ile sıkışır ve 31. günde B ve C'ye aktarılır. Sunucu B ve C'ye sahiptir, istemcinin A ve B, 50. gününde bile bir eşleşme vardır ve istemci siteyi doğru bir şekilde açar.
AMA, HPKP yaşının 70 gün olup olmadığını görelim. Her 30 günde bir yenilemeleri yeniliyorsunuz ve müşteri birinci günde sitenizi ziyaret ediyordu, bu yüzden tekrar yalnızca A ve B anahtarları var. 31. günde B ve C'ye yuvarlandınız ve 61. günde C ve D'ye yuvarlandınız Sunucunuz C ve D, istemcinin A ve B, eşleşme yok ve istemcinin 61. gününden 71. gününe kadar HPKP politikasının süresi dolduğunda orta parmağınız var.
Bir başka, muhtemelen daha güvenli ve kesinlikle daha basit bir seçenek, aynı özel anahtarı her seferinde kullanmak ve bir veya birkaç yedek özel anahtar oluşturmak, daha sonra bunları HPKP yapılandırmanıza kodlamak ve bununla birlikte yapmaktır.
Evet, zor ve düşündüğüm uyarılar olabilir, ama uzun vadede göreceğiz. Açıkçası, kısa (15 günlük) HPKP yaşına sahip kritik olmayan bir alt alana yerleştirdim, böylece büyük sorunlara neden olmaz.
Düzenleme: Let's Encrypt ile HPKP'yi kurmanıza ve Nginx'i kullanarak susuz kalmanıza yardımcı olacak birkaç betik yazdım: