Sikre Apache med Lets Encrypt SSL-sertifikat på CentOS 8


Å sikre nettserveren din er alltid en av nøkkelfaktorene du bør vurdere før du går live med nettstedet ditt. Et sikkerhetssertifikat er avgjørende for å sikre trafikk som sendes fra nettlesere til nettservere, og ved å gjøre det vil det inspirere brukere til å utveksle data med nettstedet ditt i full visshet om at trafikken som sendes er sikret.

I de fleste tilfeller betales og fornyes sikkerhetssertifikater årlig. La oss kryptere-sertifikatet er en gratis, åpen og automatisert sertifiseringsinstans som du kan bruke til å kryptere nettstedet ditt. Sertifikatet utløper etter hver 90 dag og fornyes automatisk helt uten kostnad.

Anbefalt lesning: Slik sikrer du Nginx med Let's Encrypt på CentOS 8

I denne artikkelen vil vi vise deg hvordan du kan installere La oss kryptere sertifikatet med Certbot for Apache-nettserveren og senere konfigurere sertifikatet for å fornye automatisk på CentOS 8.

Forutsetninger

Før du starter, sørg for at du har følgende på plass:

1. En forekomst av CentOS 8-server med Apache HTTP-nettserver installert og kjører. Du kan bekrefte at apache-webserveren din er oppe og kjører.

sudo dnf install httpd
sudo systemctl status httpd

2. Et Fullt Kvalifisert domenenavn (FQDN) som peker til nettserverens offentlige IP-adresse på DNS-nettvertsleverandøren. For denne veiledningen vil vi bruke linuxtechwhiz.info som peker til serverens IP 34.67.63.136.

Trinn 1. Installer Certbot i CentOS 8

Certbot er en klient som automatiserer installasjonen av sikkerhetssertifikatet. Den henter sertifikatet fra La oss kryptere autoritet og distribuerer det på nettserveren din uten mye problemer.

Certbot er helt gratis og vil gjøre deg i stand til å installere sertifikatet på en interaktiv måte ved å generere instruksjoner basert på nettserverens konfigurasjon.

Før du laster ned certbot, må du først installere pakker som er nødvendige for konfigurasjonen av en kryptert tilkobling.

Vi starter med å installere EPEL-depotet som gir tilleggspakker av høy kvalitet for RHEL-baserte systemer:

sudo dnf install epel-release

Deretter installerer du pakkene mod_ssl og openssl.

sudo dnf install mod_ssl openssl

Når alle avhengighetene er installert, installer Certbot og Apache-modulen for Certbot.

sudo dnf install certbot python3-certbot-apache

Kommandoen installerer Certbot, Apache-modulen for Certbot og andre avhengigheter.

Trinn 2: Opprett en Apache Virtual Host

Neste trinn vil være å lage en virtuell vertsfil for domenet vårt – linuxtechwhiz.info. Begynn med først å lage dokumentroten der du skal plassere HTML-filene dine.

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

Opprett en test index.html fil som vist.

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

Deretter oppretter du en virtuell vertsfil som vist.

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

Legg til konfigurasjonen nedenfor.

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

Lagre og lukk.

Tildel tillatelsene til dokumentroten som vist.

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

For at endringene skal tre i kraft, start Apache-tjenesten på nytt.

sudo systemctl restart httpd

Trinn 3: Installer Let's Encrypt SSL-sertifikat på CentOS 8

Kjør nå certbot som vist for å starte installasjonen av La oss kryptere sertifikatet.

sudo certbot --apache -d domain.com

I vårt tilfelle vil dette være:

sudo certbot --apache -d linuxtechwhiz.info

Kommandoen vil ta deg gjennom en rekke ledetekster slik at du kan konfigurere Lets Encrypt for domenet ditt. Sørg for å oppgi e-postadressen din, godta vilkårene for bruk og spesifiser domenenavnene du ønsker å bruke HTTPS-protokollen som er den krypterte versjonen av HTTP.

Hvis alt gikk bra, bør du få en gratulasjonsmelding på slutten som informerer deg om at nettstedet ditt er sikret med La oss kryptere sertifikatet. Sertifikatets gyldighet vil også vises – som vanligvis er etter 90 dager etter distribusjon.

Gå nå tilbake til den virtuelle vertsfilen din og legg til følgende konfigurasjonslinjer.

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

Lagre og lukk.

Den endelige Apache virtuelle vertskonfigurasjonen vil se omtrent slik ut:

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

Nok en gang, start Apache på nytt.

sudo systemctl restart httpd

Trinn 4: Bekrefte Let's Encrypt SSL-sertifikatet

For å bekrefte at alt fungerer, start nettleseren og besøk serverens IP-adresse. Du skal nå se et hengelåssymbol i begynnelsen av URL-en.

For å få flere detaljer, klikk på hengelås-symbolet og klikk på «Sertifikat»-alternativet på rullegardinmenyen som vises.

Sertifikatdetaljene vil vises i neste popup-vindu.

Du kan også teste serveren din på https://www.ssllabs.com/ssltest/ og nettstedet ditt bør få en 'A'-karakter som vist.

Trinn 5: Auto-forny La oss kryptere SSL-sertifikatet

Let's Encrypt er bare gyldig i 90 dager. Vanligvis utføres fornyelsesprosessen av certbot-pakken som legger til et fornyelsesskript til katalogen /etc/cron.d. Skriptet kjøres to ganger daglig og vil automatisk fornye ethvert sertifikat innen 30 dager etter utløp.

For å teste den automatiske fornyelsesprosessen, utfør en tørrkjøringstest med certbot.

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

Hvis det ikke ble oppdaget noen feil, betyr det at du er klar.

Dette bringer oss til slutten av denne veiledningen. I denne veiledningen demonstrerte vi hvordan du kan bruke certbot til å installere og konfigurere La oss kryptere sertifikatet på Apache-nettserver som kjører på et CentOS 8-system.