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.
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.
źródło