Uwaga: Polecenia zawarte w tym artykule są przeznaczone TYLKO do użytku z klastrem Isilon. Nie jest on przeznaczony do użytku z zewnętrznym serwerem Linux.
Uwaga: Isilon nie odnawia certyfikatu automatycznie. Należy ją odnowić ręcznie, wykonując czynności opisane w tym artykule w klastrze Isilon.
Wprowadzenie
W tym artykule wyjaśniono, jak wymienić lub odnowić certyfikat Secure Sockets Layer (SSL) dla sieciowego interfejsu administracyjnego Isilon. Poniższe procedury obejmują opcje wymiany lub odnowienia certyfikatu z podpisem własnym, lub wniosku o certyfikat SSL z instytucji certyfikującej (CA).
Wymagane narzędzia lub umiejętności
Aby wykonać to zadanie, musisz mieć adres URL umożliwiający dostęp do sieciowego interfejsu administracyjnego Isilon. (W przykładach w tym artykule wykorzystano
https://isilon.example.com:8080/
). Użytkownik powinien również umieć swobodnie korzystać z wiersza poleceń.
Wymagania wstępne
Informacje
referencyjneNa poniższych listach przedstawiono domyślne lokalizacje
server.crt
i
server.key
w OneFS 7.0.x i OneFS 8.0.0.
x. W poniższych procedurach zaktualizuj kroki, aby odpowiadały tym informacjom dla zainstalowanej wersji OneFS.
OneFS 7.0.x i nowsze
/usr/local/apache24/conf/ssl.crt/server.crt
/usr/local/apache24/conf/ssl.key/server.key
OneFS 8.0.1.x i nowsze
- Uzyskaj listę certyfikatów, uruchamiając poniższe polecenie:
isi certificate server list
- Zapisz kopię zapasową oryginalnego certyfikatu i klucza (tylko w przypadku OneFS od 7.0.x do 8.0.0.x).
- Otwórz połączenie SSH w węźle w klastrze i zaloguj się przy użyciu konta „root”.
- Uruchom następujące polecenia, aby utworzyć lokalizację kopii zapasowej i zapisać oryginalny klucz i certyfikat:
mkdir -p /ifs/data/Isilon_Support/original_ssl_backup
cp /usr/local/apache24/conf/ssl.crt/server.crt /ifs/data/Isilon_Support/original_ssl_backup
cp /usr/local/apache24/conf/ssl.key/server.key /ifs/data/Isilon_Support/original_ssl_backup
Procedura
Utwórz lokalny katalog roboczy.
mkdir /ifs/local
cd /ifs/local
Sprawdź, czy chcesz odnowić istniejący certyfikat, czy też chcesz utworzyć certyfikat od podstaw.
- Odnawianie istniejących certyfikatów z podpisem własnym
Spowoduje to utworzenie certyfikatu odnowienia, który jest oparty na istniejącym (magazynie) ssl.key
. Uruchom następujące polecenie, aby utworzyć certyfikat ważny przez dwa lata. Zwiększ lub zmniejsz wartość dla modyfikatora „-days”, aby wygenerować certyfikat z inną datą wygaśnięcia:
cp /usr/local/apache2/conf/ssl.key/server.key ./ ; openssl req -new -days 730 -nodes -x509 -key server.key -out server.crt
Odpowiedz na monity systemowe, wprowadzając odpowiednie informacje dla organizacji, aby ukończyć proces generowania certyfikatu SSL z podpisem własnym.
Na przykład:
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Washington
Locality Name (eg, city) []:Seattle
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Isilon
Organizational Unit Name (eg, section) []:Support
Common Name (e.g. server FQDN or YOUR name) []:isilon.example.com
Email Address []:support@example.com
Po zakończeniu wprowadzania informacji server.csr
i server.key
pliki pojawią się w oknie /ifs/local directory
.
- (Opcjonalnie) Zweryfikuj integralności i atrybuty certyfikatu:
openssl x509 -text -noout -in server.crt
Po wykonaniu tego kroku przejdź do sekcji Dodawanie certyfikatu do klastra w tym artykule.
- Tworzenie certyfikatu i klucza
W tej procedurze pokazano, jak utworzyć nowy klucz prywatny i certyfikat SSL. Uruchom następujące polecenie, aby utworzyć RSA 2048-bit
Klucz prywatny:
openssl genrsa -out server.key 2048
Utwórz żądanie podpisania certyfikatu:
openssl req -new -nodes -key server.key -out server.csr
Podaj odpowiednie informacje dotyczące Twojej organizacji.
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
- (Opcjonalnie) Wygeneruj CSR dla instytucji certyfikującej, która zawiera nazwy podmiotów alternatywnych. Jeśli potrzebny jest dodatkowy serwer DNS, można go dodać za pomocą przecinka (,) Na przykład: DNS:przyklad.com,DNS:www.przyklad.com)
openssl req -new -nodes -key server.key -out server.csr -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:example.com"))
Po wyświetleniu monitu wpisz informacje, które mają być włączone do żądania certyfikatu. Po zakończeniu wprowadzania informacji server.csr
i server.key
pliki pojawią się w oknie /ifs/local directory
.
Sprawdź, czy chcesz podpisać certyfikat samodzielnie, czy też chcesz go podpisać przez urząd certyfikacji (CA).
- Certyfikat SSL z podpisem własnym
Aby samodzielnie podpisać certyfikat kluczem, uruchom poniższe polecenie, które tworzy nowy certyfikat z podpisem własnym ważny przez 2 lata:
openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt
Sprawdź, czy klucz jest zgodny z certyfikatem. Oba polecenia powinny zwrócić tę samą wartość md5:
openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
Po wykonaniu tego kroku przejdź do sekcji Dodawanie certyfikatu do klastra w tym artykule.
- Uzyskiwanie podpisu certyfikatu od instytucji certyfikującej
Jeśli certyfikat jest podpisywany przez urząd certyfikacji, upewnij się, że nowy certyfikat SSL jest w formacie x509 i zawiera cały łańcuch zaufania certyfikatu.
Często zdarza się, że urząd certyfikacji zwraca nowy certyfikat SSL, certyfikat pośredni i certyfikat główny w oddzielnych plikach.
Jeśli urząd certyfikacji to zrobił, MUSISZ ręcznie utworzyć certyfikat w formacie PEM.
Kolejność ma znaczenie podczas tworzenia certyfikatu w formacie PEM. Certyfikat musi znajdować się na górze pliku, następnie certyfikaty pośrednie, a certyfikat główny musi znajdować się na dole.
Oto przykład tego, jak wygląda plik w formacie PEM:
-----BEGIN CERTIFICATE-----
<The contents of your new TLS certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The contents of the intermediate certificate>
<Repeat as necessary for every intermediate certificate provided by your CA>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The contents of the root certificate file>
-----END CERTIFICATE-----
Prostym sposobem utworzenia pliku w formacie PEM z poziomu interfejsu wiersza polecenia jest cat plików (pamiętaj, że kolejność plików ma znaczenie):
cat CA_signed.crt intermediate.crt root.crt > onefs_pem_formatted.crt
Skopiuj plik onefs_pem_formatted.crt
do /ifs/local directory
i zmień jego nazwę na server.crt
.
Uwaga: Jeśli zostanie odebrany plik .cer, zmień jego nazwę na rozszerzenie .crt.
- (Opcjonalnie) Zweryfikuj integralności i atrybuty certyfikatu:
openssl x509 -text -noout -in server.crt
Dodaj certyfikat do klastra:
OneFS od 7.0.x do 8.0.1.x:
- Zainstaluj nowy certyfikat i klucz na każdym węźle:
isi services -a isi_webui disable
chmod 640 server.key
chmod 640 server.crt
isi_for_array -s 'cp /ifs/local/server.key /usr/local/apache2/conf/ssl.key/server.key'
isi_for_array -s 'cp /ifs/local/server.crt /usr/local/apache2/conf/ssl.crt/server.crt'
isi services -a isi_webui enable
- Jeśli certyfikat jest nieaktualny lub nieużywany, usuń go po zakończeniu uaktualniania do wersji 8.0. Postępuj zgodnie ze wskazówkami w kroku 5 w sekcji OneFS 8.0.1.x i nowszych.
W przypadku OneFS 8.0.1.x i nowszych:
- Zaimportuj nowy certyfikat i klucz do systemu:
isi certificate server import /ifs/local/server.crt /ifs/local/server.key
- Sprawdź, czy certyfikat został pomyślnie zaimportowany:
isi certificate server list -v
- Ustaw importowany certyfikat jako domyślny:
- W przypadku OneFS 8.0 i 8.1 polecenie brzmi:
isi certificate server modify --id=<id_of_cert_to_set_as_default> --default
- W przypadku OneFS 8.2 i nowszych polecenie brzmi:
isi certificate settings modify --default-https-certificate=<id_of_cert_to_set_as_default>
- Użyj poniższego polecenia, aby potwierdzić, że importowany certyfikat jest używany jako domyślny, sprawdzając stan „Domyślny certyfikat HTTPS”:
isi certificate settings view
- Jeśli istnieje nieużywany lub nieaktualny certyfikat, usuń go za pomocą polecenia:
isi certificate server delete --id=<id_of_cert_to_delete>
- Wyświetl nowy zaimportowany certyfikat za pomocą polecenia:
isi certificate server view --id=<id_of_cert>
Uwaga: porty 8081 i 8083 nadal używają certyfikatu z katalogu lokalnego dla SSL. Wykonaj poniższe czynności, jeśli chcesz użyć nowych certyfikatów dla portów 8081 i 8083.
isi services -a isi_webui disable
chmod 640 server.key
chmod 640 server.crt
isi_for_array -s 'cp /ifs/local/server.key /usr/local/apache2/conf/ssl.key/server.key'
isi_for_array -s 'cp /ifs/local/server.crt /usr/local/apache2/conf/ssl.crt/server.crt'
isi services -a isi_webui enable
Weryfikacja
Istnieją dwie metody weryfikacji zaktualizowanego certyfikatu SSL.
- W przeglądarce internetowej:
- Przejdź do
https://<common name>:8080
, gdzie <nazwa> pospolita to nazwa hosta używana do uzyskiwania dostępu do sieciowego interfejsu administracyjnego Isilon. Na przykład: isilon.example.com
- Wyświetl szczegóły dotyczące zabezpieczeń strony internetowej. Czynności te różnią się w zależności od przeglądarki. W niektórych przeglądarkach należy kliknąć ikonę kłódki na pasku adresu, aby wyświetlić szczegóły zabezpieczeń strony internetowej.
- W szczegółach zabezpieczeń strony internetowej sprawdź, czy wiersz tematu i inne szczegóły są poprawne. Zostaną wyświetlone dane wyjściowe podobne do poniższych, w których <twojestan>, <twojemiasto> i <twoja firma> to stan, miasto i nazwa organizacji:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com
- Otwórz połączenie SSH w węźle w klastrze i zaloguj się przy użyciu konta „root”.
- Uruchom następujące polecenie:
echo QUIT | openssl s_client -connect localhost:8080
- Zostaną wyświetlone dane wyjściowe podobne do poniższych, gdzie <twojstan>, <twojemiasto> i <twoja firma> to stan, miasto i nazwa organizacji:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com