Zoeken op website

Hoe u een gratis SSL-certificaat voor Nginx op Debian 10 installeert


Bij het opzetten van een website is een van de belangrijkste overwegingen waarmee u rekening moet houden de beveiliging van uw site. Een SSL-certificaat is een digitaal certificaat dat gegevens codeert die vanuit de browser van een gebruiker naar een webserver worden verzonden. Op deze manier zijn de verzonden gegevens vertrouwelijk en veilig voor hackers die pakketsniffers zoals Wireshark gebruiken om uw communicatie te onderscheppen en af te luisteren.

Op een gecodeerde site staat een hangslotsymbool in de URL-balk, gevolgd door het acroniem https, zoals weergegeven in de volgende schermafbeelding.

Een niet-versleutelde site heeft meestal de melding 'Niet veilig' in de URL-balk.

Vereisten

Voordat we beginnen, moet u ervoor zorgen dat aan de volgende vereisten is voldaan:

  1. Een actief exemplaar van Debian 10 Minimal Server.
  2. Een actief exemplaar van Nginx Web Server met Domain Setup op Debian 10.
  3. Een geregistreerde Fully Qualified Domain Name (FQDN) waarbij de A-record verwijst naar het IP-adres van de Debian 10 bij uw domeinprovider.

Voor deze tutorial hebben we linux-console.net naar het IP-adres 192.168.0.104 verwezen.

In dit artikel onderzoeken we hoe u Let's Encrypt SSL op Debian 10 kunt installeren om een Gratis SSL-certificaat voor Nginx te verkrijgen sterke> gehoste site.

Wat is Let's Encrypt SSL

Let's Encrypt SSL is een gratis certificaat van EFF (Electronic Frontier Foundation) dat 3 maanden geldig is en na afloop automatisch wordt verlengd. Het is een gemakkelijke en goedkope manier om uw site te versleutelen als uw portemonnee krap is.

Laten we, zonder veel verder oponthoud, erin duiken en Let’s Encrypt installeren op de Nginx-webserver:

Stap 1: Installeer Certbot in Debian 10

Om te beginnen moeten we Certbot installeren. Dit is software die het Let's Encrypt digitale certificaat ophaalt en dit later op een webserver implementeert. Om dit te bereiken moeten we het python3-certbot-nginx pakket installeren. Maar voordat we dit doen, moeten we eerst de systeempakketten bijwerken.

sudo apt update

De volgende stap is het installeren van de afhankelijkheden die vereist zijn voor het python3-certbot-nginx pakket.

sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

Laten we nu het python3-certbot-nginx pakket installeren.

sudo apt install python3-certbot-nginx

Stap 2. Nginx-serverblokconfiguratie verifiëren

Om ervoor te zorgen dat certbot automatisch het Laten we het SSL-certificaat versleutelen op de Nginx-webserver, moet een serverblok worden geconfigureerd. We hebben de configuratie van Nginx-serverblokken besproken in het laatste gedeelte van het vorige artikel.

Als je het goed hebt gevolgd, zou je een serverblok moeten hebben op /etc/nginx/sites-available/some_domain. In ons geval zal het Nginx-serverblok dat zijn

/etc/nginx/sites-available/linux-console.net

Zorg er bovendien voor dat de instructie server_name overeenkomt met uw domeinnaam.

server_name linux-console.net linux-console.net;

Om te bevestigen dat alle Nginx-configuraties in orde zijn, voert u het volgende uit:

sudo nginx -t

De bovenstaande output geeft aan dat alles in orde is.

Stap 3: Configureer de firewall om HTTPS-poort te openen

Als u ufw heeft geconfigureerd en ingeschakeld, zoals altijd wordt aanbevolen, moeten we het HTTPS-protocol door de firewall heen toestaan, zodat de webserver voor iedereen toegankelijk is.

sudo ufw allow 'Nginx Full'

Laad vervolgens de firewall opnieuw om de wijzigingen door te voeren.

sudo ufw reload

Om te verifiëren dat we het protocol door de firewall hebben toegelaten.

sudo ufw status

Stap 4: Let’s Encrypt SSL-certificaat voor domein implementeren

Nu alle instellingen en configuraties onder controle zijn, is het tijd om het Let’s Encrypt SSL-certificaat op de domeinsite op te halen en te implementeren.

sudo certbot --nginx -d domain-name  -d www.domain-name.com 

In ons geval zullen we dat wel doen

sudo certbot --nginx -d linux-console.net -d linux-console.net

In de eerste stap wordt u gevraagd uw e-mailadres in te voeren. Typ uw adres en druk op Enter.

Vervolgens wordt u gevraagd akkoord te gaan met de servicevoorwaarden. Typ A om door te gaan.

Certbot zal vervolgens om uw toestemming vragen om uw e-mail te gebruiken om u meldingen te sturen over de laatste ontwikkelingen in EFF. Hier kunt u ervoor kiezen om u aan of af te melden, om u aan te melden, typt u Y (Ja) en drukt u op Enter. Om deelname te weigeren, drukt u op N (Nee).

Certbot neemt vervolgens contact op met Let’s encrypt, downloadt het SSL-certificaat en implementeert het op het Nginx-serverblok dat u al hebt gemaakt.

Typ in het volgende gedeelte 2 om het gebruikelijke HTTP-verkeer om te leiden naar HTTPS.

Het certificaat wordt geïmplementeerd op uw Nginx-server en u ontvangt een felicitatiemelding om te bevestigen dat uw webserver nu is gecodeerd met Let's Encrypt SSL.

Stap 5: Controleer HTTPS op de Nginx-website

Om de wijzigingen via een webbrowser te verifiëren, vernieuwt u uw browsertabblad en let u erop dat u het hangslotsymbool ziet.

Klik op het hangslotpictogram en selecteer de optie ‘Certificaat’ om de details van het SSL-certificaat te bekijken.

Alle certificaatgegevens worden weergegeven.

U kunt de status van uw webserver verder verifiëren door de URL van uw site te testen op https://www.ssllabs.com/ssltest/. Als de webserver is gecodeerd met een SSL-certificaat, krijgt u een A-score, zoals weergegeven.

Conclusie

We zijn aan het einde van deze tutorial gekomen. In de handleiding heeft u geleerd hoe u een gratis SSL-certificaat voor Nginx op Debian 10 installeert.