Sun Web Server 6.1 + SSL Użycie certyfikatów niekwalifikowanych w oprogramowaniu Sun Web Server wersja 1.1
Spis treści 1. CERTYFIKATY DLA ADRESÓW JEDNOZNACZNYCH... 3 1.1. GENEROWANIE WNIOSKU O CERTYFIKAT (CSR)... 3 1.2. TWORZENIE CERTYFIKATU NA PODSTAWIE UTWORZONEGO ŻĄDANIA (CSR)... 6 1.3. POBIERANIE CERTYFIKATU CERTUM CA I CERTYFIKATÓW POŚREDNICH... 7 1.4. INSTALOWANIE CERTYFIKATU CERTUM CA I CERTYFIKATÓW POŚREDNICH... 8 1.5. POBIERANIE I INSTALOWANIE CERTYFIKATU SERWERA...11 2. TWORZENIE CERTYFIKATU DLA ADRESÓW WIELOZNACZNYCH...15 3. KONFIGUROWANIE SERWERA DO OBSŁUGI WITRYN WIRTUALNYCH...15 4. KONFIGUROWANIE SERWERA DO POŁĄCZEŃ HTTPS...16 5. UWIERZYTELNIANIE KLIENTA DO SERWERA PRZY UŻYCIU CERTYFIKATU...18 6. IMPORT/EKSPORT KLUCZY I CERTYFIKATÓW...20 6.1. EKSPORT...20 6.2. IMPORT...20
1. Certyfikaty dla adresów jednoznacznych 1.1. Generowanie wniosku o certyfikat (CSR) W celu utworzenia wniosku o certyfikat (CSR) należy uruchomić serwer. Zarządzanie konfiguracją serwera poprzez przeglądarkę internetową możliwe jest po wybraniu opcji Adminster Web Server z grupy programowej aplikacji Na żądanie należy podać hasło dostępu do interfejsu serwera: Z zakładki Servers lewego menu należy wybrać opcję Manage Servers, po czym ze środkowego okna opcję Manage: 3
Wchodzimy w zakładkę Security. W lewym menu klikamy Create Database (tworzymy bazę, która jest niezbędna do zarządzania kluczami). Wpisujemy odpowiednio silne hasło: Kontrolka JavyScript poinformuje nas o pomyślnym zainicjowaniu bazy: Następnie z lewego menu wybieramy Request a Certificate. Wypełniamy formularz. Zaznaczamy pole New certificate oraz wpisujemy hasło zabezpieczające klucz prywatny. Pole Submit to Certificate Authority via: pomijamy, gdyż samodzielnie wkleimy żądanie na stronach CERTUM: W dalszej części formularza wpisujemy dane, dotyczące naszego certyfikatu. Country (C) - dwuliterowy symbol kraju (PL). Należy użyć kodu ISO, np. poprawnym kodem Polski jest PL (duże litery), a nie pl czy RP. State / Province (ST) - nazwa województwa, np.: Zachodniopomorskie. Nie należy stosować skrótów. City or Locality (L) - nazwa miasta lub wsi, np.: Szczecin, Kozia Wolka, Warszawa. 4
Organization Name (O) - pełna nazwa swojej organizacji / firmy, np.: Moja Firma Organizational Unit (OU) - jeżeli zachodzi taka potrzeba, można wypełnić to pole, wstawiając nazwę działu np. Oddzial w Moja Firma Common Name (CN) - bardzo ważne pole! Musi się tutaj znaleźć pełna nazwa DNS (fqdn) serwera np.: www.mojserwer.pl, mojadomena.plm *.mojserwer.pl. UWAGA: Używanie znaków specjalnych % ^ $ _ lub polskich znaków diakrytycznych: ŻźćąŁ przy podawaniu tych informacji spowoduje nieprawidłowe wygenerowanie certyfikatu!!! Następnie zostaną nam przedstawione dane, umieszczone w formularzu oraz żądanie CSR (należy je skopiować do pliku): UWAGA: W celu wklejania certyfikatu do pliku należy skopiować fragment tekstu od linii "--BEGIN CERTIFICATE --" do "--END CERTIFICATE--", używając do tego celu edytora tekstowego np. Notepad i myszki. Nie należy używać do tej operacji Worda, czy innego procesora tekstowego! 5
1.2. Tworzenie certyfikatu na podstawie utworzonego żądania (CSR) Mając wygenerowane rządanie wypełniamy formularz zgłoszeniowy i wklejamy CSR na stronie CERTUM (www.certum.pl -> Oferta -> Certyfikaty niekwalifikowane -> Zabezpieczanie serwerów -> Serwery WWW -> wybieramy, który certyfikat chcemy kupić i na dole strony wybieramy Kup certyfikat). UWAGA: W celu wklejania certyfikatu na stronie należy skopiować fragment tekstu od linii "--BEGIN CERTIFICATE --" do "--END CERTIFICATE--" (razem z tymi liniami!!!), używając do tego celu edytora tekstowego. Upewniamy się, że w polu E-mail jest wpisany poprawny adres (na ten adres zostaną wysłane dalsze instrukcje), oraz, że zaznaczyliśmy pole Potwierdzam Oświadczenie i klikamy Dalej. Pojawi się strona, na której możemy się upewnić, że nasze żądanie CSR zostało wygenerowane na prawidłowe dane. UWAGA: Należy się upewnić, że w polu podmiot jest wpisana poprawna nazwa naszej strony (jesli kupujemy certyfikat na domenę www.mojastrona.com upewnijmy się, że ta nazwa widnieje w tym polu)!!! 6
Upewniwszy się co do poprawności wprowadzonych danych klikamy Dalej: Pojawi się strona z informacją o wymaganych dokumentach niezbędnych do zakończenia procesu uzyskania certyfikatu. 1.3. Pobieranie certyfikatu Certum CA i certyfikatów pośrednich Aby pobrać certyfikat Certum CA lub certyfikaty pośrednie należy wejść na stronę www.certum.pl do działu Obsługa certyfikatów Zaświadczenia i klucze. Po wybraniu certyfikatu należy wybrać opcję Certyfikat dla serwerów WWW. Wyświetli się interesujący nas certyfikat, który zaznaczymy myszką, wkleimy do pliku i zapiszemy. UWAGA: W celu wklejania do pliku certyfikatu prezentowanego na stronie należy skopiować fragment tekstu od linii "--BEGIN CERTIFICATE --" do "--END CERTIFICATE--", używając do tego celu edytora tekstowego np. Notepad i myszki. Nie należy używać do tej operacji Worda, czy innego procesora tekstowego! W przypadku pobierania certyfikatów pośrednich, wybieramy interesujący nas certyfikat, np. CERTUM Level IV z listy (Certyfikaty Level IV należy pobrać w przypadku gdy posiadamy certyfikat typu Trusted, certyfikat poziomu III należy pobrać w sytuacji, gdy posiadamy certyfikat typu Enterprise / Wildcard, certyfikat poziomu II należy pobrać w sytuacji, gdy posiadamy certyfikat typu Commercial; dla certyfikatów typu Private pobierany jest certyfikat klasy I). Pozostała część procesu (zapisanie do pliku) przebiega jak dla certyfikatu Certum CA. 7
1.4. Instalowanie certyfikatu Certum CA i certyfikatów pośrednich Aby zainstalować certyfikat Certum CA i certyfikat pośredni należy w trybie Server Manager wejść w zakładkę Security i z lewego menu wybrać Install Certificate: Zaznaczamy, iż instalowany certyfikat będzie naszym zaufanym Centrum Certyfikacji: W pole Certificate Name wpisujemy Certum CA, a w Message text wklejamy certyfikat Certum CA (pobrany ze strony) wraz z nagłówkami: 8
Wyświetlone zostaną zawartości pól certyfikatu. Klikamy Add Server Certificate: Kontrolka poinformuje nas, o pomyślnym zainstalowaniu certyfikatu Certum CA: Aby zainstalować certyfikaty pośrednie CERTUM należy w trybie Server Manager wejść w zakładkę Security i z lewego menu wybrać Install Certificate: 9
Zaznaczamy opcję Server Certificate Chain (ceryfikat pośredni) : W pole Certificate Name wpisujemy właściwą nazwę certyfikatu pośredniego, np.:certum Level III lub Certum Level IV a w pole Message text wklejamy właściwy certyfikat pośredni (pobrany ze strony) wraz z nagłówkami: Wyświetlone zostaną zawartości pól certyfikatu. Klikamy Add Server Certificate: Poprawna instalacja wymaga ponownego uruchomienia serwera. 10
Po ponownym uruchomieniu zostaniemy poinformowani o pomyślnej instalacji certyfikatów Certum W zakładce Security -> Manage Certificate możemy zwreryfikować poprawność operacji Serwer należy poinformować o zaufaniu przyznanemu certyfikatom CERTUM. Klikamy na interesujący nas certyfikat pośredni (np. Certum Level III) i zmieniamy dwa pola: Set client trust i Set server trust. Po wyjściu Quit, restartujemy serwer poleceniem Aply: Ponowna weryfikacja potwierdza przyznanie zaufania. 1.5. Pobieranie i instalowanie certyfikatu serwera Po wykonaniu powyższej procedury z poprzedniego punktu otrzymamy stosownego e-maila z adresem strony oraz numerem ID umożliwiającym aktywację certyfikatu (umieszczenie certyfikatu w naszym repozytorium dostępnym na stronach www): 11
Wchodzimy na stronę, wklejamy ID i aktywujemy certyfikat klikając Dalej: Pojawi się okno ze szczegółami naszego certyfikatu: Kopiujemy numer naszego certyfikatu, wchodzimy na stronę https://www.certum.pl/services/search.html i w polu Nr seryjny: wpisujemy numer naszego certyfikatu: Pojawi się strona, z której będziemy mogli ściągnąć nasz certyfikat w formie binarnej lub tekstowej. Klikamy w Zapisz tekstowo: 12
Aby zainstalować certyfikat na serwerze należy wejść w tryb Server Manager w zakładkę Security i z lewego menu wybrać Install Certificate: Zaznaczamy opcję This Server i wpisujemy hasło chroniące klucz prywatny: Wpisujemy nazwę certyfikatu w pole Certificate Name (choć nie jest to obowiązkowe pole) oraz wklejamy certyfikat naszego serwera uzyskany z procesu certyfikacji: UWAGA: W celu wklejania certyfikatu należy skopiować fragment tekstu od linii "--BEGIN CERTIFICATE --" do "--END CERTIFICATE--", używając do tego celu edytora tekstowego np. Notepad i myszki. Nie należy używać do tej operacji Worda, czy innego procesora tekstowego! 13
Wyświetlone zostaną dane związane z certyfikatem serwera: Wymagane jest ponowne uruchomienie serwera: Po ponownym uruchomieniu zostaniemy poinformowani o pomyślnej instalacji certyfikatów Certum: W zakładce Security -> Manage Certificate możemy zweryfikować poprawność operacji: 14
2. Tworzenie certyfikatu dla adresów wieloznacznych W przypadku tworzenia certyfikatów dla adresów wieloznacznych (np. *.mojafirma.pl), należy wykonać procedurę analogiczną jak opisana powyżej (dla adresów jednoznacznych). Należy jednakże pamiętać, aby przy wypełnianiu danych formularza wpisać odpowiednią nazwę serwera. 3. Konfigurowanie serwera do obsługi witryn wirtualnych Aby skonfigurować serwer do obsługi wielu witryn wirtualnych (obsługiwanych przez jeden certyfikat wieloznaczny) należy wejść w tryb Server Manager zakładkę Virtual Server Class i z lewego menu wybrać Manage Classes. Teraz klikamy w Manage: Wchodzimy w zakładkę Virtual Servers, a z lewego menu wybieramy Add Virtual Server. Wprowadzamy nazwę naszego wirtualnego serwera, adres i zaznaczamy na jakich portach będzie czuwał demon (chodzi nam o wirtualne serwery w osłonie SSL) : Sun Web Server 6.1 + SSL Tworzenie certyfikatu dla adresów wieloznacznych 15
W celu wprowadzenia szczegółowych ustawień dla poszczególnych witryn, klikamyh Manage Virtual Servers: Klikamy na wirtualny serwer i wprowadzamy zmiany: Po tym wszystkim restartujemy serwer (klikając na Apply w prawym górnym rogu). 4. Konfigurowanie serwera do połączeń https W celu skonfigurowania serwera do połączeń https wchodzimy w tryb Server Manager -> Preferences i z lewego menu wybieramy Add Listen Socket. Uzupełniamy dwa pola: Port wpisujemy port, na którym nasłuchiwać ma demon (standardowo 443) Security zaznaczamy Enabled Klikamy OK: Sun Web Server 6.1 + SSL Konfigurowanie serwera do połączeń https 16
Zostaniemy poinformowani o pomyślnym utworzeniu gniazda: W lewym górnym rogu klikamy Apply, aby zrestartować serwer...:...i zatwierdzamy klikając na Apply Changes: Wpisujemy hasło, zabezpieczające bazę: Kontrolka JavyScript poinformuje nas o pomyślnym wykonaniu operacji: Sun Web Server 6.1 + SSL Konfigurowanie serwera do połączeń https 17
Aby sprawdzić efekt naszych działań w lewym menu klikamy na Edit Listen Sockets. Zobaczymy tam nasze gniazdo, nasłuchujące na bezpiecznym, 443 porcie: 5. Uwierzytelnianie klienta do serwera przy użyciu certyfikatu Aby wymusić na kliencie 'przedstawianie się' certyfikatem, należy wejść w trybie Server Manager w zakładkę Preferences i z lewego menu wybrać Edit Listen Socket. Wybieramy gniazdo, dla którego będziemy wprowadzali zmiany: W sekcji Security zmieniamy pole przy Client Authentication z Optional na Required: Sun Web Server 6.1 + SSL Uwierzytelnianie klienta do serwera przy użyciu certyfikatu 18
Teraz, aby ograniczyć dostęp do naszej witryny, wchodzimy w zakładkę Security, z której wybieramy Manage Certificates: Przykładowo, aby zablokować dostęp do serwera klientom, którzy legitymują się certyfikatami Certum Level I należy kliknąć: Po czym Unset client trust: Klikamy Quit i restartujemy serwer poleceniem Apply. Od teraz każdy klient legitymujący się certyfikatem poziomu pierwszego wydanym przez Certum, nie zostanie upoważniony do dostępu do serwera. Jest to oczywiście wierzchołek góry lodowej. Jeśli mamy na celu dokładniejszą 'kontrolę' certyfikatów klientów, należałoby zintegrować serwer z LDAP'em. Więcej informacji na: http://docs.jcu.edu.au/sws6.1/manual/https/ag/agcert.html Sun Web Server 6.1 + SSL Uwierzytelnianie klienta do serwera przy użyciu certyfikatu 19
6. Import/Eksport kluczy i certyfikatów Aby wyeksportować/zaimportować klucze, należy do zmiennej systemowej PATH dodać dwa pola: - server_root/bin/https/admin/bin - LD_LIBRARY_PATH server_root/bin/https/bin Narzędzie pk12util pozwoli nam na wyeksportowanie/zaimportowanie kluczy. 6.1. Eksport Uruchamiamy linię poleceń i wpisujemy: gdzie: pk12util -o export.p12 -n Server-Cert -d c:\sun\webserver6.1\alias -P https-operator-4-325-operator-4-325- export.p12 nazwa paczki, do której wyeksportowany zostanie klucz prywatny wraz z certyfikatem Sever-Cert nazwa certyfikatu c:\sun\... - ścieżka dostępu do plików z kluczami https-operator-4-325-operator-4-325 - prefiks plików bazodanowych z kluczami Po podaniu haseł (chroniącego klucz prywatny i nowego dla paczki p12)...:... nasza paczka zostanie pomyślnie wyeksportowana. 6.2. Import Uruchamiamy linię poleceń i wpisujemy: pk12util -o export.p12 -n Server-Cert -d c:\sun\webserver6.1\alias gdzie: export.p12 nazwa paczki którą importujemy -n Server-Cert nazwa certyfikatu - c:\sun\... - ścieżka, gdzie pliki z kluczami zostaną 'wypakowane' Po podaniu haseł (dla 'wypakowanych' kluczy oraz paczki *.p12)...: Sun Web Server 6.1 + SSL Import/Eksport kluczy i certyfikatów 20
... nasza paczka zostanie pomyślnie zaimportowana. Po więcej informacji na ten temat kliknij: http://docs.sun.com/source/816-5691-10/esecurty.htm Sun Web Server 6.1 + SSL Import/Eksport kluczy i certyfikatów 21