Wyszukiwanie w witrynie

Jak zabezpieczyć Apache za pomocą bezpłatnego certyfikatu Let's Encrypt SSL na Ubuntu i Debianie


Masz nowo zarejestrowaną nazwę domeny, a Twój serwer internetowy działa z wystawionym przez Ciebie certyfikatem SSL z podpisem własnym, który przyprawia Twoich klientów o ból głowy podczas odwiedzania domeny z powodu błędów wygenerowanych przez certyfikat? Masz ograniczony budżet i nie stać Cię na zakup certyfikatu wydanego przez zaufany urząd certyfikacji? W tym momencie na scenę wchodzi oprogramowanie Let's Encrypt, które ratuje sytuację.

Jeśli chcesz zainstalować Let's Encrypt dla Apache lub Nginx na RHEL, CentOS, Fedora lub Ubuntu i Debian, postępuj zgodnie z poniższymi przewodnikami:

Skonfiguruj Let's Encrypt, aby zabezpieczyć Apache na RHEL i CentOS 7/6

Skonfiguruj Let’s Encrypt, aby zabezpieczyć Nginx na Ubuntu i Debianie

Let's Encrypt to urząd certyfikacji (CA), który ułatwia Ci uzyskanie bezpłatnych certyfikatów SSL/TLS potrzebnych do Twojego serwer, aby działał bezpiecznie, zapewniając użytkownikom płynne przeglądanie, bez żadnych błędów.

Testowanie przykładowego środowiska

Wszystkie kroki wymagane do wygenerowania certyfikatu są w większości zautomatyzowane w przypadku serwera WWW Apache. Jednak pomimo oprogramowania serwera WWW niektóre kroki należy wykonać ręcznie, a certyfikaty należy zainstalować ręcznie, szczególnie w przypadku, gdy zawartość Twojej witryny jest obsługiwana przez demona Nginx.

W tym samouczku dowiesz się, jak zainstalować oprogramowanie Let's Encrypt na Ubuntu lub Debian, wygenerować i uzyskać bezpłatny certyfikat dla swojej domeny oraz jak możesz ręcznie zainstalować certyfikat na serwerach Apache i Nginx.

Wymagania

  1. Publiczna zarejestrowana nazwa domeny z prawidłowymi rekordami A wskazującymi na zewnętrzny adres IP Twojego serwera. Jeśli Twój serwer znajduje się za zaporą ogniową, podejmij niezbędne kroki, aby zapewnić dostęp do serwera z Internetu z całego świata, dodając reguły przekierowania portów po stronie routera.
  2. Serwer WWW Apache zainstalowany z włączonym modułem SSL i włączonym hostingiem wirtualnym, w przypadku hostowania kilku domen lub subdomen.

Krok 1: Zainstaluj Apache i włącz moduł SSL

1. Jeśli nie masz jeszcze zainstalowanego serwera WWW Apache na swoim komputerze, wydaj następujące polecenie, aby zainstalować demona Apache.

sudo apt-get install apache2

2. Aktywacja modułu SSL dla serwera WWW Apache na Ubuntu lub Debianie jest całkiem prosta. Włącz moduł SSL i aktywuj domyślny wirtualny host SSL Apache, wydając poniższe polecenia:

sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo service apache2 restart
or
sudo systemctl restart apache2.service

Odwiedzający mogą teraz uzyskać dostęp do nazwy Twojej domeny za pośrednictwem protokołu HTTPS. Ponieważ jednak certyfikat z podpisem własnym serwera nie został wydany przez zaufany urząd certyfikacji, w ich przeglądarkach zostanie wyświetlony alert o błędzie, jak pokazano na obrazku poniżej.

https://yourdomain.com

Krok 2: Zainstaluj bezpłatnego klienta Let’s Encrypt

3. Aby zainstalować oprogramowanie Let's Encrypt na swoim serwerze musisz mieć zainstalowany pakiet git w swoim systemie. Wydaj następujące polecenie, aby zainstalować oprogramowanie git:

sudo apt-get -y install git

