Udostępnij za pośrednictwem


Konfiguracja protokołu SSL

Włączanie protokołu SSL

Protokół SSL można włączyć, edytując plik cycle_server.properties znajdujący się w katalogu instalacyjnym CycleCloud. Otwórz plik cycle_server.properties za pomocą edytora tekstów i odpowiednio ustaw następujące wartości:

# True if SSL is enabled
webServerEnableHttps=true
webServerRedirectHttp=true

Ważne

Należy pamiętać, że podczas edytowania pliku cycle_server.properties należy najpierw wyszukać istniejące definicje keyvalue w pliku. Jeśli istnieje więcej niż jedna definicja, ostatnia ma zastosowanie.

Domyślny port SSL dla usługi CycleCloud to port 8443. Jeśli chcesz uruchomić zaszyfrowaną komunikację internetową na innym porcie, możesz zmienić właściwość webServerSslPort na nową wartość portu. Upewnij się, że wartości webServerSslPort i webServerPortNIE SĄ SPRZECZNE.

Po edytowaniu pliku cycle_server.properties, należy ponownie uruchomić CycleCloud, aby aktywować zaszyfrowany kanał komunikacyjny.

/opt/cycle_server/cycle_server restart

Zakładając, że nie zmieniono portu SSL dla aplikacji CycleCloud podczas konfigurowania go na potrzeby zaszyfrowanej komunikacji, możesz teraz przejść do http://<my CycleCloud address>:8443/, aby zweryfikować połączenie SSL.

Uwaga

Jeśli adres URL HTTPS nie działa, sprawdź <CycleCloud Home>/logs/catalina.err i <CycleCloud Home>/logs/cycle_server.log pod kątem komunikatów o błędach, które mogą wskazywać, dlaczego zaszyfrowany kanał nie odpowiada.

certyfikaty Self-Generated

Jeśli nie masz certyfikatu z urzędu certyfikacji, takiego jak VeriSign, możesz użyć automatycznie wygenerowanego certyfikatu z podpisem własnym dostarczonego z usługą Azure CycleCloud. Jest to szybki sposób na rozpoczęcie korzystania z protokołu SSL bez ponoszenia kosztów, ale większość przeglądarek internetowych wyświetli ostrzeżenie informujące, że zaufany urząd nie zweryfikował certyfikatu używanego do szyfrowania kanału. W niektórych przypadkach, takich jak wewnętrzne wdrożenia usługi CycleCloud w bezpiecznych sieciach, jest to akceptowalne. Użytkownicy będą musieli dodać wyjątek do przeglądarki, aby wyświetlić witrynę, ale zawartość i sesja będą w przeciwnym razie szyfrowane zgodnie z oczekiwaniami.

Ostrzeżenie

Certyfikat z podpisem własnym usługi Azure CycleCloud ma skrócony okres ważności. Po wygaśnięciu przeglądarki będą ponownie wyświetlać ostrzeżenie dotyczące niezaufanych certyfikatów SSL. Użytkownicy będą musieli jawnie zaakceptować je, aby wyświetlić konsolę sieci Web.

Praca z funkcją Let's Encrypt

Usługa CycleCloud obsługuje certyfikaty z Let's Encrypt. Aby użyć funkcji Let's Encrypt with CycleCloud, musisz:

  • włączanie protokołu SSL na porcie 443
  • upewnij się, że usługa CycleCloud jest publicznie osiągalna za pośrednictwem portu 443 z nazwą domeny zewnętrznej

Możesz włączyć obsługę let's Encrypt z opcją "SSL" na stronie ustawień lub uruchamiając cycle_server keystore automatic DOMAIN_NAME z maszyny CycleCloud.

Praca z certyfikatami CA-Generated

Użycie certyfikatu wygenerowanego przez urząd certyfikacji umożliwi dostęp do instalacji CycleCloud przez przeglądarkę internetową bez wyświetlania błędu certyfikatu zaufania. Aby rozpocząć proces, najpierw uruchom:

./cycle_server keystore create_request <FQDN>

Zostaniesz poproszony o podanie nazwy domeny, która jest polem "Nazwa wspólna" w podpisanym certyfikacie. Spowoduje to wygenerowanie nowego certyfikatu z podpisem własnym dla określonej domeny i zapisanie pliku cycle_server.csr. Należy dostarczyć CSR urzędowi certyfikacji, a oni zapewnią końcowy podpisany certyfikat (który będzie określany jako server.crt poniżej). Potrzebne będą również certyfikaty główne i wszystkie pośrednie używane w łańcuchu między nowym certyfikatem a certyfikatem głównym. Urząd certyfikacji powinien zapewnić ci te informacje. Jeśli zostały one dostarczone jako jeden plik certyfikatu, możesz ich zaimportować za pomocą następującego polecenia:

