Po co przechowywać certyfikat Apache SSL i klucz prywatny w osobnych plikach?

11

Dokumentacja Apache mod_ssl dla dyrektyw SSLCertificateFile i SSLCertificateKeyFile stwierdza, że ​​„zdecydowanie odradza się” przechowywanie klucza prywatnego i certyfikatu SSL w tym samym pliku.

Oczywiście plik klucza prywatnego należy oczywiście zabezpieczyć, ale przy takim założeniu, czy istnieje jakieś szczególne ryzyko związane z przechowywaniem certyfikatu w tym samym pliku? Jestem ciekawy, dlaczego takie zachowanie jest obsługiwane, a jednak zdecydowanie zniechęcone bez wyjaśnienia.

Vortura
źródło

Odpowiedzi:

15

Plik certyfikatu SSL jest blokadą.
Plik klucza certyfikatu SSL jest jego kluczem.

Przechowywanie ich razem jest równoznaczne z przypięciem klucza do zamka w drzwiach wejściowych.
Jeśli osoba atakująca naruszy jeden plik, ma wszystko, czego potrzeba, aby skutecznie podszyć się pod Twoją witrynę (certyfikat i klucz prywatny).

Jest to szczególnie ważne, jeśli nie masz hasła do klucza SSL (wiele serwerów internetowych nie, aby umożliwić im automatyczne uruchamianie w przypadku awarii).


To, przed czym się bronisz, oddzielając pliki, to błąd Apache, który powoduje, że zrzuca zawartość SSLCertificateFile(coś, co powinno być publicznie dostępne) do klienta WWW.
(O ile mi wiadomo, taki błąd nie istnieje, ani nigdy nie istniał, ale Apache jest dużym, złożonym oprogramowaniem. Jest to całkowicie możliwe).

Jeśli Apache zrzuci ten plik, a wszystko, co zawiera, to certyfikat SSL (blokada), nie ma problemu: każdy dostaje kopię tego certyfikatu, gdy i tak wysyła żądanie serwera do serwera.
Jeśli plik zawiera również klucz, oznacza to, że masz szansę na bezpieczeństwo - cały model szyfrowania jest zagrożony i musisz zmienić klucze.

voretaq7
źródło
Dzięki, teoretyczny błąd, który powoduje, że serwer WWW podaje klucz prywatny wraz z publicznym certyfikatem, był moim najlepszym przypuszczeniem. Nie do końca zgadzam się z tym, że umieszczenie klucza i certyfikatu w tym samym pliku jest równoznaczne z przyklejeniem klucza do drzwi wejściowych, ale nie mogę też wymyślić dobrego powodu, aby to zrobić.
Vortura
1
Prawdopodobnie nie jest tak źle, jak przyklejenie klucza do drzwi - może bliżej przyklejenia klucza na
framudze
7

Stare wersje OpenSSL wymagały dwóch osobnych plików (publicznego i prywatnego). Stare wersje innych mechanizmów kryptograficznych wymagały pojedynczego pliku (oba w tym samym pliku). W „duchu” kompatybilności (czyli „narzekania administratora na niespójność i konieczności utrzymywania dwóch zestawów certyfikatów), większość obsługuje teraz oba.

Przechowywanie obu certyfikatów (także łańcucha kluczy) w jednym pliku jest odradzane, ponieważ różne certyfikaty mają różne zakresy. Jest to bardziej kwestia spójności niż techniczna, w której certyfikat publiczny powinien mieć uprawnienia do plików, które można odczytać publicznie, i na odwrót w przypadku prywatnego. Trzymanie twojego publicznego certyfikatu pod kluczem i kluczem w systemie nie jest niebezpieczne, jest to po prostu niespójne z jego celem.

Chris S.
źródło