Jak stworzyć certyfikaty bezpieczeństwa

Jak stworzyć certyfikaty bezpieczeństwa

Ten artykuł wyjaśnia jak wytworzyć certyfikaty bezpieczeństwa wymagane przez GravityZone.

Wprowadzenie

Przeglądarki potrzebują certyfikatu Control Center Security, aby rozpoznać stronę Control Center jako zaufaną. Oprócz Control Center Security, wszystkie inne certyfikaty są potrzebne wyłącznie do zarządzania urządzeniami Apple iOS.

– Certyfikat Serwera Komunikacji
– Certyfikat Apple MDM Push
– Certyfikat iOS MDM Identity and Profile Signing
– Certyfikat iOS MDM Trust Chain

iOS zawiera wbudowane wsparcie dla rozwiązań Mobile Device Management (MDM). Firma Apple Inc. ma bardzo surowe wymagania dotyczące działania interfejsu MDM. Bezpieczeństwo oznacza uwierzytelnienie zarówno serwera, jak i klienta w momencie wydawania poleceń MDM na urządzenie; dlatego serwer MDM działa jako serwer HTTPS i urządzenie musi ufać certyfikatowi, który przedstawia serwer.

Certyfikat Root

Certyfikaty cyfrowe są weryfikowane przy użyciu łańcucha zaufania. Certyfikat główny (zwany dalej Rootem) to najwyższy certyfikat drzewa, którego klucz prywatny służy do „podpisywania” innych certyfikatów. Wszystkie certyfikaty znajdujące się bezpośrednio poniżej certyfikatu Root dziedziczą wiarygodność certyfikatu Root.

Istnieje kilka różnych podejść, aby urządzenia zaufały certyfikatowi SSL przedstawionemu przez serwer MDM. Zaprezentujemy trzy z nich, ale tylko dwa mają sens jako realistyczny i praktyczny scenariusz wdrożenia.

1. Uzyskaj certyfikat SSL ze źródła, któremu urządzenie już ufa.
Na przykład uzyskaj certyfikat dla określonego adresu IP lub nazwy hosta urządzenia od urzędu certyfikacji, takiego jak Verisign, Thawte lub inny główny dostawca. Urządzenie zaufa temu certyfikatowi i można ustanowić relację zarządzania.
To rozwiązanie nie jest praktyczne w przypadku większości wdrożeń Enterprise.

2. Firma ma samopodpisany certyfikat główny.
Certyfikat musi zostać zaimportowany przed rejestracją.
Na szczęście Apple przewidziało tę potrzebę i umożliwiło włączenie certyfikatów i konfiguracji MDM do tego samego ładunku. Rejestracja odbywa się w dwóch etapach:
a) Certyfikaty z ładunku zostaną zaimportowane, a Root będzie zaufany;
b) Nawiązane zostanie połączenie z serwerem MDM i urządzenie będzie zarządzane.

3. Firma posiada certyfikat pośredni uzyskany od głównej strony trzeciej.
Certyfikat jest wydawany przez pośredni urząd certyfikacji. U
żywa on łańcucha zaufania, który rozpoczyna się od Root (już zaufanego przez urządzenie).
Pośrednik musi być uwzględniony w profilu.

Certyfikaty dla produktu Bitdefender MDM

Oto krótki opis certyfikatów dla MDM:

1. Certyfikaty Serwera Komunikacji służą do zabezpieczania komunikacji między serwerem komunikacyjnym, a urządzeniami mobilnymi z systemem iOS.

Wymagania:

– Certyfikaty SSL mogą być podpisane zarówno przez Twoją firmę lub przez zewnętrzny Urząd Certyfikacji.
– Nazwa ogólna certyfikatu musi być dokładnie zgodna z nazwą domeny lub adresem IP używanym przez klientów mobilnych do łączenia się z Serwerem Komunikacji. Jest to skonfigurowane jako zewnętrzny adres MDM w interfejsie konfiguracyjnym konsoli urządzenia GravityZone.
– Klienci mobilni muszą ufać temu certyfikatowi. W tym celu należy również dodać
iOS MDM Trust Chain.

