Czy CSR muszą być generowane na serwerze, który będzie hostował certyfikat SSL?

54

Czy konieczne jest wygenerowanie CSR (Żądanie podpisania certyfikatu) na tym samym komputerze, który będzie hostował moją aplikację internetową i certyfikat SSL?

Ta strona w SSL Shopper tak mówi, ale nie jestem pewien, czy to prawda, ponieważ oznaczałoby to, że musiałbym kupić osobny certyfikat SSL dla każdego serwera w moim klastrze.

Co to jest CSR? Żądanie CSR lub podpisania certyfikatu to blok zaszyfrowanego tekstu generowanego na serwerze, na którym będzie używany certyfikat.

Mike M. Lin
źródło
1
Mylisz różne znaczenia słowa „serwer”. Kiedy mówisz „każdy serwer w moim klastrze”, przez „serwer” rozumiesz fizyczną skrzynkę. Kiedy mówią „na serwerze , na którym będzie używany certyfikat”, mają na myśli rzecz, która zapewnia usługę, niezależnie od tego, czy jest to fizyczna skrzynka, czy nie. (Gdy generujesz raport CSR, zanim wyślesz go do urzędu certyfikacji, upewnij się w 100%, że dokładnie wiesz, gdzie znajduje się odpowiedni klucz prywatny. Bez niego certyfikat będzie bezużyteczny.)
David Schwartz

Odpowiedzi:

61

Nie. Nie jest konieczne generowanie CSR na komputerze, na którym chcesz hostować wynikowy certyfikat. CSR nie muszą być generowane albo za pomocą istniejącego klucza prywatnego, że certyfikat zostanie ostatecznie sparowany z lub jego dopasowanie klucz prywatny jest generowany jako część procesu tworzenia CSR.

Ważne jest nie tyle host źródłowy, ile klucz prywatny i wynikowy klucz publiczny to pasująca para.


źródło
8
I że klucz prywatny pozostaje prywatny . Nie kopiuj go wszędzie, a następnie wyślij e-mailem do swojego partnera i poproś go o wygenerowanie CSR dla Ciebie.
Ladadadada,
4
Czynnikiem ograniczającym użycie klucza + certyfikatu do użycia na konkretnym komputerze jest DNS (nazwa hosta musi być zgodna z polem cn lub SubjectAltName ), a także unikalność. Nie tylko używanie tego samego klucza prywatnego z wieloma serwerami tworzy wyższy profil ryzyka, ale oprogramowanie czasami oszaleje, wykrywając wiele hostów używających tego samego numeru seryjnego. (nie bez powodu)
Andrew B
(również zgadzam się z odpowiedzią, powinienem sformułować to jako „nazwa hosta postrzegana przez klienta”)
Andrew B
26

Kce ma rację, absolutnie nie trzeba tego robić na tym samym komputerze, ale trzeba to zrobić z odpowiedniego klucza prywatnego.

Jedynym powodem, dla którego wysyłam drugą odpowiedź, jest to, że nikt nie powiedział, dlaczego możesz chcieć zrobić coś takiego. Prawie każdy zestaw klucza / CSR, który generuję, jest wykonywany z mojego laptopa lub komputera stacjonarnego, następnie klucz jest bezpiecznie kopiowany na serwer, na którym certyfikat zostanie zainstalowany, a CSR jest wysyłany do agencji podpisującej. Powodem jest entropia: certyfikaty SSL są zwykle używane do zabezpieczania serwerów, a serwery często mają bardzo płytkie pule entropii, co albo osłabia tworzone przez siebie pary kluczy, albo powoduje, że tworzenie zajmuje dużo czasu. Z drugiej strony komputery stacjonarne mają użyteczne źródło losowości połączone kablami klawiatury / myszy, a zatem mają głębokie pule entropii. Tworzą zatem znacznie lepsze platformy dla operacji wymagających wysokiej jakości liczb losowych, z których jednym jest generowanie pary kluczy.

Tak więc klucz / CSR można nie tylko generować poza serwerem, ale uważam, że często jest to dobry powód.

Szalony Kapelusznik
źródło
2
Uważam, że ryzyko ludzkie jest większe niż ryzyko entropii. Komputery stacjonarne mają również mnóstwo własnych zagrożeń w zależności od systemu operacyjnego i zasad zarządzania aktywami, bez względu na praktyki zaangażowanych administratorów. (czy sektory dysków twardych są niszczone przed usunięciem, jeśli jest to niezaszyfrowany klucz prywatny? Czy użytkownik ćwiczy ryzyko ujawnienia klucza?) PKI jest jedną z tych rzeczy, których nie ufam wielu osobom od końca do końca , nie wskaż elementu błędu ludzkiego, więc kwestionuję stwierdzenie, że „często jest to dobry powód”. W przeciwnym razie ciekawy punkt.
Andrew B,
Są to wszystkie uzasadnione pytania, zwłaszcza jeśli zostaną przekształcone w listę najlepszych praktyk w zakresie generowania kluczy kluczowych. Dla tych, którzy chcą potraktować to naprawdę poważnie, na serwerze serverfault.com/questions/307896 / ... znajdują się doskonałe sugestie - pytanie dotyczy generowania i obsługi urzędów certyfikacji, ale wiele z tych pomysłów można również zastosować do najlepszych praktyk w zakresie kluczy kluczowych Pokolenie.
MadHatter
To jest sprawiedliwe, dziękuję. Po prostu czułem, że potrzebna jest jakaś klauzula o wyłączeniu odpowiedzialności, ponieważ jest to niebezpieczne dla administratorów rang i plików, którzy nie rozumieją ryzyka związanego z interpretowaniem tego jako oświadczenia o najlepszych praktykach. Jeśli klucz może zostać skradziony, gra się kończy.
Andrew B,