Instalowanie bezpłatnego certyfikatu SSL na stosie LEMP za pomocą Let’s Encrypt



Wypróbuj Nasz Instrument Do Eliminowania Problemów

Let's Encrypt to wspólny projekt Linux Foundation, otwarty urząd certyfikacji, prowadzony przez Internet Security Research Group. Bezpłatnie dla każdego, kto jest właścicielem nazwy domeny, aby użyć Let’s Encrypt w celu uzyskania zaufanego certyfikatu. Możliwość zautomatyzowania procesu odnawiania, a także pracy nad ułatwieniem instalacji i konfiguracji. Pomóż chronić witryny i ulepszaj procedury zabezpieczeń TLS. Zachowaj przejrzystość, a wszystkie certyfikaty będą publicznie dostępne do wglądu. Pozwól innym używać ich protokołów wydawania i odnawiania jako otwartego standardu.



Zasadniczo Let’s Encrypt stara się sprawić, aby bezpieczeństwo nie opierało się na absurdalnych obręczach tworzonych przez duże organizacje dla zysku. (Można powiedzieć, że wierzę w open source, a to jest najlepsze w swoim rodzaju).



Istnieją dwie opcje: pobierz pakiet i zainstaluj z repozytoriów lub zainstaluj opakowanie certbot-auto (dawniej letsencrypt-auto) bezpośrednio z letsencrypt.



Do pobrania z repozytoriów

sudo apt-get install letsencrypt -y

Po zakończeniu instalacji czas zdobyć certyfikat! Używamy samodzielnej metody certonly, tworząc instancję serwera tylko w celu uzyskania certyfikatu.



sudo letsencrypt certonly –standalone –d example.com -d subdomain.example.com -d othersubdomain.example.com

ssl1

Wpisz swój adres e-mail i zaakceptuj warunki korzystania z usługi. Powinieneś teraz mieć certyfikat dla każdej wprowadzonej domeny i subdomeny. Każda domena i subdomena są kwestionowane, więc jeśli nie masz rekordu DNS wskazującego na Twój serwer, żądanie nie powiedzie się.

Jeśli chcesz przetestować proces, przed otrzymaniem rzeczywistego certyfikatu możesz dodać –test-cert jako argument po certonly. Uwaga: –test-cert instaluje nieprawidłowy certyfikat. Możesz to zrobić nieograniczoną liczbę razy, jednak jeśli używasz certyfikatów na żywo, obowiązuje limit szybkości.

ssl2

Domeny z dzikimi kartami nie są obsługiwane i nie wydaje się, że będą obsługiwane. Powodem jest to, że ponieważ proces certyfikacji jest bezpłatny, możesz poprosić o tyle, ile potrzebujesz. Ponadto na tym samym certyfikacie można mieć wiele domen i subdomen.

Przechodzę do konfiguracji NGINX, aby korzystać z naszego nowo uzyskanego certyfikatu! Jako ścieżkę do certyfikatu używam rzeczywistej ścieżki zamiast wyrażenia regularnego.

Mamy SSL, równie dobrze możemy przekierować do niego cały nasz ruch. Pierwsza sekcja serwera właśnie to robi. Ustawiłem przekierowanie całego ruchu, w tym subdomen, do domeny podstawowej.

2016-05-16_122009

Jeśli korzystasz z Chrome i nie wyłączysz wyżej wymienionych szyfrów ssl, otrzymasz err_spdy_inadequate_transport_security. Musisz także wyedytować plik konf nginx, aby wyglądał mniej więcej tak, aby obejść lukę w zabezpieczeniach programu gzip

2016-05-16_122647

ssl3

Jeśli okaże się, że otrzymujesz coś takiego, jak odmowa dostępu - musisz dokładnie sprawdzić, czy nazwa_serwera (i root) jest poprawna. Właśnie skończyłem walić głową w ścianę, aż zemdlałem. Na szczęście w moich koszmarach serwerowych pojawiła się odpowiedź - zapomniałeś ustawić katalog główny! Zakrwawiony i tłuczony włożyłem do korzenia i oto jest, mój piękny indeks.

Jeśli chcesz skonfigurować oddzielne subdomeny, możesz użyć

2016-05-16_122342

Zostaniesz poproszony o utworzenie hasła dla nazwy użytkownika (dwukrotnie).

Uruchom ponownie usługę sudo nginx

Teraz będziesz mógł uzyskać dostęp do swojej witryny z dowolnego miejsca za pomocą nazwy użytkownika i hasła lub lokalnie bez. Jeśli chcesz zawsze mieć sprawdzanie hasła, usuń zezwolenie 10.0.0.0/24; # Zmień na linię w sieci lokalnej.

Zwróć uwagę na odstępy dla auth_basic, jeśli nie są prawidłowe, pojawi się błąd.

Jeśli masz złe hasło, otrzymasz 403

ssl4

Ostatnią rzeczą, którą musimy zrobić, jest skonfigurowanie automatycznego odnawiania certyfikatów SSL.

W tym celu proste zadanie crona jest właściwym narzędziem do tego zadania, zamierzamy umieścić go jako użytkownik root, aby zapobiec błędom uprawnień

(sudo crontab -l 2> / dev / null; echo „0 0 1 * * letsencrypt renew”) | sudo crontab -

Powodem użycia / dev / null jest zapewnienie, że możesz pisać do crontab, nawet jeśli wcześniej nie istniał.

3 minuty czytania