Hvordan sikre Nginx med Let's Encrypt på CentOS 8


Let's Encrypt ble grunnlagt i april 2016 av Electronic Frontier Foundation (EFF), og er et gratis og automatisert digitalt sertifikat som gir TLS-kryptering for nettsteder helt uten kostnad i det hele tatt.

Målet med La oss kryptere-sertifikatet er å automatisere validering, opprettelse, signering og automatisk fornyelse av sikkerhetssertifikatet. Dette sertifikatet muliggjør krypterte tilkoblinger til nettservere som bruker HTTPS-protokollen på en enkel, problemfri måte uten noe kompleksitet. Sertifikatet er gyldig i bare 90 dager hvorpå automatisk fornyelse kan aktiveres.

Anbefalt lesning: Hvordan sikre Apache med Let's Encrypt SSL-sertifikat på CentOS 8

I denne artikkelen vil vi demonstrere hvordan du kan installere La oss kryptere for å få et gratis SSL-sertifikat for å sikre Nginx-nettserveren på CentOS 8 ( samme instruksjoner fungerer også på RHEL 8). Vi vil også forklare deg hvordan du fornyer SSL-sertifikatet automatisk.

Forutsetninger

Før vi fortsetter for å sikre at du har følgende i sjakk.

1. Et Fullt Kvalifisert domenenavn (FQDN) som peker til en dedikert IP-adresse til webserveren. Dette må konfigureres i klientområdet til din DNS-nettvertsleverandør. For denne opplæringen bruker vi domenenavnet linuxtechwhiz som peker til IP-adressen 34.70.245.117.

2. Du kan også bekrefte dette ved å utføre et foroveroppslag ved å bruke gravekommandoen som vist.

dig linuxtechwhiz.info

3. Nginx installert og kjører på webserveren. Du kan bekrefte dette ved å logge på terminalen og kjøre kommandoen nedenfor. Hvis Nginx ikke er installert, følg artikkelen vår for å installere Nginx på CentOS 8.

sudo systemctl status nginx

4. Du kan også bekrefte ved å gå til nettserverens URL i en nettleser.

http://server-IP-or-hostname

Fra URL-en kan vi tydelig se at siden ikke er sikker, og dermed ikke kryptert. Dette innebærer at alle forespørsler til webserveren kan avskjæres, at dette inkluderer kritisk og konfidensiell informasjon som brukernavn, passord, personnummer og kredittkortinformasjon for å nevne noen.

La oss nå skitne til hendene og installere La oss kryptere.

Trinn 1. Installer Certbot i CentOS 8

For å installere Let's Encrypt-sertifikatet må du først og fremst ha certbot installert. Dette er en utvidbar klient som henter et sikkerhetssertifikat fra Let's Encrypt Authority og lar deg automatisere valideringen og konfigurasjonen av sertifikatet for bruk av webserveren.

Last ned certbot ved å bruke curl-kommandoen.

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

Deretter flytter du sertifikatet til katalogen /usr/local/bin.

sudo mv certbot-auto /usr/local/bin/certbot-auto

Deretter tildeler du filtillatelse til certbot-filen som vist.

chmod 0755 /usr/local/bin/certbot-auto

Trinn 2. Konfigurer Nginx Server Block

En serverblokk i Nginx tilsvarer en virtuell vert i Apache. Oppsett av serverblokker lar deg ikke bare sette opp flere nettsteder på én server, men lar også certbot bevise eierskap av domenet til sertifikatmyndighet – CA.

For å opprette en serverblokk, kjør kommandoen som vises.

sudo vim /etc/nginx/conf.d/www.linuxtechwhiz.info

Sørg for å erstatte domenenavnet med ditt eget domenenavn. Deretter limer du inn konfigurasjonen nedenfor.

server {
   server_name www.linuxtechwhiz.info;
   root /opt/nginx/www.linuxtechwhiz.info;

   location / {
       index index.html index.htm index.php;
   }

   access_log /var/log/nginx/www.linuxtechwhiz.info.access.log;
   error_log /var/log/nginx/www.linuxtechwhiz.info.error.log;

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}

Lagre filen og gå ut av tekstredigeringsprogrammet.

Trinn 3: Installer Lets Encrypt Certificate på CentOS 8

Bruk nå kommandoen certbot for å initialisere henting og konfigurasjon av Let's Encrypt sikkerhetssertifikat.

sudo /usr/local/bin/certbot-auto --nginx

Denne kommandoen vil kjøre og installere flere Python-pakker og deres avhengigheter som vist.

Dette vil deretter bli fulgt av en interaktiv melding som vist:

Hvis alt gikk bra, bør du kunne se en gratulasjonsmelding helt på slutten.

For å bekrefte at Nginx-nettstedet ditt er kryptert, last inn nettsiden på nytt og observer hengelåssymbolet i begynnelsen av URL-en. Dette indikerer at nettstedet er sikret med SSL/TLS-kryptering.

For å få mer informasjon om sikkerhetssertifikatet, klikk på hengelåssymbolet og velg alternativet «Sertifikat».

Mer informasjon om sikkerhetssertifikatet vil vises som vist nedenfor.

I tillegg, for å teste styrken til sikkerhetssertifikatet, gå til https://www.ssllabs.com/ssltest/ og finn en mer nøyaktig og dyptgående analyse av statusen til sikkerhetssertifikatet.

Trinn 4. Fornye Let's Encrypt-sertifikatet

Som vi så tidligere, er sikkerhetssertifikatet kun gyldig i 90 dager og må fornyes før utløpet.

Du kan simulere eller teste sertifikatfornyelsesprosessen ved å kjøre kommandoen:

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

Konklusjon

Dette avslutter denne veiledningen om å sikre Nginx med La oss kryptereCentOS 8. La oss kryptere tilbyr en effektiv og problemfri måte å sikre din Nginx-nettserver på som ellers ville vært en komplisert affære å gjøre manuelt.

Siden din skal nå være fullstendig kryptert. Noen uker til sertifikatets utløpsdato vil EFF varsle deg via e-post for å fornye sertifikatet for å unngå avbrudd som kan oppstå på grunn av et utløpt sertifikat. Det er alt gutter for i dag!