2. Certyfikaty Apple MDM Push są wymagany przez Apple, aby wymusić bezpieczną komunikację pomiędzy Serwerem Komunikacji, a serwerami Apple Push Notifications service (APNs) podczas przesyłania powiadomień Push. Powiadomienia Push są używane do monitowania urządzeń o połączenie z serwerem komunikacyjnym, gdy dostępne są nowe zadania lub zmiany zasad.
Apple wystawia ten certyfikat bezpośrednio Twojej firmie, ale wymaga podpisania Twojego żądania podpisania przez Bitdefender. Control Center dostarcza kreator, aby pomóc Tobie otrzymać certyfikat Apple MDM Push.

3. Certyfikaty iOS MDM Identity and Profile Signing są używany przez Serwer Komunikacji do podpisywania certyfikatów tożsamości i profili konfiguracji wysyłanych do urządzeń mobilnych.

Wymagania:
– Musi to być certyfikat pośredni lub końcowy, podpisany przez Twoją firmę lub zewnętrzny urząd certyfikacji.
– Klienci mobilni muszą ufać temu certyfikatowi. W tym celu należy również dodać
iOS MDM Trust Chain.

4. Certyfikaty iOS MDM Trust Chain są wymagane na urządzeniach mobilnych, aby zapewnić zaufanie dla certyfikatu Serwera Komunikacjii certyfikatu iOS MDM Identity and Profile Signing. Serwer Komunikacji wysyła te certyfikaty na urządzenia mobilne w czasie aktywacji.
iOS MDM Trust Chain musi zawierać wszystkie pośrednie certyfikaty od certyfikatu Root Twojej firmy lub do certyfikatu pośredniego wydanego przez zewnętrzny urząd certyfikacji. Łańcuch zaufania jest konkatenacją certyfikatów w formacie PEM i nie ma klucza prywatnego.

Procedura krok po kroku

To proste podejście, odpowiednie do celów testowych lub wdrożenia, które nie jest zintegrowane z żadną istniejącą infrastrukturą klucza publicznego (PKI), można wykonać w następujący sposób: 1. Wygeneruj certyfikat Root. 2. Wygeneruj certyfikat Podpisania. 3. Wygeneruj certyfikat SSL. 4. Wygeneruj łańcuch zaufania zawierający certyfikaty od kroku 1 do 2. 5. Prześlij je do konsoli GravityZone. A. Na komputerze z systemem operacyjnym Linux z zainstalowanym OpenSSL, w tym samym folderze utwórz skrypty bash jako użytkownik root: 1. Otwórz nowy plik o nazwie wymienionej w edytorze tekstu i utwórz plik skryptu z poniższej listy. przykład: #vim createroot.sh 2. Wpisz :i, aby zmienić z trybu widoku na tryb edycji. 3. Skopiuj wymienione polecenia dla każdego pliku do edytora. 4. Zapisz plik. Przykład: Wpisz sekwencję klawiszy :wq Nazwy skryptów i zawartości (muszą być uruchomione jako użytkownik root): a. createroot.sh #!/bin/bash openssl req -newkey rsa:2048 -days 800 -x509 -keyout rootkey.pem -out root.cer -sha256 -subj "/C=XX/0=XX/CN=XX/" Ważne: Zastąp Kraj C=XX, Organizację O=XX i Nazwę Ogólną CN=XX na pasujące Tobie. Przykład: "/C=PL/O=Bitdefender/CN=MDM Root/"
b. createssl.sh #!/bin/bash openssl req -new -newkey rsa:2048 -keyout sslkey.pem -out ssl.csr -sha256 -subj "/CN=$1/” -batch openssl x509 -req -days 365 -sha256 -in ssl.csr -CA root.cer -Cakey rootkey.pem -Cacreateserial -Caserial root.serial -out ssl.cer -extfile <(printf “extendedKeyUsage = serverAuth \n subjectAltName=IP:$1”) Ważne: Dla subjectAltName również użyć DNS lub FQHN zamiast IP. Przykład: subjectAltName=DNS:$1

c. createcom.sh

#!/bin/bash

openssl req -new -newkey rsa:2048 -keyout comkey.pem -out com.csr -subj ”CN=$1” -batch

openssl x509 -req -days 365 -in com.csr -CA root.cer -CAkey rootkey.pem -CAcreateserial -CAserial root.serial -sha256 -out com.cer

d. createsvacom.sh

#!/bin/bash

