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. CertyfikatyiOS 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. CertyfikatyiOS 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.sh2. 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 :wqNazwy skryptów i zawartości (muszą być uruchomione jako użytkownik root):a. createroot.sh
#!/bin/bashopenssl 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/bashopenssl req -new -newkey rsa:2048 -keyout sslkey.pem -out ssl.csr -sha256 -subj "/CN=$1/” -batchopenssl 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
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:
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
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.
Pochodzę z Gdyni i jestem certyfikowanym inżynierem produktów z rodziny Bitdefender. Na co dzień zajmuję się pomocą techniczną wersji biznesowej GravityZone.