W swojej karierze webmastera najprawdopodobniej prędzej czy później będziesz pracować nad systemem, który dla bezpieczeństwa przesyłanych danych powinien korzystać z połączeń szyfrowanych (SSL). W tym artykule od A do Z pokażemy, jak zakupić własny certyfikat!
Jeszcze do niedawna kwestia połączeń szyfrowanych była realizowana bez dużych problemów i za darmo – korzystając z mechanizmu certyfikatów samodzielnie podpisanych. Wprawdzie przeglądarki wyświetlały wówczas ostrzeżenie, że certyfikat taki nie jest wiarygodny, jednak większość użytkowników intuicyjnie ignoruje tego typu komunikaty. To właśnie dzięki temu wiele stron w internecie posługiwało się certyfikatami podpisywanym samodzielnie. Nie mamy tu na myśli rzecz jasna serwisów WWW instytucji finansowych i innych poważnych firm, jednak na stronach mniejszego pokroju było to już częste zjawisko.
Niestety to samo ignorowanie certyfikatów stało się powodem, dla którego producenci przeglądarek internetowych wytoczyli działa armatnie przeciwko certyfikatom podpisywanym samodzielnie przez wystawcę. Od wersji Internet Explorer 7 oraz Firefox 3 po wejściu na stronę z niewiarygodnym certyfikatem pojawiają się komunikaty, które odstraszają użytkownika. Musi on wykonać szczególne, nieintuicyjne czynności, aby przejść dalej. Możesz być pewien, że przeciętny użytkownik internetu z takiej strony szybko ucieknie.
Nie ma więc wyjścia – aby udostępnić prawidłową stronę internetową w obrębie połączenia szyfrowanego SSL, musisz zakupić certyfikat w jednym z centrów je wystawiających. Z tego artykułu dowiesz się jak to zrobić oraz gdzie zakupów dokonasz najtaniej.
Certyfikaty – z czym to się je?
Na wstępie warto krótko zrozumieć ideę połączenia szyfrowanego SSL. Nawiązując połączenie, przeglądarka przesyła do serwera na port 443 informację o tym, że chce nawiązać połączenie szyfrowane. Transmisja zostanie nawiązana za pomocą grupy algorytmów szyfrujących (zarówno symetrycznych, jak i asymetrycznych).
Pierwszym etapem takiej transmisji jest odesłanie przez serwer swojego klucza publicznego, który posłuży później do szyfrowania transmisji. Skąd jednak przeglądarka ma wiedzieć, że otrzymany klucz należy do tego właśnie serwera, a nie do maszyny, która tylko podaje się za żądany serwer? Właśnie temu służą certyfikaty.
Certyfikat niejako gwarantuje wiarygodność otrzymanego klucza publicznego, a zatem całej transmisji. Skąd jednak pewność, że taki certyfikat nie został podrobiony? Aby go uwiarygodnić stosuje się mechanizm podpisywania certyfikatów. I tu dochodzimy do punktu wyjścia. Certyfikat można podpisać samodzielnie (wówczas jednak trzeba liczyć się z alertem zabezpieczeń w przeglądarce), bądź też wykupić certyfikat w odpowiednim miejscu w internecie.
Słowo „wykupić” stanowi tutaj jednak pewien skrót myślowy. W rzeczywistości centrum certyfikatów nie sprzedaje samego certyfikatu, a jedynie usługę polegającą na podpisaniu certyfikatu dostarczonego przez klienta. Innymi słowy generujesz certyfikat dla swojego serwera samodzielnie, a centrum certyfikacyjne zaświadcza, że jest on autentyczny, poprzez złożenie na nim swojego cyfrowego podpisu.
Warto w tym miejscu zaznaczyć, że nie na każdym hostingu można zainstalować swój własny certyfikat SSL. Przede wszystkim wymagany jest do tego osobny adres IP dla wykupionego konta, a także współpraca ze strony dostawcy usług hostingowych. Przed zakupem zapytaj swojego administratora o to, czy masz taką możliwość.
Wybieramy Godaddy
Istnieje wiele centrów certyfikacyjnych, z usług których można skorzystać. Korzystając z wyszukiwarki, na pewno znajdziesz wiele różnych możliwości, zarówno wśród firm polskich, jak i zagranicznych. Postanowiliśmy jednak artykuł ten stworzyć na bazie oferty znanego amerykańskiego serwisu Godaddy.com.
Dlaczego? Ponieważ oferta Godaddy okazała się bardzo dobra. Ich certyfikaty należą do grona najtańszych w internecie. Co jednak dodatkowo podnosi ich wartość, Godaddy nie wprowadza ograniczenia stosowania certyfikatu do określonego, pojedynczego serwera, jak robi wiele konkurencyjnych firm. Jeśli więc będziesz uruchamiać ten sam certyfikat na kilku różnych maszynach, nie będzie to dla Godaddy stanowić problemu. To duży plus.
Godaddy posiada w ofercie różnorodne wersje certyfikatów. Najprostsze i najtańsze są te, dzięki którym nastąpi jedynie proste podpisanie informacji o nazwie domeny dla danego certyfikatu (tzw. wpis Common Name). To podstawowa usługa, dzięki której transmisja szyfrowana będzie przebiegać w sposób prawidłowy.
Do certyfikatu można jednak dodawać również inne informacje, związane z nazwą i danymi adresowymi osoby lub firmy, dla której certyfikat został wystawiony. Te dodatkowe informacje zostaną uwzględnione jednak tylko w droższych wersjach usługi. Dzięki nim użytkownik zyskuje dodatkową pewność co do firmy, z serwerami której się łączy. Będzie wiedział, że nie tylko serwer z którym się łączy jest prawidłowy, ale również pozna zaświadczona przez Godaddy nazwę właściciela serwisu. Warunkiem uzyskania tej wersji certyfikatu jest bowiem przedstawienie odpowiednich dokumentów (np. wpisu do ewidencji działalności gospodarczej).
Specyficzną odmianą są certyfikaty typu „wildcard”. Zwykły certyfikat jest przewidziany dla konkretnego adresu, np. www.firma.pl. Oznazca to, że certyfikat wystawiony na ten adres nie będzie już prawidłowy dla subdomeny www.podstrona.firma.pl. Mało tego, nawet ten sam adres firma.pl, ale bez przedrostka „www” także nie będzie już działać.
Certyfikaty typu „wildcard” akceptują z kolei wszystkie subdomeny pierwszego poziomu. Oznacza się je gwiazdką, np. „*.firma.pl”. Do takiego adresu będzie pasować zarówno www.firma.pl, jak i podstrona.firma.pl. Certyfikat nie będzie jednak poprawny dla drugiego poziomu subdomeny (np. www.superoferta.firma.pl ), ani przy braku subdomeny – adres firma.pl nie będzie poprawny (bez przedrostka „www”).
Mimo wszystko „wildcard”, pozwala jednym certyfikatem obsłużyć domenę wraz z wszystkimi jej subdomenami pierwszego poziomu. W niektórych przypadkach będzie to cenna funkcjonalność pozwalająca kupić jeden certyfikat dla wszystkich subdomen, zamiast wielu osobnych. Taka wersja jest jednak droższa.
Jak zakupić certyfikat?
Aby dokonać zakupienia usługi podpisania certyfikatu w Godaddy, będziesz potrzebować karty płatniczej z możliwością płacenia przez internet lub zasilonego wcześniej konta PayPal. Szczegółowe instrukcje zamówienia znajdziesz poniżej.
{tlo_2}
1. Wejdź na stronę Godaddy.com i dodaj certyfikat do koszyka
Aby zamówić certyfikat SSL w Godaddy wejdź na stronę http://www.godaddy.com i z górnego menu wybierz opcję „SSL Certificates”. Pojawi się strona podobna do tej na ilustracji. Możesz wybrać w tym miejscu rodzaj zamawianego certyfikatu oraz zdecydować ile lat będzie wynosić okres ważności. Po wybraniu odpowiednich opcji klikasz „Add”. Jeśli posiadasz już konto na Godaddy, przed rozpoczęciem zamawiania powinieneś się zalogować.
{/tlo}
{tlo_1}
2. Zaakceptuj koszyk
W kolejnym kroku zamówienia system Godaddy będzie próbował skusić cię na zamówienie dodatkowych produktów pokrewnych lub wzięcie udziału w specjalnej promocji. Jeśli nie jesteś zainteresowany, kliknij na dole opcję „Continue”. Pojawi się ekran z podsumowaniem stanu koszyka (patrz ilustracja). Na dole dokonujesz wyboru sposobu płatności. Warianty dostępne dla przeciętnego mieszkańca naszego kraju to karta płatnicza (z możliwością płatności przez internet) lub PayPal
{/tlo}
{tlo_2}
3. Sfinalizuj zamówienie
Dalszy etap realizacji zamówienia to podanie swoich danych osobowych. Należy dokładnie wypełnić udostępniony formularz (pola bez gwiazdek można pominąć). Po akceptacji zostaniesz poproszony o podanie danych potrzebnych do dokonania płatności, na przykład danych autoryzujących twoją kartę płatniczą. Na samym końcu zobaczysz ekran potwierdzenia.
{/tlo}
{tlo_1}
4. Wykorzystaj zakupione kredyty
Zaloguj się do swojego konta w Godaddy, używając danych wybranych w procesie rejestracji. W ramach ekranu powitalnego po zalogowaniu będziesz widział oznaczony na czerwono komunikat. Informuje on, że posiadasz na swoim koncie zakupiony tzw. „kredyt” na certyfikat SSL.
Musisz go teraz wykorzystać, czyli aktywować certyfikat. Wybierz opcję „Click here to begin”. Na następnym ekranie wybierz „Use credit” oraz zaznacz który kredyt na certyfikat chcesz zrealizować (dotyczy sytuacji jeśli zakupiłeś ich większą ilość). Kliknij „Continue”.
{/tlo}
{tlo_2}
5. Tworzenie żądania podpisania certyfikatu
Z menu po lewej stronie wybierz opcję „SSL Certificates”. Pojawi się lista posiadanych certyfikatów. Wybierz „new certificate”. Zostaniesz zapytany o sposób logowania – wybierz logowanie poprzez konto Godaddy. Jeśli generujesz certyfikat po raz pierwszy, system poprosi również o akceptację regulaminu. Po wykonaniu tych czynności zobaczysz ekran taki jak na ilustracji. Z prawej strony wybierz tworzony certyfikat oraz miejsce hostowania certyfikatu – „third-party hosting provider”. Wybierz opcję „Request certificate”.
{/tlo}
{tlo_1}
6. Generowanie własnego certyfikatu
Godaddy jedynie podpisze certyfikat, który sam musisz stworzyć. Zaloguj się na kont shell swojego dostawcy hostingu lub do dowolnego innego Linuksa. Jeśli nie masz takiej możliwości, poproś o wygenerowanie certyfikatu swojego administratora.
Po zalogowaniu się z linii poleceń wykonaj następujące polecenia (będą one wymagać poprawnie zainstalowanego pakietu „openssl”):
{stala}openssl genrsa -des3 -out cert.key 1024{/stala}
Powyższe polecenie wygeneruje nowy klucz o długości 1024 bitów. Zostaniesz poproszony o podanie hasła do klucza. Nie wybieraj zbyt prostego, gdyż od niego będzie zależeć bezpieczeństwo całego certyfikatu! Hasło musisz zapamiętać, będzie potrzebne do uruchomienia certyfikatu na serwerze HTTPS, musisz więc je podać swojemu administratorowi.
{stala}openssl req -new -key cert.key -out cert.csr{/stala}
Komenda ta spowoduje wygenerowanie na podstawie stworzonego wcześniej klucza certyfikat dla swojej strony (oczywiście nie jest on jeszcze podpisany). W trakcie tworzenia zostaniesz poproszony o wstępie o podanie hasła do klucza. Następnie musisz odpowiedzieć na kilka pytań uzupełniających na temat swojej organizacji. Zostaną one zapisane w certyfikacie (ale centrum certyfikacyjne i tak może je w trakcie podpisywania usunąć). Większość z tych pól możesz pozostawić puste.
Najważniejsze jest pytanie o „Common Name”. W to miejsce musisz wpisać nazwę domeny, której dotyczy certyfikat, np.: www.firma.pl. Pamiętaj, że dla przeglądarek ten sam adres z przedrostkiem „www” i bez niego stanowi w rzeczywistości dwie różne domeny, a więc certyfikat będzie działać tylko pod jednym z nich. Wybierz więc tę wersję adresu, z której zamierzasz korzystać.
Jeśli w Godaddy wykupiłeś certyfikat typu „wildcard” (obsługujący wszystkie subdomeny), adres podaj używając gwiazdki, według wzorca: *.firma.pl .
{/tlo}
{tlo_2}
7. Wklej treść CSR
W wyniku operacji z poprzedniego kroku otrzymałeś tzw. żądanie podpisania certyfikatu. Skopiuj całą zawartość wygenerowanego pliku cert.csr do formularza w Godaddy, który pojawił się po wykonaniu czynności z kroku 5. Treść pliku CSR będzie wyglądać podobnie do tej na ilustracji. Na zakończenie wybierz opcję „Continue”. W następnym oknie potwierdź operację klikając „Confirm”.
{/tlo}
{tlo_1}
8. Przejdź weryfikację
Ostatnim elementem generowania certyfikatu jest weryfikacja. Godaddy przed podpisaniem certyfikatu sprawdza czy na pewno jesteś administratorem domeny, dla której go generujesz. Ma to zapobiegać nadużyciom. Operacja weryfikacji jest kilkustopniowa i może potrwać wiele godzin.
W pierwszej kolejności Godaddy próbuje autoryzować certyfikat poprzez wysłanie maila z prośbą o autoryzację na adres podany we whois domeny jako adres administracyjny (techniczny).
Niestety dla domen polskich operacja ta nie powiedzie się – brak takiej informacji w ogólnodostępnej bazie whois. Również dla domen globalnych zdarza się, że w pole takie jest wpisany np. adres e-mail rejestratora domeny.
W takim przypadku Godaddy zaproponuje etap alternatywny, czyli dwie opcje autoryzacji – poprzez ustanowienie odpowiednich wpisów w strefie DNS lub drugi – prostszy – poprzez wgranie określonego pliku na serwer FTP. Warto wybrać drugą opcję. Weryfikacja w ten sposób polega na wgraniu specyficznego kodu, który otrzymasz w mailu na konto FTP serwera, pod który podpięta jest domena. Otrzymany kod musi stanowić nazwę pliku, jak i jego treść. Na przykład dla kodu „0000” i domeny www.firma.pl należy wgrać plik, który po wpisaniu adresu www.firma.pl/0000.html będzie serwować zawartość „0000”. Szczegółowe informacje otrzymasz w mailu.
Jeśli na tym etapie będziesz mieć jakieś pytania, śmiało kontaktuj się z obsługą Godaddy.
{/tlo}
{tlo_2}
9. Prześlij certyfikat do administratora
Po pomyślnym przejściu procedury weryfikacji otrzymasz mailem zestaw plików, stanowiących podpisany przez centrum certyfikat twojej strony, jak również certyfikat serwera Godaddy, bez którego ten pierwszy nie będzie działać. Certyfikaty będziesz mógł również w dowolnej chwili pobrać z serwisu Godaddy po zalogowaniu się.
Komplet otrzymanych danych prześlij do swojego administratora serwera z prośbą o instalację certyfikatów, dołączając wygenerowany w kroku 6 klucz prywatny swojego serwera wraz z hasłem. To wszystko!
{/tlo}