4. Następnie wybierz katalog z hierarchii systemu, do którego chcesz sklonować repozytorium git Let's Encrypt. W tym samouczku użyjemy katalogu /usr/local/ jako ścieżki instalacyjnej Let's Encrypt.

Przejdź do katalogu /usr/local i zainstaluj klienta letsencrypt, wydając następujące polecenia:

cd /usr/local
sudo git clone https://github.com/letsencrypt/letsencrypt

Krok 4: Wygeneruj certyfikat SSL dla Apache

5. Proces uzyskania Certyfikatu SSL dla Apache jest zautomatyzowany dzięki wtyczce Apache. Wygeneruj certyfikat, wydając następujące polecenie w odniesieniu do nazwy swojej domeny. Podaj nazwę swojej domeny jako parametr flagi -d.

cd /usr/local/letsencrypt
sudo ./letsencrypt-auto --apache -d your_domain.tld

Na przykład, jeśli potrzebujesz certyfikatu do działania na wielu domenach lub subdomenach, dodaj je wszystkie, używając flagi -d dla każdego dodatkowego prawidłowego rekordu DNS po podstawowej nazwie domeny.

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld 

6. Zaakceptuj licencję, wprowadź adres e-mail do odzyskania i wybierz, czy klienci mogą przeglądać Twoją domenę przy użyciu obu protokołów HTTP (bezpiecznego i niezabezpieczonego), czy też przekierowywać wszystkie niezabezpieczone żądania do HTTPS.

7. Po pomyślnym zakończeniu procesu instalacji na konsoli wyświetli się komunikat z gratulacjami, informujący o dacie wygaśnięcia i możliwości przetestowania konfiguracji, jak pokazano na poniższych zrzutach ekranu.

Teraz powinieneś być w stanie znaleźć pliki certyfikatów w katalogu /etc/letsencrypt/live z prostą listą katalogów.

sudo ls /etc/letsencrypt/live

8. Na koniec, aby zweryfikować status swojego certyfikatu SSL, kliknij poniższy link. Zmień odpowiednio nazwę domeny.

https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest

Ponadto odwiedzający mogą teraz uzyskać dostęp do nazwy Twojej domeny za pomocą protokołu HTTPS bez pojawiania się jakichkolwiek błędów w ich przeglądarkach internetowych.

Krok 4: Automatyczne odnawianie umożliwia szyfrowanie certyfikatów

9. Domyślnie certyfikaty wystawione przez urząd Let's Encrypt są ważne przez 90 dni. Aby odnowić certyfikat przed datą wygaśnięcia, należy ręcznie uruchomić klienta ponownie, używając dokładnie tych samych flag i parametrów, co wcześniej.

sudo ./letsencrypt-auto --apache -d your_domain.tld

Lub w przypadku wielu subdomen:

sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld

10. Proces odnawiania certyfikatu można zautomatyzować tak, aby przebiegał w czasie krótszym niż 30 dni przed datą wygaśnięcia, używając demona harmonogramu cron systemu Linux.

sudo crontab -e

Dodaj następujące polecenie na końcu pliku crontab, używając tylko jednego wiersza:

0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1

11. Szczegóły dotyczące pliku konfiguracyjnego domeny odnowienia dla oprogramowania Let’s Encrypt można znaleźć w katalogu /etc/letsencrypt/renewal/.

cat /etc/letsencrypt/renewal/caeszar.tk.conf

Powinieneś także sprawdzić plik /etc/letsencrypt/options-ssl-apache.conf, aby wyświetlić nowy plik konfiguracyjny SSL dla serwera Apache.

12. Ponadto wtyczka Let’s Encrypt Apache modyfikuje niektóre pliki w konfiguracji serwera WWW. Aby sprawdzić jakie pliki zostały zmodyfikowane, wyświetl zawartość katalogu /etc/apache2/sites-enabled.

ls /etc/apache2/sites-enabled/
sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

To wszystko na teraz! W kolejnej serii tutoriali omówimy, jak uzyskać i zainstalować certyfikat Let's Encrypt dla serwera WWW Nginx na Ubuntu i Debianie< i na CentOS.