Przewodnik dla początkujących do certyfikatów SSL witryny
Podczas tworzenia aplikacji internetowej, która zajmuje się danymi osobowymi, bezpieczeństwo jest priorytetem. Dotyczy to nie tylko sklepów internetowych i koszyków na zakupy, ale także popularnych serwisów społecznościowych, takich jak Twitter i Foursquare. SSL jest bezpiecznym protokołem podobnym do HTTP, ponieważ może odbierać i przesyłać dane przez Internet.
Cała koncepcja jest wprawdzie nieco zawiła, ale nie tak trudna do zrozumienia. Jeśli jesteś webmasterem lub po prostu zainteresowany nauką certyfikatów SSL, ten przewodnik powinien być idealny dla Ciebie. Przygotowałem zestaw najbardziej mylących terminów dla początkujących. Poświęć trochę czasu na przeglądanie tutaj i czytanie innych artykułów na ten temat. Bezpieczeństwo ma zasadnicze znaczenie dla powodzenia każdej strony internetowej, a SSL jest jedynie kamieniem milowym na szerszym obrazie.
Czym jest SSL?
Protokół SSL oznacza Bezpieczne warstwy gniazd i został pierwotnie opracowany przez Netscape. Jest to proces, w którym dane przekazywane między użytkownikiem a serwerem są szyfrowane / deszyfrowane, dzięki czemu żadna zewnętrzna strona trzecia nie może przejąć połączenia.
SSL zachowuje się jak cyfrowy paszport, który weryfikuje dane uwierzytelniające zarówno użytkownika, jak i końcowego serwera WWW. Po zweryfikowaniu obu tożsamości SSL udziela bezpiecznego połączenia przez HTTPS. Ten proces jest wykonywany za pomocą certyfikaty. Przełamałem kluczowe aspekty certyfikatu SSL, który obejmuje:
- Imię właściciela
- Numer seryjny certyfikatu używany do identyfikacji
- Data wygaśnięcia certyfikatu
- Klucz publiczny certyfikatu używany do szyfrowania informacji
- Klucz prywatny certyfikatu używany do odszyfrowywania informacji (zwykle pochodzących z serwera WWW)
Nie musisz w pełni rozumieć wykorzystania wszystkich tych informacji. W niektórych przypadkach otrzymasz certyfikat z jeszcze większą ilością informacji. Jednak żaden z nich nie wpłynie bezpośrednio na użytkownika; wpływa tylko na połączenie między serwerem a komputerem zdalnym.
Konfigurowanie certyfikatu
Możesz najprawdopodobniej dowiedzieć się, jak działa protokół SSL. Jest to bardziej złożona forma przekazywania danych - jak przekazywanie wiadomości do zamkniętego sejfu. Nie trzeba zapamiętywać kluczowych elementów certyfikatu SSL ani dowiedzieć się, jak łączy się on z serwerem WWW, ale dobrze jest przynajmniej zrozumieć podstawy tego procesu przed skonfigurowaniem własnego.
Certyfikaty SSL są faktycznie kupowane od wielu wiarygodnych dostawców w sieci. Każdy certyfikat ma datę wygaśnięcia, co oznacza, że musisz go odnowić, aby zapewnić bezpieczeństwo swojej witryny (zazwyczaj jest to co roku). Wygląda to na prawdziwy ból, ale na szczęście wiele popularnych hostów internetowych, takich jak FatCow, pomoże Ci w procesie konfiguracji.
Najpierw musisz wygenerować żądanie CSR lub podpisania certyfikatu na własnym serwerze internetowym. CSR jest potrzebny, zanim będziesz mógł uzyskać certyfikat SSL. Można to zrobić samodzielnie, jeśli masz pełne uprawnienia administracyjne na serwerze WWW. Zaleca się jednak, abyś skontaktował się najpierw z hostem internetowym, ponieważ prawdopodobnie nie pozwoli Ci to zrobić sam. Nic złego w tym, że faktycznie sprawia, że twoja praca jest o wiele łatwiejsza!
Po zaszyfrowaniu CSR możesz skontaktować się z dostawcą certyfikatu. Istnieje tylko garstka zaufanych dostawców, takich jak Verisign lub Thawte. Po zakupie certyfikatu skontaktuj się ze swoim dostawcą usług hostingowych i chętnie go zainstalują.
Różne typy SSL
Najczęstszym sposobem konfiguracji certyfikatu SSL jest własny podstawowy adres IP. Jest to znane jako Dedykowany certyfikat SSL. Dotyczy tylko Twojej domeny i serwera internetowego. Nie każdy ma wystarczająco dużo pieniędzy na zakup dedykowanego planu hostingowego, ale szczęście dla nas wszystkich, są dostępne inne rozwiązania.
Ogólnie istnieją trzy różne typy certyfikatów SSL, których można użyć. Niektórzy dostawcy usług mogą oferować bezpłatny certyfikat jako ofertę próbną na czas określony, ale te certyfikaty nie są w żadnym razie bezpieczniejsze niż standardowe połączenie HTTP i szybko wygasają.
- Dedykowany SSL - Jest to najbezpieczniejsze i najdroższe rozwiązanie. Połączenie HTTPS jest weryfikowane tylko dla domeny głównej kierowanej przez wyznaczony adres IP.
- Wspólny SSL - Hosty internetowe, które oferują hosting współdzielony, czasami mają wiele nazw domen wskazujących ten sam adres IP. W tym przypadku hostowi łatwiej jest zarządzać jednym pojedynczym SSL na każdym serwerze obejmującym szereg różnych stron internetowych.
- Wildcard SSL - Mogą być podobne do dedykowanego lub współdzielonego certyfikatu SSL opartego na konfiguracji serwera. Wieloznaczne certyfikaty SSL będą kierowane do wielu subdomen dla Twojej witryny. Jest to realne rozwiązanie, jeśli podzielisz różne funkcje swojej strony internetowej, np. shop.domain.com, checkout.domain.com itp.
Jeśli dopiero zaczynasz, gorąco polecam korzystanie z udostępnionej konfiguracji SSL. Jest mało prawdopodobne, że od razu będzie można sobie pozwolić na dedykowany host internetowy / adres IP. A nawet jeśli możesz, koszty dedykowanego certyfikatu SSL są okropne. Ale to absolutnie coś, na co powinieneś się zwrócić, jeśli to możliwe.
Ponieważ jednak ten przewodnik jest skierowany do początkujących, myślę, że wspólny certyfikat jest wystarczający, aby zacząć.
Opis przejścia krok po kroku
Najlepszym sposobem na wygodne korzystanie z certyfikatów SSL jest przykład pracy. Przygotujmy mały certyfikat Comodo od Namecheap. Mają bardzo rozsądne ceny, które są idealne, aby zacząć od początkujących. A ponieważ musimy tylko przejść przez ten proces i zarysuje to, będzie to idealny materiał na ten samouczek.
Wygeneruj raport CSR
Aby rozpocząć, musimy utworzyć żądanie podpisania na zapleczu naszego serwera. Korzystam z konta hostingowego firmy HostGator, aby przetestować jedną z moich domen. Każdy host internetowy jest nieco inny, więc jeśli masz problemy, musisz skontaktować się z personelem pomocy technicznej. Ten adres URL jest używany do generowania CSR na kontach HostGator.
Zauważ, że większość tych informacji musi być dopasowana do danych internetowych Whois mojej domeny. Korzystam z aplikacji Whois Domain Tools, która udostępnia wszystkie informacje wymagane przez ten formularz. Jeśli masz zainstalowaną prywatność domeny, musisz użyć tych danych zamiast własnych, aby CSR był zgodny.
Rejestracja może potrwać do 24 godzin. Dostałem odpowiedź w ciągu 15 minut. Przejdźmy teraz do zakupu naszego certyfikatu i przygotujmy go do instalacji z prośbą o podpisanie.
Kupmy!
Plany Comodo wahają się od 9 USD / rok do prawie 100 USD. Patrzę na pakiet EssentialSSL, który kosztuje tylko 25 USD rocznie. To nie jest zły interes, biorąc pod uwagę niektóre alternatywy.
Plan ten obejmuje 15-dniową politykę zwrotu, jeśli nie jesteśmy zadowoleni z certyfikatu. Dodatkowo nasza nazwa domeny zostanie zabezpieczona dla subdomeny www i nie www. Po dodaniu tego pakietu do mojego koszyka możemy sprawdzić. Namecheap wymaga zalogowania się do istniejącego konta lub zarejestrowania nowego.
Po wprowadzeniu wszystkich danych konta pojawi się ekran płatności końcowej. Mamy możliwość płacenia środkami przechowywanymi na moim koncie, karcie kredytowej lub PayPal. Jeśli wszystko przebiegnie prawidłowo, zostajemy przekierowani do formularza potwierdzenia zamówienia (dodatkowo należy otrzymać wiadomość e-mail z tymi informacjami). Do tej pory wszystko wygląda dobrze!
Końcowa instalacja
CSR powinien pojawić się w wiadomości e-mail od twojego hosta internetowego. Klucz jest bardziej jak blok pomieszanych znaków i kluczy. To jest to, co musimy zapewnić dla weryfikacji SSL. Wracając do Namecheap, znajdźmy stronę certyfikatu SSL i kliknij “Aktywuj”.
Na tej nowej stronie musimy wybrać typ serwera i wprowadzić klucz CSR. Wybrałem Apache + OpenSSL jako domyślny wybór. Jest to typowa konfiguracja dla Apache, ale jeśli nie jesteś pewien, po prostu sprawdź z hostem wcześniej. Zwróć uwagę, że Twój serwer internetowy powinien wrócić na dłużej Klucz RSA który jest używany do uwierzytelniania prywatnego na końcu serwera. Wszystko, co musimy zrobić, to skopiować i wkleić krótszy klucz CSR w polu i przesłać.
Następnie generujemy wiadomość e-mail wysłaną do “zatwierdzający” nazwy domeny. Będzie to zawierać informacje o certyfikacie SSL i sposobie jego aktywacji na hoście. Ten ostatni formularz zgłoszenia będzie wymagał naszego tajnego klucza RSA, a także dodatkowych informacji o pakiecie SSL. To wszystko jest dostarczane z Namecheap po przekazaniu CSR.
Warto zauważyć, że na niektórych hostach internetowych może nie być możliwe używanie SSL w środowisku współdzielonym. HostGator pozwala firmom aktualizować swoje konta do podstawowego adresu IP, dzięki czemu nie będzie żadnych konfliktowych błędów z certyfikatem. Formularz instalacji SSL z HostGator jest prosty i bardzo szybko sprawdza poprawność.
Po potwierdzeniu przez gospodarza, że wszystko jest w porządku, powinniśmy być gotowi. Zrozum, że może to potrwać od kilku godzin do dnia lub dłużej. Bądź cierpliwy i sprawdzaj swój adres e-mail. Po zweryfikowaniu spróbuj uzyskać dostęp do witryny za pomocą protokołu HTTPS, a wszystkie szczegóły certyfikatu powinny znajdować się w pasku adresu. Zawsze zaczyna się walka, gdy dopiero zaczynasz, ale nie bój się poprosić o pomoc swojego dostawcy SSL lub hosta internetowego, jeśli to konieczne.
Zarządzanie bezpiecznym połączeniem
Znalazłem ten artykuł wsparcia Hostgator ogromnie pomocny w zrozumieniu procesu konfiguracji. Nawet jeśli nie jesteś klientem HostGator, najprawdopodobniej użyjesz cPanel do zarządzania dowolnym zdalnym serwerem WWW. Dotyczy to hostingu 1 i 1, Bluehost itp.
Ale najlepsze w używaniu konfiguracji SSL na hostach internetowych innych firm jest to, że nie musisz wprowadzać zmian (lub co najwyżej drobnych zmian) do swojego kodu! Po przejściu zakupu certyfikatu większość hostów internetowych będzie na tyle uprzejma, aby zainstalować je dla Ciebie. Po tym jak wszystko działa płynnie, wszystkie połączenia przez HTTP i HTTPS powinny działać identycznie.
Możesz sprawdzić, czy certyfikat jest uwierzytelniony, zaznaczając pasek adresu URL w przeglądarce internetowej. Należy zauważyć małą ikonę kłódki, która oznacza zweryfikowane połączenie SSL między komputerem a zdalnym serwerem WWW. Niektóre przeglądarki wyświetlają nawet więcej informacji o certyfikacie, jeśli klikniesz ikonę kłódki.
Przekierowania Apache .htaccess
Jeśli masz problemy z utrzymywaniem użytkowników na protokole HTTPS, możesz rozważyć użycie skryptu przekierowania. Jest to zwykle konfigurowane na serwerach Apache przy użyciu pliku .htaccess, które wiele hostów internetowych pozwala skonfigurować w cPanel.
Dodałem kilka przykładowych kodów, których możesz użyć do skonfigurowania własnego pliku .htaccess. Spowoduje to przekierowanie całego ruchu przychodzącego na https: // za pomocą subdomeny www. Możesz usunąć www, aby cały ruch był kierowany do https://twojadomena.com/ a zasady przepisywania nadal będą działać idealnie.
RewriteEngine On RewriteCond% HTTPS = off RewriteRule ^ (. *) $ Https://www.twojadomena.com/$1 [R = 301, L] RewriteCond% http_host ^ twojadomena.com [NC] RewriteRule ^ (. *) $ https://www.twojadomena.com/$1 [R = 301, L]
Odwoływanie się do plików
Najbardziej denerwującym problemem, na który natrafisz, jest odwołanie się do bezwzględnych adresów URL zamiast względnych ścieżek plików. To będzie nie wyświetl całkowicie zabezpieczone połączenie, odwołując się zamiast tego do ostrzeżenia, które istnieje “niezabezpieczone przedmioty” wyświetlane na stronie. Jeśli wywołujesz dowolny typ nośnika zewnętrznego: wideo, obraz, arkusz stylów, musi to być wykonane lokalnie. Pokazałem przykład poniżej:
Z pierwszym bitem kodu ładujesz potencjalnie niezabezpieczony dokument na bezpieczną stronę. Jest to metoda, za pomocą której inteligentni hakerzy mogą ominąć Twoje szyfrowanie. Większość przypadków przeszedłem w parse przez JavaScript lub VBScript. Ale, aby być bezpiecznym, upewnij się, że żaden z twoich zasobów nie działa bezpośrednio przez HTTP.
Jeśli z jakiegoś powodu musisz pobrać plik za pomocą bezwzględnego adresu URL, użyj HTTPS. Jeśli masz pliki hostowane na zewnętrznej stronie lub serwerze, może to powodować problemy, ponieważ nie możesz zweryfikować innego połączenia HTTPS. Staraj się, aby wszystkie media stron internetowych były skonsolidowane pod jednym adresem IP, aby w ogóle nie napotkać tych problemów!
powiązane linki
- Wyjaśnij, że mam 5 lat: Czym są certyfikaty bezpieczeństwa online, SSL, HTTPS i jak działają?
- Ewolucja autentyczności SSL [Infographic]
- Generowanie i instalowanie certyfikatów SSL krok po kroku
Wniosek
Mam nadzieję, że ten przewodnik wprowadzający dał ci wgląd w świat SSL. Bezpieczeństwo sieci to dynamicznie rozwijająca się branża, która zabezpiecza wiele prywatnych danych użytkownika. Wszystkie słynne sklepy internetowe, w tym Amazon i eBay, używają SSL od lat.
Przyznam, że SSL / HTTPS nie jest tematem, który można po prostu przestudiować. Podobnie jak w przypadku programowania, naprawdę musisz zanurkować i zabrudzić sobie ręce, konfigurując własny certyfikat. To trudne zadanie, ale daje wspaniałe poczucie spełnienia na dłuższą metę. Jeśli znasz inne przydatne przewodniki lub powiązane materiały, możesz się nimi podzielić w obszarze dyskusji.