./cycle_server keystore import server.crt

Jeśli podano wiele plików certyfikatów, należy zaimportować je wszystkie jednocześnie dołączając nazwy do tego samego polecenia, oddzielone spacjami:

./cycle_server keystore import server.crt ca_cert_chain.crt

Importowanie istniejących certyfikatów

Jeśli wcześniej utworzono certyfikat urzędu certyfikacji lub certyfikat z podpisem własnym, możesz zaktualizować aplikację CycleCloud, aby użyć go za pomocą następującego polecenia:

./cycle_server keystore update server.crt

Jeśli chcesz zaimportować plik PFX, możesz to zrobić za pomocą następującego polecenia w aplikacji CycleCloud 7.9.7 lub nowszej:

./cycle_server keystore import_pfx server.pfx --pass PASSWORD

Zwróć uwagę, że plik PFX może zawierać tylko jeden wpis. Ponadto argument -pass jest wymagany, nawet jeśli nie ma hasła (użyj --pass '' w tym przypadku).

W końcu, jeśli wprowadzisz zmiany w magazynie kluczy poza tymi poleceniami, możesz natychmiast przeładować magazyn kluczy w CycleCloud 7.9.7 lub nowszym.

./cycle_server keystore reconfig

Szczegóły implementacji "keystore" (magazynu kluczy)

Certyfikaty usługi CycleCloud są przechowywane w /opt/cycle_server/config/private/keystore, oprócz innych certyfikatów wymaganych do wykonania operacji. Poniżej znajduje się niewyczerpująca lista elementów przechowywanych w magazynie kluczy:

Pseudonim Przeznaczenie
tożsamość Przechowuje łańcuch certyfikatów dla interfejsu internetowego dostępnego dla użytkownika (port 443 lub 8443)
tożsamość klastra Przechowuje łańcuch certyfikatów dla węzłów w celu nawiązania połączenia z usługą CycleCloud (port 9443)
korzeń Przechowuje certyfikat używany do podpisywania wszystkich certyfikatów lokalnych, w tym tożsamości klastra

Magazyn kluczy można sprawdzić za pomocą pliku keystore Java. Na przykład następujące polecenie wyświetli listę wszystkich elementów w magazynie kluczy:

keytool -list -keystore /opt/cycle_server/config/private/keystore -storepass changeit

Powyższe polecenia cycle_server aktualizują alias identity. Aktualizowanie innych wpisów, w tym certyfikatów cluster-identity lub root, nie jest obsługiwane.

Magazyn kluczy można modyfikować bezpośrednio, ale nie jest to zalecane. Ogólnie rzecz biorąc, zmiany będą wymagać ponownego uruchomienia serwera CycleServer, aby zaczęły obowiązywać.

Ostrzeżenie

Zmiana zawartości magazynu kluczy może spowodować niepowodzenie działania klastrów. Przed zmodyfikowaniem zawsze utwórz kopię zapasową.

Hasło magazynu kluczy jest changeit i nie można go zmienić w tej chwili. Jednak plik jest czytelny i zapisywalny tylko przez użytkownika cycle_server.

Zgodność z poprzednimi wersjami dla protokołów TLS 1.0 i 1.1

Domyślnie platforma CycleServer zostanie skonfigurowana do używania tylko protokołu TLS 1.2. Jeśli potrzebujesz zaoferować protokoły TLS 1.0 lub 1.1 dla starszych klientów internetowych, możesz wyrazić zgodę na zgodność z poprzednimi wersjami.

Otwórz cycle_server.properties za pomocą edytora tekstów i wyszukaj atrybut sslEnabledProtocols:

sslEnabledProtocols="TLSv1.2"

Zmień atrybut na listę rozdzielonych + protokołów, które mają być obsługiwane.

sslEnabledProtocols="TLSv1.0+TLSv1.1+TLSv1.2"

Wyłączanie niezaszyfrowanej komunikacji

Powyższa konfiguracja umożliwia wykonywanie niezaszyfrowanych połączeń (HTTP), ale są przekierowywane do protokołu HTTPS w celu zapewnienia bezpieczeństwa. Możesz uniemożliwić niezaszyfrowany dostęp do instalacji aplikacji CycleCloud. Aby wyłączyć niezaszyfrowaną komunikację, otwórz plik cycle_server.properties w edytorze tekstów. Wyszukaj właściwość webServerEnableHttp i zmień ją na:

# HTTP
webServerEnableHttp=false

Zapisz zmiany i uruchom ponownie aplikację CycleCloud. Dostęp HTTP do aplikacji CycleCloud zostanie wyłączony.