openssl req -new -newkey rsa:2048 -keyout svacomkey.pem –out svacom.csr subj ”/CN$1/” –batch

openssl x509 -req -days 365 -in svacom.csr -CA root.cer -CAkey rootkey.pem -CAcreateserial -CAserial root.serial -sha256 -out svacom.cer

e. createsgn.sh

#!/bin/bash

openssl req -out sgn.csr -new -newkey rsa:2048 -keyout sgnkey.pem -subj ”/C=XX/O=XX/CN=XX/” -batch

openssl x509 -req -days 365 -in sgn.csr -CA root.cer -CAkey rootkey.pem -CAcreateserial -CAserial root.serial -sha256 -out sgn.cer -extfile noCA.cnf -extfile <(printf extendedKeyUsage = serverAuth \n subjestAltName=IP:$1”)

rm sgn.csr

Ważne:
Dla subjectAltName również użyć DNS lub FQHN zamiast IP.
Przykład: subjectAltName=DNS:$1
Zastąp Kraj C=XX, Organizację O=XX i Nazwę Ogólną CN=XX na pasujące Tobie.
Przykład: ”/C=PL/O=Bitdefender/CN=MDM Root/”

f. createchain.sh

#!/bin/bash

cat root.cer sgn.cer >chain.pem

g. noCA.cnf

basicConstraints=CA:false

B. Wygeneruj certyfikaty z wykorzystaniem poprzednio utworzonych skryptów.
W bash shell uruchom skrypty jako użytkownik root następująco:

1. Certyfikat Root
#chmod +x createroot.sh
#./create
root.sh

Zapamiętaj hasło chroniące klucz prywatny.
Pliki wynikowe: root.cer, rootkey.pem.

2. Certyfikat Control Center Security

#chmod +x createssl.sh
#./createssl.sh IP|FQHN

Podaj adres IP lub w pełni kwalifikowaną nazwę hosta w zależności od konfiguracji serwera.
Jak zawsze pamiętaj hasło.
Pliki wynikowe: certyfikat SSL – ssl.cer, klucz prywatny – sslkey.pem

3. Certyfikat Serwera Komunikacji

#chmod +x createcom.sh
#./createcom.sh IP|FQHN

Podaj adres IP lub w pełni kwalifikowaną nazwę hosta w zależności od konfiguracji serwera.
Jak zawsze pamiętaj hasło.
Pliki wynikowe: com.cer, comkey.pem

4. Punkt końcowy – Certyfikat Serwera Bezpieczeństwa

#chmod +x createsvacom.sh
#./createsvacom.sh IP|FQHN

Podaj adres IP lub w pełni kwalifikowaną nazwę hosta w zależności od konfiguracji serwera.
Jak zawsze pamiętaj hasło.
Pliki wynikowe: svacom.cer, svacomkey.pem.

5. Certyfikat Apple MDM Push

Apple wystawia ten certyfikat bezpośrednio Twojej firmie, ale wymaga podpisania Twojego żądania podpisania przez Bitdefender. Centrum sterowania zapewnia kreatora, który pomoże ci łatwo uzyskać certyfikat Apple MDM Push.

Ważne:
Aby uzyskać certyfikat, będziesz potrzebować Apple ID.
Jeśli nie masz Apple ID, możesz stworzyć jeden tutaj. Przed przystąpieniem do uzyskiwania certyfikatu Apple MDM Push sprawdź poprawność swojego identyfikatora Apple ID i ustaw pytanie bezpieczeństwa.

6. Certyfikat iOS MDM Identity and Profile Signing

#chmod +x createsgn.sh
#./createsgn.sh IP|FQHN

Podaj hasło do katalogu głównego i pamiętaj hasło chroniące klucz prywatny tego certyfikatu.
Pliki wynikowe: sgn.cer, sgnkey.pem.

7. Certyfikat iOS MDM Trust Chain

#chmod +x createchain.sh
#./createchain.sh

Pliki wynikowe: chain.pem. Utworzony jest również plik nazwany root.serial, po prostu zignoruj go.

C. Prześlij odpowiednie pliki do Control Center.
Procedura przesyłania jest wyjaśniona w podrozdziale Certyfikaty w Podręczniku instalatora GravityZone.

Źródło: https://www.bitdefender.com/support/creating-security-certificates-1217.html