Kuinka suojata Nginx Let's Encryptillä CentOS 8:ssa


Electronic Frontier Foundationin (EFF) huhtikuussa 2016 perustama Let's Encrypt on ilmainen ja automatisoitu digitaalinen sertifikaatti, joka tarjoaa TLS-salauksen verkkosivustoille täysin veloituksetta.

Let’s Encrypt -varmenteen tavoitteena on automatisoida suojausvarmenteen validointi, luominen, allekirjoittaminen sekä automaattinen uusiminen. Tämä varmenne mahdollistaa salatut yhteydet HTTPS-protokollaa käyttäviin verkkopalvelimiin yksinkertaisesti ja vaivattomasti ilman monimutkaisia tekijöitä. Varmenne on voimassa vain 90 päivää, jonka jälkeen automaattinen uusiminen voidaan aktivoida.

Suositeltu luku: Kuinka suojata Apache Let's Encrypt SSL -varmenteen avulla CentOS 8:ssa

Tässä artikkelissa näytämme, kuinka voit asentaa Let's Encrypt -sovelluksen saadaksesi ilmaisen SSL-varmenteen Nginx-verkkopalvelimen suojaamiseksi CentOS 8:ssa ( samat ohjeet toimivat myös RHEL 8:ssa). Selitämme sinulle myös kuinka SSL-varmenne uusitaan automaattisesti.

Edellytykset

Ennen kuin jatkamme, varmista, että olet tarkistanut seuraavat asiat.

1. Täysin hyväksytty verkkotunnuksen nimi (FQDN), joka osoittaa verkkopalvelimen omaan IP-osoitteeseen. Tämä on määritettävä DNS-verkkopalveluntarjoajasi asiakasalueella. Tässä opetusohjelmassa käytämme verkkotunnusta linuxtechwhiz, joka osoittaa IP-osoitteeseen 34.70.245.117.

2. Voit myös vahvistaa tämän tekemällä eteenpäinhaun käyttämällä dig-komentoa kuvan mukaisesti.

dig linuxtechwhiz.info

3. Nginx asennettu ja käynnissä verkkopalvelimessa. Voit vahvistaa tämän kirjautumalla terminaaliin ja suorittamalla alla olevan komennon. Jos Nginxiä ei ole asennettu, seuraa artikkeliamme asentaaksesi Nginx CentOS 8:aan.

sudo systemctl status nginx

4. Voit myös vahvistaa käymällä verkkopalvelimen URL-osoitteessa verkkoselaimella.

http://server-IP-or-hostname

URL-osoitteesta näemme selvästi, että sivusto ei ole suojattu eikä siten salattu. Tämä tarkoittaa, että kaikki verkkopalvelimelle tehdyt pyynnöt voidaan siepata, sillä ne sisältävät tärkeitä ja luottamuksellisia tietoja, kuten käyttäjänimiä, salasanoja, sosiaaliturvatunnuksia ja luottokorttitietoja.

Likaantaan nyt kätemme ja asennetaan Let's Encrypt.

Vaihe 1. Asenna Certbot CentOS 8:aan

Let’s Encrypt -varmenteen asentaminen edellyttää, että certbot on asennettuna. Tämä on laajennettava asiakasohjelma, joka hakee suojausvarmenteen Let's Encrypt Authoritysta ja jonka avulla voit automatisoida varmenteen vahvistamisen ja määrityksen verkkopalvelimen käyttöä varten.

Lataa certbot curl-komennolla.

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

Siirrä seuraavaksi varmenne /usr/local/bin-hakemistoon.

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

Määritä seuraavaksi tiedoston käyttöoikeus certbot-tiedostolle kuvan mukaisesti.

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

Vaihe 2. Määritä Nginx-palvelinlohko

Palvelinlohko Nginxissä vastaa Apachen virtuaalista isäntää. Palvelinlohkojen määrittäminen mahdollistaa useiden verkkosivustojen määrittämisen yhdelle palvelimelle, mutta sen avulla certbot voi myös todistaa verkkotunnuksen omistajuuden varmentajalle – CA.

Luo palvelinlohko suorittamalla kuvassa näkyvä komento.

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

Muista korvata verkkotunnus omalla verkkotunnuksellasi. Liitä sitten alla olevat asetukset.

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

Tallenna tiedosto ja poistu tekstieditorista.

Vaihe 3: Asenna Lets Encrypt Certificate CentOS 8:aan

Käytä nyt certbot-komentoa Let’s Encrypt -suojausvarmenteen noudon ja määrityksen alustamiseen.

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

Tämä komento suorittaa ja asentaa useita Python-paketteja ja niiden riippuvuuksia kuvan mukaisesti.

Tämän jälkeen seuraa kuvan mukainen interaktiivinen kehote:

Jos kaikki meni hyvin, sinun pitäisi pystyä näkemään onnitteluviesti aivan lopussa.

Varmista, että Nginx-sivustosi on salattu, lataamalla verkkosivu uudelleen ja tarkkailemalla URL-osoitteen alussa olevaa riippulukkosymbolia. Tämä osoittaa, että sivusto on suojattu SSL/TLS-salauksella.

Saat lisätietoja suojausvarmenteesta napsauttamalla riippulukon symbolia ja valitsemalla Sertifikaatti-vaihtoehdon.

Lisätietoa suojausvarmenteesta näytetään alla olevan kuvan mukaisesti.

Lisäksi voit testata suojausvarmenteen vahvuuden siirtymällä osoitteeseen https://www.ssllabs.com/ssltest/ ja etsimällä tarkemman ja syvällisemmän analyysin suojausvarmenteen tilasta.

Vaihe 4. Let’s Encrypt -sertifikaatin uusiminen

Kuten näimme aiemmin, suojausvarmenne on voimassa vain 90 päivää ja se on uusittava ennen sen voimassaolon päättymistä.

Voit simuloida tai testata varmenteen uusimisprosessia suorittamalla komennon:

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

Johtopäätös

Tämä päättää tämän oppaan Nginxin suojaamisesta Let's Encrypt -sovelluksella CentOS 8:ssa. Let's Encrypt tarjoaa tehokkaan ja vaivattoman tavan suojata Nginx-verkkopalvelimesi, mikä muuten olisi monimutkainen tehtävä manuaalisesti.

Sivustosi pitäisi nyt olla täysin salattu. Muutama viikko ennen varmenteen viimeistä voimassaolopäivää EFF hälyttää sinua sähköpostitse varmenteen uusimisesta välttääkseen vanhentuneen varmenteen aiheuttamat keskeytykset. Siinä kaikki kaverit tälle päivälle!