Zaščitite Apache s certifikatom Lets Encrypt SSL na CentOS 8


Zaščita spletnega strežnika je vedno eden ključnih dejavnikov, ki ga morate upoštevati, preden začnete objavljati spletno mesto. Varnostno potrdilo je ključnega pomena za zaščito prometa, poslanega iz spletnih brskalnikov na spletne strežnike, in s tem bo navdihnilo uporabnike za izmenjavo podatkov z vašim spletnim mestom ob popolnem vedenju, da je poslani promet zavarovan.

V večini primerov se varnostna potrdila plačujejo in obnavljajo letno. Šifrirajmo potrdilo je brezplačen, odprt in avtomatiziran overitelj potrdil, s katerim lahko šifrirate svoje spletno mesto. Potrdilo poteče po vsakih 90 dneh in se samodejno podaljša brez stroškov.

Priporočeno branje: Kako zaščititi Nginx s programom Let's Encrypt na CentOS 8

V tem članku vam bomo pokazali, kako lahko namestimo šifrirajmo potrdilo s certifikatom Certbot za spletni strežnik Apache in kasneje nastavimo, da se potrdilo samodejno obnovi na CentOS 8.

Preden začnete, se prepričajte, da imate na voljo naslednje:

1. Primer strežnika CentOS 8 z nameščenim in zagnanim spletnim strežnikom Apache HTTP. Lahko potrdite, da vaš spletni strežnik apache deluje in deluje.

$ sudo dnf install httpd
$ sudo systemctl status httpd

2. Popolnoma kvalificirano ime domene (FQDN), ki kaže na javni naslov IP vašega spletnega strežnika pri vašem ponudniku spletnega gostovanja DNS. Za ta vodnik bomo uporabili linuxtechwhiz.info , ki kaže na IP strežnika 34.67.63.136 .

Korak 1. Namestite Certbot v CentOS 8

Certbot je odjemalec, ki avtomatizira namestitev varnostnega potrdila. Potrdilo pridobi iz pooblastila za šifriranje in ga brez večjih težav razporedi na vašem spletnem strežniku.

Certbot je popolnoma brezplačen in vam bo omogočil interaktivno namestitev certifikata z ustvarjanjem navodil na podlagi konfiguracije vašega spletnega strežnika.

Pred prenosom certbota najprej namestite pakete, ki so potrebni za konfiguracijo šifrirane povezave.

$ sudo dnf install mod_ssl openssl

Prenesite certbot z ukazom curl.

$ sudo curl -O https://dl.eff.org/certbot-auto

Nato datoteko certbot premaknite v imenik /usr/local/bin in dodelite dovoljenja za izvrševanje datoteke.

$ sudo mv certbot-auto /usr/local/bin
$ sudo chmod 755 /usr/local/bin/certbot-auto

2. korak: Ustvarite virtualni gostitelj Apache

Naslednji korak bo ustvariti navidezno gostiteljsko datoteko za našo domeno - linuxtechwhiz.info . Najprej ustvarite koren dokumenta, kamor boste postavili datoteke HTML.

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

Ustvarite preskusno datoteko index.html , kot je prikazano.

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

Nato ustvarite navidezno gostiteljsko datoteko, kot je prikazano.

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

Dodajte spodnjo konfiguracijo.

<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>

Shrani in izstopi.

Dodelite dovoljenja korenu dokumenta, kot je prikazano.

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

Da bodo spremembe začele veljati, znova zaženite storitev Apache.

$ sudo systemctl restart httpd

3. korak: Namestite šifrirajmo SSL potrdilo na CentOS 8

Zdaj zaženite certbot, kot je prikazano, da začnete nameščati potrdilo Let’s Encrypt.

$ sudo /usr/local/bin/certbot-auto --apache

Številni paketi Python bodo nameščeni, prikazani spodaj.

Po uspešni namestitvi paketov bo certbot zagnal interaktivno sejo ukazne vrstice, ki vas bo vodila pri namestitvi potrdila Let’s Encrypt.

Če je šlo vse v redu, na koncu dobite čestitko, v kateri vas obvestim, da je bilo vaše spletno mesto zavarovano s certifikatom Let’s Encrypt. Prikazana bo tudi veljavnost potrdila - kar je običajno po 90 dneh po uvedbi.

Zdaj se vrnite na datoteko navideznega gostitelja in dodajte naslednje vrstice konfiguracije.

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

Shrani in izstopi.

Končna konfiguracija navideznega gostitelja Apache bo videti nekako takole:

<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>

Še enkrat znova zaženite Apache.

$ sudo systemctl restart httpd

4. korak: Preverjanje SSL certifikata za šifriranje

Če želite preveriti, ali vse deluje, zaženite brskalnik in obiščite naslov IP strežnika. Zdaj bi morali na začetku URL-ja videti simbol ključavnice.

Če želite več podrobnosti, kliknite simbol ključavnice in v spustnem meniju, ki se prikaže, kliknite možnost »Potrdilo«.

Podrobnosti potrdila bodo prikazane v naslednjem pojavnem oknu.

Prav tako lahko svoj strežnik preizkusite na https://www.ssllabs.com/ssltest/ in vaše spletno mesto bi moralo dobiti oceno ‘A’ , kot je prikazano.

5. korak: Samodejno podaljšajmo šifrirajmo SSL potrdilo

Lets Encrypt velja samo 90 dni. Običajno postopek obnove izvaja paket certbot, ki doda imenik skripta za obnovitev v imenik /etc/cron.d. Skript se zažene dvakrat na dan in samodejno obnovi potrdilo v 30 dneh po izteku.

Če želite preizkusiti postopek samodejne obnove, izvedite preskus suhega teka s certbot-om.

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

Če ni prišlo do napak, potem pomeni, da ste pripravljeni.

S tem smo prišli do konca tega vodnika. V tem priročniku smo pokazali, kako lahko s certbot namestite in konfigurirate potrdilo Let’s Encrypt na spletnem strežniku Apache, ki deluje v sistemu CentOS 8.