W dawnych czasach było całkiem normalne, że strony internetowe obsługiwały treść nad tradycyjnym protokołem HTTP, ponieważ bezpieczeństwo nie było dużym problemem. Jednak obecnie ze względu na wzrost cyberprzestępczości, takich jak kradzieże identyfikacyjne, kradzieże kart kredytowych, podsługa, bardzo ważne jest, aby zabezpieczyć kanał, za pomocą którego komunikuje się z serwerem. Let's Encrypt to władza certyfikatów, który zapewnia bezpłatnie certyfikaty SSL/TLS. Wydane przez nich certyfikaty są ważne przez 3 miesiące, co oznacza 90 dni w porównaniu z rokiem lub dłużej przez władze certyfikatów klasy komercyjnej. Zapewnia jednak taką samą ochronę, jak płatne certyfikaty; Dlatego często wybiera go wielu blogerów i małych właścicieli witryn przeciwko cyberprzestępcom. Ten artykuł zamierza wykazać, jak zabezpieczyć kropelki Digitalocean za pomocą Let's Encrypt.
Wymagania
W tym przewodniku wykorzystuje Ubuntu 16.04 jako system operacyjny, na którym działa serwer WWW. Jednak te same kroki mogą być użyte dla dowolnych innych wersji Ubuntu, a także długo, jak nie ma różnicy w ustawieniach. Ten przewodnik zakłada, że użytkownik ma już zainstalowany serwer internetowy i jest nginx. Jako klient SSH, putty jest używany, a jako edytor plików jest zalecany nano.
Rozwiązanie
- Server Web utworzony w kropelkach można uzyskać za pośrednictwem protokołu SSH. Pobierz i zainstaluj putty z oficjalnej strony internetowej. Aplikacja jest całkowicie bezpłatna.
sudo apt-get instaluj putty
- Po pobraniu Putty, śmiało pobierz nano. Celem Putty jest dostęp do konsoli Linux w celu wpisania poleceń powłoki, podczas gdy Nano służy do edytowania plików wewnętrznych, takich jak domyślny plik Nginx.
sudo apt-get instaluj nano
- Uruchom putty i przejdź do zakładki Session.
- W polu nazwy hosta wpisz adres IP kropli Digitalocean, w którym instalowany jest serwer internetowy. Adres IP kropel można znaleźć w https: // chmurze.Digitalocean.com/kropelki. W polu portu, typ 22.
- Po przesłaniu wszystkich wymaganych pól, jak pokazano powyżej, naciśnij OK, aby zastosować zmiany i zalogować się do kropli. Podczas logowania do systemu zapyta nazwę użytkownika i hasła kropli. Zarówno nazwa użytkownika, jak i hasło są wysyłane do zarejestrowanego wiadomości e -mail w Digitalocean podczas tworzenia kropli.
- W niniejszym przewodniku wykorzystuje CertBot, narzędzie zewnętrznego do zautomatyzowania całego procesu pobierania i odnawiania certyfikatów cyfrowych. CertBot ma własną stronę internetową, z której można z łatwością wygenerować polecenia. Zgodnie z certyfikatem, właściwe polecenia do instalacji certbot na Ubuntu są te. Najpierw aktualizuje informacje o pakiecie w lokalnym repozytorium, a następnie instaluje wspólny pakiet właściwości oprogramowania, który zawiera kilka przydatnych skryptów w obsłudze pakietu osobistego osiągnięcia (PPA), a następnie instaluje CertBot, a następnie ponownie aktualizuje lokalne repozytorium, a następnie w końcu instaluje instalację pakiet Python certbot nginx. Upewnij się, że wszystkie te pakiety są instalowane prawidłowo przed przejściem do następnego kroku.
Aktualizacja $ sudo apt-get
$ sudo apt-get instaluj oprogramowanie-properties-common
$ sudo add-apt-repozytory PPA: certbot/certbot
Aktualizacja $ sudo apt-get
$ sudo apt-get instaluj Python-Certbot-Nginx
- Przejdź do strony internetowej, z której zakupiono domenę. Ten przewodnik wykorzystuje Porkbun jako rejestratora domeny, a następnie dodaj rekord do domeny. Typ jest rekordem, host jest pusty, jeśli adres IP jest powiązany z domeną root, w przeciwnym razie użyj nazwy subdomeny bez domeny root, na przykład, jeśli jest to nukuta.com, po prostu użyj www. Jako odpowiedź na typ IP kropki.
- W ten sam sposób przekieruj ruch www do domeny root jako następujący. Typ to „cname”, host to „www”, odpowiedź brzmi „nucuta.com ”lub twoja domena. Ten krok jest ważny, ponieważ przekierowuje cały ruch www do domeny root.
- Użyj następującego polecenia na Putty, aby uzyskać dostęp do domyślnego pliku Nginx. Domyślny plik domyślnie używa jednego bloku serwera, w którym znajduje się domena podstawowa. Nano Editor jest wysoce zalecany, ponieważ jest dość wygodny w porównaniu z innymi.
sudo nano/etc/nginx/witryny-dostępny/domyślny
- W pliku domyślnym przejdź do serwera blok i przekieruj ruch HTTP do HTTPS, a w drugim bloku serwerowym, w którym ruch jest obsługiwany, zmień na przykład nazwę Server_Name na nazwę domeny
Server_name Nucuta.com www.Nucneta.com
- Wpisz następujące polecenie, aby ponownie uruchomić serwer WWW Nginx. Ilekroć dokonano zmiany w pliku domyślnym, cały serwer Nginx musi zostać ponownie uruchomiony, aby nowe zmiany mają jakikolwiek efekt.
sudo systemCtl Reload nginx
- Domyślnie zapora blokuje cały ruch oprócz portu 80 i 22. HTTPS używa portu 443; Dlatego należy go otworzyć ręcznie, aby uzyskać dostęp do serwera WWW od strony klienta. Otwarcie portu zależy od zapory.
W CSF (konfigurowana zapora serwera)
- Otwiera plik konfiguruj CSF, wpisując następujące polecenie.
nano/etc/csf/csf.conf
- Dodaj następujące porty do TCP do i na zewnątrz.
Tcp_in = "20,21,22,25,53,80,443"
Tcp_out = "20,21,22,25,53,80,443"
- Uruchom ponownie CSF, wpisując
CSF -R
W USF (nieskomplikowana zapora)
- Wpisz następujące dwa polecenia, aby dodać HTTPS do listy wyjątków. Pakiet „Nginx Full” ma zarówno porty HTTP, jak i HTTPS; stąd dodanie pełnego pakietu umożliwia zarówno ruch, jak i na zewnątrz.
sudo ufw zezwalaj na „nginx pełny”
sudo ufw Usuń zezwolić na „nginx http”
- Wpisz następujące polecenie, aby zobaczyć status
status UFW
- Sprawdź port 443 z zewnętrznej strony internetowej, aby upewnić się, że otwiera się na pewno. Jeśli port jest otwarty, powie „443 port jest otwarty”
- Teraz użyj certbot, aby odzyskać certyfikat SSL do domeny. D parametr jest wymagany do określenia domeny. Szyfrowajmy, aby wypuszcza jeden certyfikat zarówno dla subdomeny root, jak i www. Posiadanie tylko jednej dla dowolnej wersji wystawia ostrzeżenie w przeglądarce, jeśli odwiedzający uzyska dostęp do drugiej wersji; Stąd ważne jest, aby uzyskać certyfikat dla obu wersji.
sudo certbot -Nucneta -d nucuta.com -d www.Nucneta.com
- CertBot poprosi o przekierowanie całego ruchu HTTP do HTTPS, ale nie jest to wymagane, ponieważ jest już zrobione w jednym z poprzednich kroków.
- Teraz przejdź do strony internetowej SSL Lab i sprawdź jakość lub inne problemy certyfikatu i jego konfiguracji. https: // www.ssllabs.com/sslTest/
- Jeśli obecna konfiguracja nie jest wystarczająco zabezpieczona, przejdź do generatora konfiguracji SSL Mozilla i wygeneruj ustawienia dla swojego serwera WWW. https: // mozilla.github.IO/serwer po stronie TLS/SSL-config-generator/. Ponieważ tutaj używa Nginx, upewnij się, że użyj Nginx jako serwera WWW. Oferuje trzy opcje, pośredni, stary i nowoczesny. Stara opcja sprawia, że witryna jest kompatybilna z praktycznie każdą przeglądarką, w tym super stare przeglądarki, takie jak IE 6, podczas gdy opcja pośrednia sprawia, że jest idealna dla przeciętnych użytkowników, nowoczesna opcja generuje konfigurację wymaganą dla maksymalnego bezpieczeństwa, ale jako kompromis witryna nie będzie działać Właściwie na starszych przeglądarkach. Jest to więc wysoce zalecane dla stron internetowych, na których bezpieczeństwo jest poważnym problemem.
- Przejdź do swojej witryny i kliknij prawym przyciskiem myszy ikonę blokady, a następnie opcję „certyfikat”, aby zobaczyć certyfikat.
- Jeśli pokazuje przyszłą datę po powrocie z opcji, co oznacza, że proces pozyskiwania certyfikatu został zakończony. Jednak ważne jest przekierowanie ruchu do odpowiedniej wersji domeny, na przykład ruch HTTP i WWW można przekierować domenę root HTTPS, jak pokazano w tym przewodniku. Certyfikat zostanie automatycznie odnowiony przez CERTBOT; Dlatego jest na zawsze dostępny dla właściciela witryny za darmo.