Wyszukiwanie w witrynie

Zabezpiecz Apache za pomocą certyfikatu Lets Encrypt SSL w systemie CentOS 8


Zabezpieczenie serwera internetowego jest zawsze jednym z kluczowych czynników, które należy wziąć pod uwagę przed uruchomieniem witryny. Certyfikat bezpieczeństwa ma kluczowe znaczenie dla zabezpieczenia ruchu przesyłanego z przeglądarek internetowych do serwerów internetowych, dzięki czemu zainspiruje użytkowników do wymiany danych z Twoją witryną, mając pełną świadomość, że wysyłany ruch jest zabezpieczony.

W większości przypadków certyfikaty bezpieczeństwa są opłacane i odnawiane co roku. Certyfikat Let's Encrypt to bezpłatny, otwarty i zautomatyzowany urząd certyfikacji, którego możesz użyć do szyfrowania swojej witryny. Certyfikat wygasa po każdych 90 dniach i odnawia się automatycznie bez żadnych kosztów.

Zalecana lektura: Jak zabezpieczyć Nginx za pomocą Let’s Encrypt na CentOS 8

W tym artykule pokażemy, jak zainstalować Let's Encrypt Certyfikat za pomocą Certbot dla serwera WWW Apache, a później skonfigurować certyfikat aby odnowić się automatycznie w CentOS 8.

Warunki wstępne

Zanim zaczniesz, upewnij się, że masz przygotowane następujące elementy:

1. Instancja serwera CentOS 8 z zainstalowanym i uruchomionym serwerem internetowym Apache HTTP. Możesz potwierdzić, że Twój serwer WWW Apache działa i działa.

sudo dnf install httpd
sudo systemctl status httpd

2. W pełni kwalifikowana nazwa domeny (FQDN) wskazująca publiczny adres IP Twojego serwera internetowego u Twojego dostawcy usług hostingowych DNS. W tym przewodniku użyjemy linuxtechwhiz.info wskazującego adres IP serwera 34.67.63.136.

Krok 1. Zainstaluj Certbota w CentOS 8

Certbot to klient, który automatyzuje instalację certyfikatu bezpieczeństwa. Pobiera certyfikat od Zaszyfrujmy organ i bez większych problemów wdraża go na Twoim serwerze internetowym.

Certbot jest całkowicie darmowy i umożliwi Ci instalację certyfikatu w sposób interaktywny, generując instrukcje na podstawie konfiguracji Twojego serwera WWW.

Przed pobraniem certbota najpierw zainstaluj pakiety niezbędne do konfiguracji połączenia szyfrowanego.

Zaczniemy od zainstalowania repozytorium EPEL, które zapewnia wysokiej jakości dodatkowe pakiety dla systemów opartych na RHEL:

sudo dnf install epel-release

Następnie zainstaluj pakiety mod_ssl i openssl.

sudo dnf install mod_ssl openssl

Po zainstalowaniu wszystkich zależności zainstaluj Certbot i moduł Apache dla Certbota.

sudo dnf install certbot python3-certbot-apache

Polecenie instaluje Certbot, moduł Apache dla Certbot i inne zależności.

Krok 2: Utwórz wirtualnego hosta Apache

Następnym krokiem będzie utworzenie pliku wirtualnego hosta dla naszej domeny – linuxtechwhiz.info. Zacznij od utworzenia katalogu głównego dokumentu, w którym umieścisz pliki HTML.

sudo mkdir /var/www/linuxtechwhiz.info.conf

Utwórz plik testowy index.html, jak pokazano.

sudo echo “<h1>Welcome to Apache HTTP server</h1>” > /var/www/linuxtechwhiz.info/index.html

Następnie utwórz plik hosta wirtualnego, jak pokazano.

sudo vim /etc/httpd/conf.d/linuxtechwhiz.info

Załącz konfigurację poniżej.

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined
</VirtualHost>

Zapisz i wyjdź.

Przypisz uprawnienia do katalogu głównego dokumentu, jak pokazano.

sudo chown -R apache:apache /var/www/linuxtechwhiz.info

Aby zmiany zaczęły obowiązywać, uruchom ponownie usługę Apache.

sudo systemctl restart httpd

Krok 3: Zainstaluj certyfikat Let's Encrypt SSL na CentOS 8

Teraz uruchom certbot, jak pokazano, aby rozpocząć instalację certyfikatu Let's Encrypt.

sudo certbot --apache -d domain.com

W naszym przypadku będzie to:

sudo certbot --apache -d linuxtechwhiz.info

Polecenie przeprowadzi Cię przez serię monitów umożliwiających skonfigurowanie Lets Encrypt dla Twojej domeny. Pamiętaj, aby podać swój adres e-mail, zaakceptować Regulamin i określić nazwy domen, z których chcesz korzystać z protokołu HTTPS, który jest zaszyfrowaną wersją protokołu HTTP.

Jeśli wszystko poszło dobrze, na koniec powinieneś otrzymać wiadomość z gratulacjami informującą, że Twoja witryna została zabezpieczona przy użyciu certyfikatu Let's Encrypt. Wyświetlona zostanie również ważność Twojego certyfikatu – zwykle następuje to po 90 dniach od wdrożenia.

Teraz wróć do pliku hosta wirtualnego i dołącz następujące wiersze konfiguracji.

SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem

Zapisz i wyjdź.

Ostateczna konfiguracja wirtualnego hosta Apache będzie wyglądać mniej więcej tak:

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined

 SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem
</VirtualHost>

Jeszcze raz uruchom ponownie Apache.

sudo systemctl restart httpd

Krok 4: Weryfikacja certyfikatu Let’s Encrypt SSL

Aby sprawdzić, czy wszystko działa, uruchom przeglądarkę i odwiedź adres IP swojego serwera. Powinieneś teraz zobaczyć symbol kłódki na początku adresu URL.

Aby uzyskać więcej informacji, kliknij symbol kłódki i opcję „Certyfikat” w wyświetlonym menu rozwijanym.

Szczegóły certyfikatu zostaną wyświetlone w następnym wyskakującym oknie.

Możesz także przetestować swój serwer na https://www.ssllabs.com/ssltest/, a Twoja witryna powinna uzyskać ocenę „A”, jak pokazano.

Krok 5: Automatyczne odnawianie certyfikatu Let's Encrypt SSL

Let's Encrypt jest ważny tylko przez 90 dni. Zwykle proces odnowienia przeprowadzany jest przez pakiet certbot, który dodaje skrypt odnawiający do katalogu /etc/cron.d. Skrypt uruchamia się dwa razy dziennie i automatycznie odnawia każdy certyfikat w ciągu 30 dni od jego wygaśnięcia.

Aby przetestować proces automatycznego odnawiania, przeprowadź test próbny za pomocą certbota.

sudo /usr/local/bin/certbot-auto renew --dry-run

Jeśli nie napotkano żadnych błędów, oznacza to, że wszystko jest gotowe.

W ten sposób dotarliśmy do końca tego przewodnika. W tym przewodniku pokazaliśmy, jak użyć certbota do zainstalowania i skonfigurowania certyfikatu Let's Encrypt na serwerze internetowym Apache działającym w systemie CentOS 8.